63 lines
1.5 KiB
YAML
63 lines
1.5 KiB
YAML
---
|
|
# tasks file for postgres-init
|
|
- name: Add postgres to backup group
|
|
ansible.builtin.user:
|
|
name: postgres
|
|
groups:
|
|
- backup
|
|
append: yes
|
|
|
|
- name: Create app database
|
|
community.postgresql.postgresql_db:
|
|
name: "{{ db_name }}"
|
|
state: present
|
|
become_user: postgres
|
|
|
|
#User for monitoring
|
|
- name: Create user for monitoring
|
|
community.postgresql.postgresql_user:
|
|
name: monitoring_user
|
|
password: "{{ db_password }}"
|
|
state: present
|
|
become_user: postgres
|
|
|
|
- name: Grant privileges to monitoring user
|
|
community.postgresql.postgresql_membership:
|
|
group: pg_monitor
|
|
target_role: monitoring_user
|
|
become_user: postgres
|
|
|
|
#Main user
|
|
- name: Create db user
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ db_user }}"
|
|
password: "{{ db_password }}"
|
|
state: present
|
|
become_user: postgres
|
|
|
|
- name: Grant privileges to db user
|
|
community.postgresql.postgresql_privs:
|
|
database: "{{ db_name }}"
|
|
roles: "{{ db_user }}"
|
|
privs: ALL
|
|
type: database
|
|
grant_option: yes
|
|
become_user: postgres
|
|
|
|
- name: Grant privileges on schema to db user
|
|
community.postgresql.postgresql_privs:
|
|
database: "{{ db_name }}"
|
|
roles: "{{ db_user }}"
|
|
privs: ALL
|
|
type: schema
|
|
objs: public
|
|
grant_option: yes
|
|
become_user: postgres
|
|
|
|
|
|
#postgres=# CREATE USER db_monitoring WITH PASSWORD 'db_monitoring!';
|
|
|
|
|
|
#postgres=# CREATE USER db_monitoring WITH PASSWORD 'db_monitoring!';
|
|
#postgres=# GRANT pg_monitor TO db_monitoring;
|
|
#GRANT ROLE |