mirror of
				https://gitea.0xace.cc/ansible-galaxy/consul.git
				synced 2025-10-30 21:17:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 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: Set facts about needed vars
 | |
|   set_fact:
 | |
|     consul_version_build: "{{ consul_version_build }}"
 | |
|   when: ansible_os_family == 'Debian'
 | |
| 
 | |
| - 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
 | |
|   import_tasks: ssl/main.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]
 |