2024-01-05 18:58:27 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
- name: Install needed packages
|
|
|
|
become: true
|
|
|
|
ansible.builtin.apt:
|
|
|
|
name:
|
|
|
|
- postgresql
|
|
|
|
- postfix-pgsql
|
2024-01-05 19:20:56 +01:00
|
|
|
- python3-psycopg2
|
|
|
|
- acl
|
|
|
|
|
|
|
|
- name: Create postgresql users
|
|
|
|
become: true
|
|
|
|
become_user: postgres
|
|
|
|
loop:
|
2024-01-08 10:06:48 +01:00
|
|
|
- "{{ mailserver_database_admin_user }}"
|
|
|
|
- "{{ mailserver_database_ro_user }}"
|
2024-01-05 19:20:56 +01:00
|
|
|
community.postgresql.postgresql_user:
|
|
|
|
name: "{{ item.name }}"
|
|
|
|
state: present
|
|
|
|
password: "{{ item.pwd }}"
|
|
|
|
|
|
|
|
- name: Create postgresql database
|
|
|
|
become: true
|
|
|
|
become_user: postgres
|
|
|
|
community.postgresql.postgresql_db:
|
2024-01-08 10:06:48 +01:00
|
|
|
name: "{{ mailserver_database_db }}"
|
|
|
|
owner: "{{ mailserver_database_admin_user.name }}"
|
2024-01-05 19:20:56 +01:00
|
|
|
state: present
|
|
|
|
|
2024-01-05 21:40:13 +01:00
|
|
|
- name: Upload postgresql tables script
|
|
|
|
become: true
|
|
|
|
become_user: postgres
|
|
|
|
ansible.builtin.copy:
|
|
|
|
src: tables.sql
|
|
|
|
dest: ~/mailserver_tables.sql
|
|
|
|
mode: "644"
|
|
|
|
|
|
|
|
- name: Create postgresql tables
|
|
|
|
become: true
|
|
|
|
become_user: postgres
|
|
|
|
community.postgresql.postgresql_script:
|
2024-01-08 10:06:48 +01:00
|
|
|
db: "{{ mailserver_database_db }}"
|
2024-01-05 21:40:13 +01:00
|
|
|
path: ~/mailserver_tables.sql
|
2024-01-08 10:06:48 +01:00
|
|
|
login_user: "{{ mailserver_database_admin_user.name }}"
|
|
|
|
login_password: "{{ mailserver_database_admin_user.pwd }}"
|
2024-01-05 21:40:13 +01:00
|
|
|
login_host: 127.0.0.1
|
|
|
|
|
2024-01-05 19:20:56 +01:00
|
|
|
- name: Set privileges for postgresql RO user
|
|
|
|
become: true
|
|
|
|
become_user: postgres
|
|
|
|
community.postgresql.postgresql_privs:
|
2024-01-08 10:06:48 +01:00
|
|
|
database: "{{ mailserver_database_db }}"
|
|
|
|
roles: "{{ mailserver_database_ro_user.name }}"
|
2024-01-05 19:20:56 +01:00
|
|
|
privs: select
|
|
|
|
objs: ALL_IN_SCHEMA
|
|
|
|
state: present
|