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 }}"
25 - consul_manage_group | bool
29 - name: Conf - Add Consul user
31 name: "{{ consul_user }}"
32 group: "{{ consul_group }}"
33 groups: "{{ consul_user_groups }}"
34 state: "{{ consul_user_state }}"
37 - consul_manage_user | bool
41 - name: Inst - Clean Consul
43 path: "{{ consul_inst_dir }}/consul"
48 - name: Inst - Download Consul
50 url: "{{ consul_zip_url }}"
51 dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
55 - name: Inst - Unarchive Consul
57 src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
58 dest: "{{ consul_inst_dir }}/"
59 creates: "{{ consul_inst_dir }}/consul"
66 src: "{{ consul_inst_dir }}/consul"
67 dest: "{{ consul_bin_dir }}"
68 owner: "{{ consul_user }}"
69 group: "{{ consul_group }}"
76 - name: Conf - Create Directories "{{ consul_data_dir }}"
78 dest: "{{ consul_data_dir }}"
80 owner: "{{ consul_user }}"
81 group: "{{ consul_group }}"
85 - name: Conf - Create Directories "{{ consul_ssl_dir }}"
87 dest: "{{ consul_ssl_dir }}"
89 owner: "{{ consul_user }}"
90 group: "{{ consul_group }}"
94 - name: Conf - Create Config Directory
96 dest: "{{ consul_config_dir }}"
98 owner: "{{ consul_user }}"
99 group: "{{ consul_group }}"
104 - name: Conf - Nomad integration Consul Configuration
107 dest: "{{ nomad_config_dir }}/consul.hcl"
112 - consul_nomad_integration | bool
116 - name: Conf - Base Configuration
119 dest: "{{ consul_config_dir }}/base.hcl"
120 owner: "{{ consul_user }}"
121 group: "{{ consul_group }}"
126 - name: Conf - Ports Configuration
129 dest: "{{ consul_config_dir }}/ports.hcl"
130 owner: "{{ consul_user }}"
131 group: "{{ consul_group }}"
136 - name: Conf - Telemetry Configuration
138 src: telemetry.hcl.j2
139 dest: "{{ consul_config_dir }}/telemetry.hcl"
140 owner: "{{ consul_user }}"
141 group: "{{ consul_group }}"
146 - name: Conf - Services Configuration
148 src: services.json.j2
149 dest: "{{ consul_config_dir }}/services.json"
150 owner: "{{ consul_user }}"
151 group: "{{ consul_group }}"
158 - name: Conf - Copy Certificates And Keys
160 content: "{{ item.src }}"
161 dest: "{{ item.dest }}"
162 owner: "{{ consul_user }}"
163 group: "{{ consul_group }}"
166 loop: "{{ consul_certificates | flatten(levels=1) }}"
170 - name: Conf - System.d Script
172 src: "consul_systemd.service.j2"
173 dest: "/lib/systemd/system/consul.service"
179 # - "Stop Systemd-resolved"