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"
|
2023-09-30 18:17:45 +00:00
|
|
|
- "{{ ansible_distribution }}.yaml"
|
|
|
|
- "{{ ansible_os_family }}.yaml"
|
2023-08-11 10:51:51 +00:00
|
|
|
- patroni.yaml
|
|
|
|
paths:
|
2023-09-30 18:17:45 +00:00
|
|
|
- "vars"
|
2023-08-11 10:51:51 +00:00
|
|
|
|
|
|
|
- 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"
|
2023-09-30 18:22:06 +00:00
|
|
|
baseurl: "https://mirror.0xace.cc/rhel/$releasever/custom"
|
2023-08-11 10:51:51 +00:00
|
|
|
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
|
2023-09-30 18:17:45 +00:00
|
|
|
- import_role:
|
|
|
|
name: postgres-exporter
|
|
|
|
- import_role:
|
|
|
|
name: node-exporter
|