Go to file
2024-11-03 17:26:59 +03:00
inventory update vars and readme 2024-05-26 18:11:53 +03:00
vars update vars 2024-11-03 17:26:59 +03:00
.gitignore first commit 2023-08-11 13:51:51 +03:00
ansible-roles.yaml first commit 2023-08-11 13:51:51 +03:00
ansible.cfg first commit 2023-08-11 13:51:51 +03:00
patroni.yaml fix unneeded spaces 2023-09-30 21:22:06 +03:00
README.md fix readme 2024-06-16 21:55:41 +03:00
requirements.txt first commit 2023-08-11 13:51:51 +03:00
requirements.yaml cleanup role requirements 2024-05-26 18:06:54 +03:00

Deploy Patroni

Supported features

  • TLS
  • Backups to S3 with WAL-G
  • Deploy new cluster from S3
  • Scheduled backups to S3

Install ansible and requirements in virtualenv

mkvirtualenv ansible-7.6.0
pip install -r requirements.txt
deactivate
workon ansible-7.6.0

Install roles

ansible-playbook ansible-roles.yaml

Install Patroni

ansible-playbook -i inventory/hosts patroni.yaml -u almalinux

Patroni options example

patroni_postgresql_dynamic_parameters:
  postgresql:
    parameters:
      max_connections: '2000'

Backup options example

patroni_wal_g_install: true
wal_g_config: >-
  {{
  {
    "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_ID",
    "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY",
    "AWS_ENDPOINT": "https://s3.amazon.com",
    "WALG_S3_PREFIX": "s3://wal-g/patroni-1",
    "WALG_LIBSODIUM_KEY": "29b43e2f46adcaf9f0d635d9fe4934e3227b3cbd13e2b19c7b28c16a581cc15c",
    "AWS_S3_FORCE_PATH_STYLE": "true"
  }
  }}