From 42e98791d95409963d57a20f83ff459a170d4744 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Sun, 23 Apr 2023 10:29:50 +0200 Subject: [PATCH] Extract patroni role into its own branch for now --- CHANGELOG.md | 1 - patroni/README.md | 4 -- patroni/defaults/main.yml | 21 ------- patroni/files/pub_evolix.asc | 87 ---------------------------- patroni/meta/main.yml | 31 ---------- patroni/tasks/backports.yml | 27 --------- patroni/tasks/config.yml | 26 --------- patroni/tasks/main.yml | 7 --- patroni/tasks/packages.yml | 8 --- patroni/templates/patroni.conf.j2 | 73 ----------------------- patroni/templates/patroni.pref.j2 | 3 - patroni/templates/patroni.service.j2 | 17 ------ 12 files changed, 305 deletions(-) delete mode 100644 patroni/README.md delete mode 100644 patroni/defaults/main.yml delete mode 100644 patroni/files/pub_evolix.asc delete mode 100644 patroni/meta/main.yml delete mode 100644 patroni/tasks/backports.yml delete mode 100644 patroni/tasks/config.yml delete mode 100644 patroni/tasks/main.yml delete mode 100644 patroni/tasks/packages.yml delete mode 100644 patroni/templates/patroni.conf.j2 delete mode 100644 patroni/templates/patroni.pref.j2 delete mode 100644 patroni/templates/patroni.service.j2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1528a40d..4cb6a43d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,6 @@ The **patch** part changes is incremented if multiple releases happen the same m ### Added * graylog: new role -* Patroni: new role for install Patroni cluster * lxc-php: add support for PHP 8.2 container ### Changed diff --git a/patroni/README.md b/patroni/README.md deleted file mode 100644 index e3999617..00000000 --- a/patroni/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Patroni - -Installation and basic configuration of Patroni. - diff --git a/patroni/defaults/main.yml b/patroni/defaults/main.yml deleted file mode 100644 index 85ead1b1..00000000 --- a/patroni/defaults/main.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- - -# Install Patroni from backport Evolix -patroni_backport: false - -# Define variable for Patroni - -cluster_name: "mycluster" -patroni_restapi_listen: "127.0.0.1" -patroni_port: "8008" -postgresql_hosts_cluster: [] -postgresql_listen_ips: 127.0.0.1 -postgresql_connect_ip: 127.0.0.1 -postgresql_version: '' -postgresql_replication_user: 'repl' -postgresql_superuser: 'admin' - -# Define variable for etcd -etcd_hosts: [] -etcd_port: "2379" - diff --git a/patroni/files/pub_evolix.asc b/patroni/files/pub_evolix.asc deleted file mode 100644 index 4a21bdfe..00000000 --- a/patroni/files/pub_evolix.asc +++ /dev/null @@ -1,87 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -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 -oA9QflpnDubMnCve -=ZCml ------END PGP PUBLIC KEY BLOCK----- diff --git a/patroni/meta/main.yml b/patroni/meta/main.yml deleted file mode 100644 index dffff81a..00000000 --- a/patroni/meta/main.yml +++ /dev/null @@ -1,31 +0,0 @@ -galaxy_info: - company: Evolix - description: Installation and basic configuration of Patroni - - issue_tracker_url: https://gitea.evolix.org/evolix/ansible-roles/issues - - license: GPLv2 - - min_ansible_version: "2.7" - - platforms: - - name: Debian - versions: - - buster - - bullseye - - bookworm - - galaxy_tags: [] - # List tags for your role here, one per line. A tag is - # a keyword that describes and categorizes the role. - # Users find roles by searching for tags. Be sure to - # remove the '[]' above if you add tags to this list. - # - # NOTE: A tag is limited to a single word comprised of - # alphanumeric characters. Maximum 20 tags per role. - -dependencies: [] - # List your role dependencies here, one per line. - # Be sure to remove the '[]' above if you add dependencies - # to this list. - diff --git a/patroni/tasks/backports.yml b/patroni/tasks/backports.yml deleted file mode 100644 index 43e76f22..00000000 --- a/patroni/tasks/backports.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- - -- name: Add Evolix GPG key - ansible.builtin.copy: - src: pub_evolix.asc - dest: "{{ apt_keyring_dir }}/pub_evolix.asc" - force: yes - mode: "0644" - owner: root - group: root - -- name: Add Evolix backports repository - ansible.builtin.apt_repository: - repo: "deb [signed-by={{ apt_keyring_dir }}/pub_evolix.asc] http://pub.evolix.org/evolix {{ ansible_distribution_release }}-backports main" - filename: backports.list - state: present - -- name: Update APT cache - ansible.builtin.apt: - update_cache: yes - -- name: Add APT preference file - ansible.builtin.template: - src: patroni.pref.j2 - dest: /etc/apt/preferences.d/patroni.pref - mode: "0644" - diff --git a/patroni/tasks/config.yml b/patroni/tasks/config.yml deleted file mode 100644 index 4d44e285..00000000 --- a/patroni/tasks/config.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- - -- name: Create a password for PostgreSQL repl user - command: "apg -M LCN -n1 -m 16" - register: postgresql_replication_password - -- name: Create a password for PostgreSQL superuser user - command: "apg -M LCN -n1 -m 16" - register: postgresql_superuser_password - -- name: Create Patroni config file - ansible.builtin.template: - src: patroni.conf.j2 - dest: /etc/patroni/config-{{ cluster_name }}.yml - owner: root - group: root - mode: "0644" - -- mane: Create Systemd Unit for Patroni - ansible.builtin.template: - src: patroni.service.j2 - dest: /etc/systemd/system/patroni.service - owner: root - group: root - mode: "0644" - diff --git a/patroni/tasks/main.yml b/patroni/tasks/main.yml deleted file mode 100644 index 36b4eb41..00000000 --- a/patroni/tasks/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- ansible.builtin.import_tasks: backports.yml - when: patroni_backport | bool - -- ansible.builtin.import_tasks: packages.yml -- ansible.builtin.import_tasks: config.yml diff --git a/patroni/tasks/packages.yml b/patroni/tasks/packages.yml deleted file mode 100644 index 198dcb7b..00000000 --- a/patroni/tasks/packages.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: Install patroni package - ansible.builtin.apt: - name: - - patroni - update_cache: yes - diff --git a/patroni/templates/patroni.conf.j2 b/patroni/templates/patroni.conf.j2 deleted file mode 100644 index 2dc23a28..00000000 --- a/patroni/templates/patroni.conf.j2 +++ /dev/null @@ -1,73 +0,0 @@ -scope: {{ cluster_name }} -name: {{ cluster_name_host }} - -restapi: - listen: {{ patroni_restapi_listen }}:{{ patroni_restapi_port }} - connect_address: {{ patroni_restapi_listen }}:{{ patroni_restapi_port }} - -etcd: - hosts: -{% for server in groups['etcd'] %} - - {{ hostvars[server]['etcd_host'] }}:{{ etcd_client_port }} -{% endfor %} - -bootstrap: - dcs: - ttl: 30 - loop_wait: 10 - retry_timeout: 10 - maximum_lag_on_failover: 1048576 - postgresql: - use_pg_rewind: true - use_slots: true - parameters: - wal_level: replica - hot_standby: "on" - wal_keep_segment: 8 - max_wal_senders: 5 - max_relication_slots: 5 - checkpoint_timeout: 30 - - initdb: - - encoding: UTF8 - - data-checksums - - pg_hba: - - host replication repl 127.0.0.1/32 md5 -{% for server in groups['patroni'] %} - - host replication repl {{ hostvars[server]['postgresql_hosts_cluster'] }}/0 md5 -{% endfor %} - - host all all 0.0.0.0/0 md5 - - users: - {{ postgresql_superuser }}: - password: {{ postgresql_superuser_password.stdout }} - options: - - createrole - - createdb - {{ postgresql_replication_user }}: - password: {{ postgresql_replication_password.stdout }} - options: - - replication - -postgresql: - listen: {{ postgresql_listen_ips }}:{{ postgresql_port }} - connect_address: {{ postgresql_connect_ip }}:{{ postgresql_port }} - bin_dir: /usr/lib/postgresql/{{ postgresql_version }}/bin/ - data_dir: /home/{{ cluster_name_host }} - pgpass: /tmp/{{ cluster_name_host }}-pgpass - authentication: - replication: - username: {{ postgresql_replication_user }} - password: {{ postgresql_replication_password.stdout }} - superuser: - username: {{ postgresql_superuser }} - password: {{ postgresql_superuser_password.stdout }} - parameters: - unix_socket_directories: '/tmp' - -tags: - nofailover: false - noloadbalance: false - clonefrom: false - nosync: false diff --git a/patroni/templates/patroni.pref.j2 b/patroni/templates/patroni.pref.j2 deleted file mode 100644 index 6e6dd081..00000000 --- a/patroni/templates/patroni.pref.j2 +++ /dev/null @@ -1,3 +0,0 @@ -Package: patroni -Pin: release a={{ ansible_distribution_release }}-backports -Pin-Priority: 999 diff --git a/patroni/templates/patroni.service.j2 b/patroni/templates/patroni.service.j2 deleted file mode 100644 index 6f9e1521..00000000 --- a/patroni/templates/patroni.service.j2 +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Runners to orchestrate a high-availability PostgreSQL -After=syslog.target network.target - -[Service] -Type=simple - -User=postgres -Group=postgres - -ExecStart=/usr/bin/patroni /etc/patroni/config-{{ cluster_name }}.yml -KillMode=process -TimeoutSec=30 -Restart=no - -[Install] -WantedBy=multi-user.targ