Add postgresql role for ensuring postgresql is installed. Furthermore the role optionally takes some basic configuration to ensure databases with their owners and users are set up as specified. This is a requirement for a new netbox role.
28 lines
728 B
YAML
28 lines
728 B
YAML
- name: Ensure postgresql is installed
|
|
ansible.builtin.apt:
|
|
name:
|
|
- postgresql
|
|
become: true
|
|
|
|
- name: Ensure Python library for community.postgresql is installed if needed
|
|
ansible.builtin.apt:
|
|
name:
|
|
- python3-psycopg
|
|
become: true
|
|
when: postgresql__dbs != [ ] or postgresql__users != [ ]
|
|
|
|
- name: Ensure users
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ item.name }}"
|
|
password: "{{ item.password | default('') }}"
|
|
become: true
|
|
become_user: postgres
|
|
loop: "{{ postgresql__users }}"
|
|
|
|
- name: Ensure dbs with owners
|
|
community.postgresql.postgresql_db:
|
|
name: "{{ item.name }}"
|
|
owner: "{{ item.owner }}"
|
|
become: true
|
|
become_user: postgres
|
|
loop: "{{ postgresql__dbs }}"
|