mirror of
https://gitea.0xace.cc/ansible-galaxy/consul.git
synced 2024-11-25 06:37:18 +00:00
68 lines
1.9 KiB
YAML
68 lines
1.9 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: Load host variables to override role vars
|
|
include_vars:
|
|
dir: "{{ inventory_dir }}/host_vars"
|
|
ignore_unknown_extensions: True
|
|
extensions:
|
|
- ''
|
|
- "yaml"
|
|
- "yml"
|
|
tags: consul_override_role_vars
|
|
|
|
- name: Load group variables to override role vars
|
|
include_vars:
|
|
dir: "{{ inventory_dir }}/group_vars"
|
|
ignore_unknown_extensions: True
|
|
extensions:
|
|
- ''
|
|
- "yaml"
|
|
- "yml"
|
|
tags: consul_override_role_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'] is defined and hostvars[inventory_hostname]['ansible_host'] not in cluster_node_list) or hostvars[inventory_hostname]['ansible_default_ipv4']['address'] not in cluster_node_list
|
|
- cluster_node_list | length != 0
|
|
- inventory_hostname in groups[consul_server_group]
|