r/postgresql-data: Manage users and databases
This role can ensure PostgreSQL users and databases are created for applications that are not themselves managed by Ansible. Notably, we need to do this for anything deployed in Kubernetes that uses the central database server.
This commit is contained in:
2
roles/postgresql-data/defaults/main.yml
Normal file
2
roles/postgresql-data/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
postgresql_users: []
|
||||
postgresql_dbs: []
|
||||
23
roles/postgresql-data/tasks/main.yml
Normal file
23
roles/postgresql-data/tasks/main.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: ensure postgresql users exist
|
||||
become: true
|
||||
become_user: postgres
|
||||
postgresql_user:
|
||||
name: '{{ item.name }}'
|
||||
password: '{{ item.password|d(omit) }}'
|
||||
state: present
|
||||
loop: '{{ postgresql_users }}'
|
||||
tags:
|
||||
- postgresql-user
|
||||
|
||||
- name: ensure postgresql databases exist
|
||||
become: true
|
||||
become_user: postgres
|
||||
postgresql_db:
|
||||
name: '{{ item.name }}'
|
||||
owner: '{{ item.owner|d(item.name) }}'
|
||||
encoding: '{{ item.encoding|d(omit) }}'
|
||||
lc_collate: '{{ item.lc_collate|d(omit) }}'
|
||||
lc_ctype: '{{ item.lc_ctype|d(omit) }}'
|
||||
loop: '{{ postgresql_dbs }}'
|
||||
tags:
|
||||
- postgresql-db
|
||||
Reference in New Issue
Block a user