- name: ensure required packages are installed package: name: - acl - podman - python3-psycopg2 state: present tags: - install - name: ensure postgres-exporter os group exists group: name: postgres-exporter gid: 221 system: true state: present tags: - user - group - name: ensure postgres-exporter os user exists user: name: postgres-exporter uid: 221 system: true state: present tags: - user - name: ensure postgres-exporter postgresql role exists become: true become_user: postgres postgresql_user: name: postgres-exporter state: present tags: - pguser - name: ensure postgres-exporter postgresql is in pg_monitor group become: true become_user: postgres postgresql_membership: groups: - pg_monitor target_roles: - postgres-exporter tags: - pguser - name: ensure postgres-exporter container is defined template: src: postgres-exporter.container.j2 dest: /etc/containers/systemd/postgres-exporter.container owner: root group: root mode: u=rw,go=r notify: - reload systemd - restart postgres exporter tags: - systemd - container - name: flush handlers meta: flush_handlers - name: ensure postgres exporter starts at boot service: name: postgres-exporter enabled: true tags: - service - name: ensure postgres exporter is running service: name: postgres-exporter state: started tags: - service - name: ensure firewall is configured for postgres exporter firewalld: port: 9187/tcp immediate: true permanent: true state: enabled when: host_uses_firewalld|d(true) tags: - firewalld