2 # file: roles/consul/tasks/main.yaml
4 - name: Inst - Update Package Cache (APT)
9 - ansible_distribution|lower == 'ubuntu'
11 - consul-inst-prerequisites
13 - name: Inst - Prerequisites
15 name: "{{ packages | flatten(levels=1) }}"
18 - consul-inst-prerequisites
20 - name: Conf - Add Consul Group
22 name: "{{ consul_group }}"
23 state: "{{ consul_group_state }}"
27 - name: Conf - Add Consul user
29 name: "{{ consul_user }}"
30 group: "{{ consul_group }}"
31 state: "{{ consul_user_state }}"
36 - name: Inst - Clean Consul
38 path: "{{ consul_inst_dir }}/consul"
43 - name: Inst - Download Consul
45 url: "{{ consul_zip_url }}"
46 dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
50 - name: Inst - Unarchive Consul
52 src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
53 dest: "{{ consul_inst_dir }}/"
54 creates: "{{ consul_inst_dir }}/consul"
61 src: "{{ consul_inst_dir }}/consul"
62 dest: "{{ consul_bin_dir }}"
63 owner: "{{ consul_user }}"
64 group: "{{ consul_group }}"
71 - name: Conf - Create Directories "{{ consul_data_dir }}"
73 dest: "{{ consul_data_dir }}"
75 owner: "{{ consul_user }}"
76 group: "{{ consul_group }}"
80 - name: Conf - Create Directories "{{ consul_ssl_dir }}"
82 dest: "{{ consul_ssl_dir }}"
84 owner: "{{ consul_user }}"
85 group: "{{ consul_group }}"
89 - name: Conf - Create Config Directory
91 dest: "{{ consul_config_dir }}"
93 owner: "{{ consul_user }}"
94 group: "{{ consul_group }}"
99 - name: Conf - Nomad integration Consul Configuration
102 dest: "{{ nomad_config_dir }}/consul.hcl"
107 - consul_nomad_integration | bool
111 - name: Conf - Base Configuration
114 dest: "{{ consul_config_dir }}/base.hcl"
115 owner: "{{ consul_user }}"
116 group: "{{ consul_group }}"
121 - name: Conf - Ports Configuration
124 dest: "{{ consul_config_dir }}/ports.hcl"
125 owner: "{{ consul_user }}"
126 group: "{{ consul_group }}"
131 - name: Conf - Telemetry Configuration
133 src: telemetry.hcl.j2
134 dest: "{{ consul_config_dir }}/telemetry.hcl"
135 owner: "{{ consul_user }}"
136 group: "{{ consul_group }}"
141 - name: Conf - Services Configuration
143 src: services.json.j2
144 dest: "{{ consul_config_dir }}/services.json"
145 owner: "{{ consul_user }}"
146 group: "{{ consul_group }}"
153 - name: Conf - Copy Certificates And Keys
155 content: "{{ item.src }}"
156 dest: "{{ item.dest }}"
157 owner: "{{ consul_user }}"
158 group: "{{ consul_group }}"
161 loop: "{{ consul_certificates | flatten(levels=1) }}"
165 - name: Conf - Stop Systemd-resolved
169 name: "systemd-resolved"
170 state: "{{ systemd_resolved_state }}"
174 - name: Conf - System.d Script
176 src: "consul_systemd.service.j2"
177 dest: "/lib/systemd/system/consul.service"
187 - meta: flush_handlers