summaryrefslogtreecommitdiffstats
path: root/roles/waiverdb/tasks/psql_setup.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/waiverdb/tasks/psql_setup.yml')
-rw-r--r--roles/waiverdb/tasks/psql_setup.yml63
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