diff options
Diffstat (limited to 'roles/waiverdb/tasks/psql_setup.yml')
| -rw-r--r-- | roles/waiverdb/tasks/psql_setup.yml | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/roles/waiverdb/tasks/psql_setup.yml b/roles/waiverdb/tasks/psql_setup.yml new file mode 100644 index 000000000..9a099fe93 --- /dev/null +++ b/roles/waiverdb/tasks/psql_setup.yml @@ -0,0 +1,63 @@ +- name: install postresql (yum) + yum: state=present pkg={{ item }} + with_items: + - "postgresql-server" + - "postgresql-contrib" + - "python-psycopg2" + when: ansible_distribution_major_version|int < 22 + +- name: install postresql (dnf) + dnf: state=present pkg={{ item }} + with_items: + - "postgresql-server" + - "postgresql-contrib" + - "python-psycopg2" + when: ansible_distribution_major_version|int > 21 + +- name: See if postgreSQL is installed + stat: path=/var/lib/pgsql/initdb_postgresql.log + register: pgsql_installed + +- name: init postgresql + shell: "postgresql-setup initdb" + when: not pgsql_installed.stat.exists + +- name: copy pg_hba.conf + copy: src="pg/pg_hba.conf" dest=/var/lib/pgsql/data/pg_hba.conf owner=postgres group=postgres mode=0600 + notify: + - restart postgresql + tags: + - config + +- name: Ensure postgres has a place to backup to + file: dest=/backups state=directory owner=postgres + tags: + - config + +- name: Copy over backup scriplet + copy: src="{{ files }}/../roles/postgresql_server/files/backup-database" dest=/usr/local/bin/backup-database mode=0755 + tags: + - config + +- name: Set up some cronjobs to backup databases as configured + template: > + src="{{ files }}/../roles/postgresql_server/templates/cron-backup-database" + dest="/etc/cron.d/cron-backup-database-{{ item }}" + with_items: + - "{{ dbs_to_backup }}" + when: dbs_to_backup != [] + tags: + - config + +- name: enable Pg service + service: state=started enabled=yes name=postgresql + +- name: Create db + postgresql_db: name="waiverdb" encoding='UTF-8' + become: yes + become_user: postgres + +- name: Create db user + postgresql_user: db="waiverdb" name="wavierdb-user" role_attr_flags=SUPERUSER,NOCREATEDB,NOCREATEROLE + become: yes + become_user: postgres |
