2 # file: roles/consul/tasks/main.yaml
4 - Name: Update package cache (apt)
9 - ansible_distribution|lower == 'ubuntu'
11 - name: Inst - Prerequisites
13 name: "{{ packages | flatten(levels=1) }}"
16 - consul-inst-prerequisites
18 - name: Conf - Add Consul Group
20 name: "{{ consul_group }}"
21 state: "{{ consul_group_state }}"
23 - consul_manage_group | bool
27 - name: Conf - Add Consul user
29 name: "{{ consul_user }}"
30 group: "{{ consul_group }}"
31 groups: "{{ consul_user_groups }}"
32 state: "{{ consul_user_state }}"
35 - consul_manage_user | bool
39 - name: Inst - Clean Consul
41 path: "{{ consul_inst_dir }}/consul"
46 - name: Inst - Download Consul
48 url: "{{ consul_zip_url }}"
49 dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
53 - name: Inst - Unarchive Consul
55 src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
56 dest: "{{ consul_inst_dir }}/"
57 creates: "{{ consul_inst_dir }}/consul"
64 src: "{{ consul_inst_dir }}/consul"
65 dest: "{{ consul_bin_dir }}"
66 owner: "{{ consul_user }}"
67 group: "{{ consul_group }}"
74 - name: Conf - Create Directories "{{ consul_data_dir }}"
76 dest: "{{ consul_data_dir }}"
78 owner: "{{ consul_user }}"
79 group: "{{ consul_group }}"
83 - name: Conf - Create Directories "{{ consul_ssl_dir }}"
85 dest: "{{ consul_ssl_dir }}"
87 owner: "{{ consul_user }}"
88 group: "{{ consul_group }}"
92 - name: Conf - Create Config Directory
94 dest: "{{ consul_config_dir }}"
96 owner: "{{ consul_user }}"
97 group: "{{ consul_group }}"
102 - name: Conf - Nomad integration Consul Configuration
105 dest: "{{ nomad_config_dir }}/consul.hcl"
110 - consul_nomad_integration | bool
114 - name: Conf - Base Configuration
117 dest: "{{ consul_config_dir }}/base.hcl"
118 owner: "{{ consul_user }}"
119 group: "{{ consul_group }}"
124 - name: Conf - Ports Configuration
127 dest: "{{ consul_config_dir }}/ports.hcl"
128 owner: "{{ consul_user }}"
129 group: "{{ consul_group }}"
134 - name: Conf - Telemetry Configuration
136 src: telemetry.hcl.j2
137 dest: "{{ consul_config_dir }}/telemetry.hcl"
138 owner: "{{ consul_user }}"
139 group: "{{ consul_group }}"
144 - name: Conf - Services Configuration
146 src: services.json.j2
147 dest: "{{ consul_config_dir }}/services.json"
148 owner: "{{ consul_user }}"
149 group: "{{ consul_group }}"
156 - name: Conf - Copy Certificates And Keys
158 content: "{{ item.src }}"
159 dest: "{{ item.dest }}"
160 owner: "{{ consul_user }}"
161 group: "{{ consul_group }}"
164 loop: "{{ consul_certificates | flatten(levels=1) }}"
168 - name: Conf - System.d Script
170 src: "consul_systemd.service.j2"
171 dest: "/lib/systemd/system/consul.service"
177 # - "Stop Systemd-resolved"