consul/tasks/main.yaml
2022-09-06 15:59:08 +03:00

48 lines
1.3 KiB
YAML

- name: Make sure handlers are flushed immediately
meta: flush_handlers
- name: Load a variable file based on the OS type
include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_facts['distribution'] }}.yaml"
- "{{ ansible_facts['os_family'] }}.yaml"
paths:
- "vars"
- name: Consul cluster pre-check
include_tasks: pre_check.yaml
when: inventory_hostname in groups[consul_server_group]
- name: "Install Consul for {{ ansible_facts['os_family'] }}"
include_tasks: "{{ ansible_facts['os_family'] }}/main.yaml"
- name: SSL certificates generation
import_tasks: cacert.yaml
when: consul_ssl
- name: Bootstrap Consul
include_tasks: bootstrap.yaml
when: inventory_hostname in groups[consul_server_group]
- name: Create Consul configuration
import_tasks: config.yaml
- name: Enable and start Consul
systemd:
daemon_reload: true
name: consul
enabled: true
state: started
masked: no
register: consul_enable_and_start
tags: consul, consul_start
- name: Join new server node to cluster
import_tasks: join.yaml
when:
- hostvars[inventory_hostname]['ansible_host'] not in cluster_node_list
- cluster_node_list | length != 0
- inventory_hostname in groups[consul_server_group]