From: Zack Cerza Date: Wed, 1 Mar 2023 00:22:53 +0000 (-0700) Subject: paddles: Deploy postgres-exporter X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=59fb833e59487a5da158a19a06d8e5061a2efbe4;p=ceph-cm-ansible.git paddles: Deploy postgres-exporter When in containerized mode. Signed-off-by: Zack Cerza --- diff --git a/roles/paddles/tasks/main.yml b/roles/paddles/tasks/main.yml index 2618951..d0621b2 100644 --- a/roles/paddles/tasks/main.yml +++ b/roles/paddles/tasks/main.yml @@ -59,6 +59,12 @@ tags: - service +- import_tasks: setup_postgres_exporter.yml + when: paddles_containerized + tags: + - service + - prometheus + # Configure the system to run paddles as a daemon - import_tasks: setup_service.yml when: not paddles_containerized diff --git a/roles/paddles/tasks/setup_postgres_exporter.yml b/roles/paddles/tasks/setup_postgres_exporter.yml new file mode 100644 index 0000000..dffd76e --- /dev/null +++ b/roles/paddles/tasks/setup_postgres_exporter.yml @@ -0,0 +1,42 @@ +--- +- name: Add postgres user to the docker group + user: + name: "postgres" + append: yes + groups: + - docker + +- name: Create secret for the database password + become_user: "{{ paddles_user }}" + docker_secret: + name: postgres_exporter_password + data: "{{ db_pass }}" + +- name: Create docker swarm service for postgres exporter + become_user: postgres + docker_swarm_service: + name: postgres-exporter + state: present + replicas: 1 + update_config: + parallelism: 1 + delay: 10s + monitor: 10s + failure_action: rollback + rollback_config: + order: start-first + image: "quay.io/prometheuscommunity/postgres-exporter:latest" + resolve_image: true + publish: + - published_port: 9187 + target_port: 9187 + logging: + driver: journald + options: + tag: prometheus-exporter + env: + - "DATA_SOURCE_URI={{ db_host }}" + - "DATA_SOURCE_USER={{ paddles_db_user }}" + - "DATA_SOURCE_PASS_FILE=/run/secrets/postgres_exporter_password" + secrets: + - secret_name: postgres_exporter_password