configpolicy/roles/postgres-exporter/tasks/main.yml

88 lines
1.6 KiB
YAML

- 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