2 # file: roles/consul/tasks/main.yaml
4 - name: Install Dependencies
6 name: "{{ packages | flatten(levels=1) }}"
9 install_recommends: false
11 - ansible_distribution|lower == 'ubuntu'
13 - consul-inst-dependencies
15 - name: Conf - Add Consul Group
17 name: "{{ consul_group }}"
18 state: "{{ consul_group_state }}"
22 - name: Conf - Add Consul user
24 name: "{{ consul_user }}"
25 group: "{{ consul_group }}"
26 state: "{{ consul_user_state }}"
31 - name: Inst - Download Consul
33 url: "{{ consul_zip_url }}"
34 dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
38 - name: Inst - Clean Consul
40 path: "{{ consul_inst_dir }}/consul"
43 - consul_force_update | bool
47 - name: Inst - Unarchive Consul
49 src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
50 dest: "{{ consul_inst_dir }}/"
57 src: "{{ consul_inst_dir }}/consul"
58 dest: "{{ consul_bin_dir }}"
59 owner: "{{ consul_user }}"
60 group: "{{ consul_group }}"
67 - name: Conf - Create Directories "{{ consul_data_dir }}"
69 dest: "{{ consul_data_dir }}"
71 owner: "{{ consul_user }}"
72 group: "{{ consul_group }}"
76 - name: Conf - Create Directories "{{ consul_ssl_dir }}"
78 dest: "{{ consul_ssl_dir }}"
80 owner: "{{ consul_user }}"
81 group: "{{ consul_group }}"
85 - name: Conf - Create Config Directory
87 dest: "{{ consul_config_dir }}"
89 owner: "{{ consul_user }}"
90 group: "{{ consul_group }}"
95 - name: Conf - Base Configuration
98 dest: "{{ consul_config_dir }}/base.hcl"
99 owner: "{{ consul_user }}"
100 group: "{{ consul_group }}"
105 - name: Conf - Ports Configuration
108 dest: "{{ consul_config_dir }}/ports.hcl"
109 owner: "{{ consul_user }}"
110 group: "{{ consul_group }}"
115 - name: Conf - Telemetry Configuration
117 src: telemetry.hcl.j2
118 dest: "{{ consul_config_dir }}/telemetry.hcl"
119 owner: "{{ consul_user }}"
120 group: "{{ consul_group }}"
125 - name: Conf - Services Configuration
127 src: services.json.j2
128 dest: "{{ consul_config_dir }}/services.json"
129 owner: "{{ consul_user }}"
130 group: "{{ consul_group }}"
137 - name: Conf - Copy Certificates And Keys
139 content: "{{ item.src }}"
140 dest: "{{ item.dest }}"
141 owner: "{{ consul_user }}"
142 group: "{{ consul_group }}"
145 loop: "{{ consul_certificates | flatten(levels=1) }}"
147 - consul_certificates is defined
151 - name: Conf - Stop Systemd-resolved
155 name: "systemd-resolved"
156 state: "{{ systemd_resolved_state }}"
158 - nomad_service_mgr == "systemd"
162 - name: Conf - System.d Script
164 src: "consul_systemd.service.j2"
165 dest: "/lib/systemd/system/consul.service"
173 - nomad_service_mgr == "systemd"
177 - meta: flush_handlers