feat: improve database playbook
This commit is contained in:
parent
7244ceb5b1
commit
74794f866a
@ -1,45 +1,34 @@
|
||||
---
|
||||
- hosts: database
|
||||
- name: Database playbook
|
||||
hosts: database
|
||||
vars:
|
||||
# certbot_force: true
|
||||
pre_tasks:
|
||||
- name: Add database member to pg_hba replication
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
postgresql_hba_entries: "{{ postgresql_hba_entries + [\
|
||||
{'type':'host', \
|
||||
'database': 'replication',\
|
||||
'user':'repli',\
|
||||
'address':hostvars[item]['ansible_'+default_interface]['ipv4']['address']+'/32',\
|
||||
'auth_method':'trust'}] }}"
|
||||
loop: "{{ groups.database }}"
|
||||
loop: '{{ groups.database }}'
|
||||
roles:
|
||||
- role: ansible-role-postgresql
|
||||
become: true
|
||||
tasks:
|
||||
- name: add pg_read_all_data to dump
|
||||
community.postgresql.postgresql_membership:
|
||||
target_roles:
|
||||
- dump
|
||||
groups:
|
||||
- pg_read_all_data
|
||||
become: true
|
||||
become_user: "{{ postgresql_user }}"
|
||||
when: inventory_hostname in groups["database_active"]
|
||||
- name: Check if inactive database is initialised
|
||||
ansible.builtin.stat:
|
||||
path: /var/lib/postgres/data/postgresql.conf
|
||||
become: true
|
||||
register: in_recovery
|
||||
- name: Launch replication
|
||||
command: pg_basebackup -D /var/lib/postgres/data -h {{groups["database_active"]|first}} -U repli -Fp -Xs -P -R -w
|
||||
ansible.builtin.command: pg_basebackup -D /var/lib/postgres/data -h {{groups["database_active"]|first}} -U repli -Fp -Xs -P -R -w
|
||||
args:
|
||||
creates: /var/lib/postgres/data/postgresql.conf
|
||||
become: true
|
||||
become_user: postgres
|
||||
when: inventory_hostname in groups["database_standby"] and not in_recovery.stat.exists
|
||||
when: inventory_hostname in groups["database_standby"]
|
||||
- name: Ensure PostgreSQL is started and enabled on boot.
|
||||
service:
|
||||
name: "{{ postgresql_daemon }}"
|
||||
state: "{{ postgresql_service_state }}"
|
||||
enabled: "{{ postgresql_service_enabled }}"
|
||||
ansible.builtin.service:
|
||||
name: '{{ postgresql_daemon }}'
|
||||
state: '{{ postgresql_service_state }}'
|
||||
enabled: '{{ postgresql_service_enabled }}'
|
||||
become: true
|
||||
- name: Install pg_vector.rs
|
||||
aur:
|
||||
|
Loading…
Reference in New Issue
Block a user