1 - user: name=postgres append=yes groups=ssl-cert
3 - name: Creates .ssh directory
4 file: path=/var/lib/postgresql/.ssh state=directory owner=postgres group=postgres mode=0700
6 - name: Create postgres SSH key
7 command: ssh-keygen -b 4096 -f /var/lib/postgresql/.ssh/id_rsa -N "" -q
10 become_method: "{{ postgres_become_method }}"
12 creates: /var/lib/postgresql/.ssh/id_rsa
15 src: /var/lib/postgresql/.ssh/id_rsa.pub
16 register: db_server_pub_key
18 - name: Check if barman is installed on barman server
22 delegate_to: "{{ postgres_barman_server_public|default(postgres_barman_server) }}"
23 when: postgres_barman_server is defined
24 register: barman_user_exists
28 - name: Allow SSH access on barman server
31 key: "{{ db_server_pub_key['content']|b64decode }}"
33 delegate_to: "{{ postgres_barman_server_public|default(postgres_barman_server) }}"
35 - postgres_barman_server is defined
36 - barman_user_exists is succeeded
38 - name: Copy logrotate configuration for postgresql
39 template: src=logrotate-postgresql-common.j2 dest=/etc/logrotate.d/postgresql-common owner=root group=root mode=0644
41 - name: Create /root/scripts needed directory
42 file: path=/root/scripts/ state=directory
44 - name: Create pgbadger user
45 user: name=pgbadger home=/home/pgbadger
46 when: postgres_pgbadger_server is defined and postgres_pgbadger_server
48 - name: Copy pbBadger script
49 template: src=pgBadger.sh.j2 dest=/root/scripts/pgBadger.sh owner=root group=root mode=0755
50 when: postgres_pgbadger_server is defined and postgres_pgbadger_server
52 - name: Ensure dedicated log directory is owned by postgres
53 file: path={{ postgres_log_dir }} state=directory owner=postgres group=postgres
54 when: postgres_log_dir is defined and postgres_log_dir
56 - name: Ensure dedicated data directory is owned by postgres
57 file: path={{ postgres_data_dir }} state=directory owner=postgres group=postgres
58 when: postgres_data_dir is defined and postgres_data_dir