ansible-infra/roles/postgresql/tasks/main.yaml
June 4def1334d8
All checks were successful
/ Ansible Lint (pull_request) Successful in 1m36s
/ Ansible Lint (push) Successful in 1m34s
for non-verbose output hide user passwords in postgresql role
2025-02-15 20:06:55 +01:00

30 lines
849 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 }}"
loop_control:
label: "user {{ item.name }} with {{ 'a password' if item.password is defined else 'no password' }}"
- name: Ensure dbs with owners
community.postgresql.postgresql_db:
name: "{{ item.name }}"
owner: "{{ item.owner }}"
become: true
become_user: postgres
loop: "{{ postgresql__dbs }}"