pvc-ansible/roles/pvc/templates/patroni/patroni.yml.j2

94 lines
3.0 KiB
Plaintext
Raw Permalink Normal View History

2023-09-01 15:42:22 -04:00
scope: pvc
2023-09-01 15:42:19 -04:00
namespace: /patroni/
2023-09-01 15:42:19 -04:00
name: {{ ansible_hostname }}
restapi:
listen: {% for node in pvc_nodes if node.hostname == this_node %}'{{ node.cluster_ip }}:8008'{% endfor %}
2023-09-01 15:42:26 -04:00
connect_address: {% for node in pvc_nodes if node.hostname == this_node %}'{{ node.cluster_ip }}:8008'{% endfor %}
2023-09-01 15:42:19 -04:00
zookeeper:
2023-09-01 15:42:26 -04:00
hosts: [ {% for node in pvc_nodes if node.is_coordinator %}"{{ node.cluster_ip }}:2181"{% if not loop.last %},{% endif %}{% endfor %} ]
2023-09-01 15:42:19 -04:00
bootstrap:
dcs:
ttl: 30
loop_wait: 10
retry_timeout: 10
maximum_lag_on_failover: 1048576
postgresql:
use_pg_rewind: true
parameters:
2023-09-01 15:42:30 -04:00
{% if debian_version|int >= 12 %}
wal_keep_size: 64
{% else %}
wal_keep_segments: 64
2023-09-01 15:42:30 -04:00
{% endif %}
max_wal_senders: 8
max_replication_slots: 8
2023-09-01 15:42:19 -04:00
initdb:
2023-09-01 15:42:30 -04:00
- encoding: UTF8
- data-checksums
2023-09-01 15:42:19 -04:00
pg_hba:
2023-09-01 15:42:30 -04:00
- local all all peer
- host replication replicator 127.0.0.1/32 trust
2023-09-01 15:42:23 -04:00
{% for node in pvc_nodes if node.is_coordinator %}
2023-09-01 15:42:30 -04:00
- host replication replicator {{ node.cluster_ip }}/32 trust
2023-09-01 15:42:19 -04:00
{% endfor %}
2023-09-01 15:42:30 -04:00
- host all all 0.0.0.0/0 md5
2023-09-01 15:42:19 -04:00
users:
admin:
password: admin
options:
- createrole
- createdb
postgresql:
listen: '0.0.0.0:5432'
connect_address: {% for node in pvc_nodes if node.hostname == this_node %}'{{ node.cluster_ip }}:5432'
2023-09-01 15:42:23 -04:00
{% endfor %}
2023-09-01 15:42:19 -04:00
log_destination: 'stderr'
log_min_messages: INFO
custom_conf: /etc/postgresql/postgresql.pvc.conf
2023-09-01 15:42:28 -04:00
bin_dir: /usr/lib/postgresql/{{ postgresql_version }}/bin
2023-09-01 15:42:19 -04:00
data_dir: /var/lib/postgresql/patroni/pvc
pgpass: /tmp/pgpass
authentication:
replication:
username: '{{ pvc_replication_database_user }}'
password: '{{ pvc_replication_database_password }}'
superuser:
username: '{{ pvc_superuser_database_user }}'
password: '{{ pvc_superuser_database_password }}'
parameters:
unix_socket_directories: '/run/postgresql'
2023-09-01 15:42:30 -04:00
{% if debian_version|int >= 12 %}
wal_keep_size: 64
{% else %}
wal_keep_segments: 64
2023-09-01 15:42:30 -04:00
{% endif %}
max_wal_senders: 8
max_replication_slots: 8
2023-09-01 15:42:30 -04:00
pg_hba:
2023-09-01 15:42:30 -04:00
- local all all trust
- host all all 127.0.0.1/32 trust
- host all all ::1/128 trust
- local replication all trust
- host replication all 127.0.0.1/32 trust
- host replication all ::1/128 trust
2023-09-01 15:42:30 -04:00
- local all all peer
- host replication replicator 127.0.0.1/32 trust
{% for node in pvc_nodes if node.is_coordinator %}
- host replication replicator {{ node.cluster_ip }}/32 trust
{% endfor %}
- host all all 0.0.0.0/0 md5
2023-09-01 15:42:19 -04:00
tags:
nofailover: false
noloadbalance: false
clonefrom: false
nosync: false