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:
|
vars:
|
||||||
# certbot_force: true
|
# certbot_force: true
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: Add database member to pg_hba replication
|
- name: Add database member to pg_hba replication
|
||||||
set_fact:
|
ansible.builtin.set_fact:
|
||||||
postgresql_hba_entries: "{{postgresql_hba_entries + [\
|
postgresql_hba_entries: "{{ postgresql_hba_entries + [\
|
||||||
{'type':'host', \
|
{'type':'host', \
|
||||||
'database': 'replication',\
|
'database': 'replication',\
|
||||||
'user':'repli',\
|
'user':'repli',\
|
||||||
'address':hostvars[item]['ansible_'+default_interface]['ipv4']['address']+'/32',\
|
'address':hostvars[item]['ansible_'+default_interface]['ipv4']['address']+'/32',\
|
||||||
'auth_method':'trust'}] }}"
|
'auth_method':'trust'}] }}"
|
||||||
loop: "{{ groups.database }}"
|
loop: '{{ groups.database }}'
|
||||||
roles:
|
roles:
|
||||||
- role: ansible-role-postgresql
|
- role: ansible-role-postgresql
|
||||||
become: true
|
become: true
|
||||||
tasks:
|
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
|
- 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: true
|
||||||
become_user: postgres
|
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.
|
- name: Ensure PostgreSQL is started and enabled on boot.
|
||||||
service:
|
ansible.builtin.service:
|
||||||
name: "{{ postgresql_daemon }}"
|
name: '{{ postgresql_daemon }}'
|
||||||
state: "{{ postgresql_service_state }}"
|
state: '{{ postgresql_service_state }}'
|
||||||
enabled: "{{ postgresql_service_enabled }}"
|
enabled: '{{ postgresql_service_enabled }}'
|
||||||
become: true
|
become: true
|
||||||
- name: Install pg_vector.rs
|
- name: Install pg_vector.rs
|
||||||
aur:
|
aur:
|
||||||
|
Loading…
Reference in New Issue
Block a user