patroni/patroni.yaml

87 lines
2.5 KiB
YAML
Raw Normal View History

2023-08-11 10:51:51 +00:00
- hosts: localhost
gather_facts: false
tasks:
- name: Print Ansible version
debug:
msg: "{{ ansible_version }}"
- hosts: all,!localhost
gather_facts: false
tasks:
- name: Wait 300 seconds
ansible.builtin.wait_for_connection:
timeout: 300
- hosts: all,!localhost
tasks:
- name: Include Patroni vars
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_major_version'] }}.yaml"
- "{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_version'] }}.yaml"
- "{{ ansible_facts['os_family'] }}-{{ ansible_facts['distribution_major_version'] }}.yaml"
- "{{ ansible_facts['os_family'] }}-{{ ansible_facts['distribution_version'] }}.yaml"
- '{{ ansible_distribution }}.yaml'
- '{{ ansible_os_family }}.yaml'
- patroni.yaml
paths:
- 'vars'
- hosts: all,!localhost
become: true
tasks:
- name: Debian based repository
when: ansible_facts['os_family'] == "Debian"
block:
- name: Add repository for Debian
copy:
dest: /etc/apt/sources.list.d/mirror.0xace.cc.list
content: |
deb [trusted=yes] https://mirror.0xace.cc/debian/consul/ default all
deb [trusted=yes] https://mirror.0xace.cc/debian/custom/ default all
- name: RHEL based repository
when: ansible_facts['os_family'] == "RedHat"
block:
- name: Add custom 0xace.cc repository for RHEL
ansible.builtin.yum_repository:
name: "rhel-custom"
description: "RHEL custom 0xace.cc repository"
file: "mirror.0xace.cc"
baseurl: "https://mirror.0xace.cc/rhel/$releasever/custom"
gpgcheck: false
enabled: true
- hosts: all,!localhost
gather_facts: true
become: true
tasks:
- name: Set hostname
ansible.builtin.hostname:
name: "{{ inventory_hostname }}"
- import_role:
name: hosts
- hosts: all,!localhost
gather_facts: true
become: true
tasks:
- import_role:
name: consul
- hosts: patroni
gather_facts: true
become: true
tasks:
- import_role:
name: patroni
- import_role:
name: keepalived
when: keepalived_vip is defined
- import_role:
name: haproxy
- import_role:
name: pgbouncer