You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/roles/postgres/tasks/main.yml

49 lines
1.2 KiB
YAML

---
### tags:
### postgres_acls
- name: "Setup master/slave fact for {{ inventory_hostname }}"
set_fact:
server_type: "{% set hostname_splitted = inventory_hostname.split('-') %}{% if hostname_splitted[-1]|int == 1 %}master{% else %}slave{% endif %}"
tags:
- postgres_acls
- debug:
msg: "Server-Type: {{ server_type }}, Internal-IP {{ default_master_ip }}"
when:
- debug | bool
- server_type == "master"
tags:
- postgres_acls
- debug:
msg: "Server-Type: {{ server_type }}, Internal-IP {{ default_slave_ip }}"
when:
- debug | bool
- server_type == "slave"
tags:
- postgres_acls
# Minimal requirements for postgres
- name: Include Base Requirements
include_tasks: base-requirements.yml
# Master requirements for postgres
- name: Include Master Requirements
include_tasks: master-requirements.yml
when: server_type == "master"
# Slave requirements for postgres
- name: Include Slave Requirements
include_tasks: slave-requirements.yml
when: server_type == "slave"
# Apply Postgres ACLs
- name: Include Postgresl ACL Requirements
include_tasks: postgres-acls.yml
when: server_type == "master"
tags:
- postgres_acls