]> git.apps.os.sepia.ceph.com Git - ceph-cm-ansible.git/commitdiff
paddles: Deploy postgres-exporter 723/head
authorZack Cerza <zack@redhat.com>
Wed, 1 Mar 2023 00:22:53 +0000 (17:22 -0700)
committerZack Cerza <zack@redhat.com>
Wed, 1 Mar 2023 00:45:17 +0000 (17:45 -0700)
When in containerized mode.

Signed-off-by: Zack Cerza <zack@redhat.com>
roles/paddles/tasks/main.yml
roles/paddles/tasks/setup_postgres_exporter.yml [new file with mode: 0644]

index 26189518ed8ad05914e8b66d7ba423f1427a3192..d0621b2d8d8348b05e57cb30c04f163a6a20e30f 100644 (file)
   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 (file)
index 0000000..dffd76e
--- /dev/null
@@ -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