From d0bc90e08c29e881c388c6803ed9c49dff1f1776 Mon Sep 17 00:00:00 2001 From: Paul B Date: Fri, 31 Aug 2018 11:49:09 +0200 Subject: Initial commit open sourcing Postgresql Ansible role --- tasks/postgres-common-postinstall.yml | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tasks/postgres-common-postinstall.yml (limited to 'tasks/postgres-common-postinstall.yml') diff --git a/tasks/postgres-common-postinstall.yml b/tasks/postgres-common-postinstall.yml new file mode 100644 index 0000000..277fafd --- /dev/null +++ b/tasks/postgres-common-postinstall.yml @@ -0,0 +1,46 @@ +- user: name=postgres append=yes groups=ssl-cert + +- name: Creates .ssh directory + file: path=/var/lib/postgresql/.ssh state=directory owner=postgres group=postgres mode=0700 + +- name: Create postgres SSH key + command: ssh-keygen -b 4096 -f /var/lib/postgresql/.ssh/id_rsa -N "" -q + become: yes + become_user: postgres + become_method: su + args: + creates: /var/lib/postgresql/.ssh/id_rsa + +- slurp: + src: /var/lib/postgresql/.ssh/id_rsa.pub + register: db_server_pub_key + +- name: Allow SSH access on barman server + authorized_key: + user: "barman" + key: "{{ db_server_pub_key['content']|b64decode }}" + state: present + delegate_to: "{{ postgres_barman_server_public|default(postgres_barman_server) }}" + when: postgres_barman_server is defined + +- name: Copy logrotate configuration for postgresql + template: src=logrotate-postgresql-common.j2 dest=/etc/logrotate.d/postgresql-common owner=root group=root mode=0644 + +- name: Create /root/scripts needed directory + file: path=/root/scripts/ state=directory + +- name: Create pgbadger user + user: name=pgbadger home=/home/pgbadger + when: postgres_pgbadger_server is defined and postgres_pgbadger_server + +- name: Copy pbBadger script + template: src=pgBadger.sh.j2 dest=/root/scripts/pgBadger.sh owner=root group=root mode=0755 + when: postgres_pgbadger_server is defined and postgres_pgbadger_server + +- name: Ensure dedicated log directory is owned by postgres + file: path={{ postgres_log_dir }} state=directory owner=postgres group=postgres + when: postgres_log_dir is defined and postgres_log_dir + +- name: Ensure dedicated data directory is owned by postgres + file: path={{ postgres_data_dir }} state=directory owner=postgres group=postgres + when: postgres_data_dir is defined and postgres_data_dir -- cgit v1.2.3