2 # file: roles/consul/tasks/main.yaml
4 - name: Inst - Update Repositories Cache
8 - ansible_os_family == 'Debian'
12 - name: Inst - Dependencies
14 name: "{{ packages | flatten(levels=1) }}"
16 cache_valid_time: 3600
17 install_recommends: false
19 - ansible_os_family == 'Debian'
21 - consul-inst-dependencies
23 - name: Conf - Add Consul Group
25 name: "{{ consul_group }}"
26 state: "{{ consul_group_state }}"
30 - name: Conf - Add Consul user
32 name: "{{ consul_user }}"
33 group: "{{ consul_group }}"
34 state: "{{ consul_user_state }}"
39 - name: Inst - Download Consul
41 url: "{{ consul_zip_url }}"
42 dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
46 - name: Inst - Clean Consul
48 path: "{{ consul_inst_dir }}/consul"
51 - consul_force_update | bool
55 - name: Inst - Unarchive Consul
57 src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
58 dest: "{{ consul_inst_dir }}/"
65 src: "{{ consul_inst_dir }}/consul"
66 dest: "{{ consul_bin_dir }}"
67 owner: "{{ consul_user }}"
68 group: "{{ consul_group }}"
75 - name: Conf - Create Directories "{{ consul_data_dir }}"
77 dest: "{{ consul_data_dir }}"
79 owner: "{{ consul_user }}"
80 group: "{{ consul_group }}"
84 - name: Conf - Create Directories "{{ consul_ssl_dir }}"
86 dest: "{{ consul_ssl_dir }}"
88 owner: "{{ consul_user }}"
89 group: "{{ consul_group }}"
93 - name: Conf - Create Config Directory
95 dest: "{{ consul_config_dir }}"
97 owner: "{{ consul_user }}"
98 group: "{{ consul_group }}"
103 - name: Conf - Base Configuration
106 dest: "{{ consul_config_dir }}/base.hcl"
107 owner: "{{ consul_user }}"
108 group: "{{ consul_group }}"
113 - name: Conf - Ports Configuration
116 dest: "{{ consul_config_dir }}/ports.hcl"
117 owner: "{{ consul_user }}"
118 group: "{{ consul_group }}"
123 - name: Conf - Telemetry Configuration
125 src: telemetry.hcl.j2
126 dest: "{{ consul_config_dir }}/telemetry.hcl"
127 owner: "{{ consul_user }}"
128 group: "{{ consul_group }}"
133 - name: Conf - Services Configuration
135 src: services.json.j2
136 dest: "{{ consul_config_dir }}/services.json"
137 owner: "{{ consul_user }}"
138 group: "{{ consul_group }}"
145 - name: Conf - Copy Certificates And Keys
147 content: "{{ item.src }}"
148 dest: "{{ item.dest }}"
149 owner: "{{ consul_user }}"
150 group: "{{ consul_group }}"
153 loop: "{{ consul_certificates | flatten(levels=1) }}"
155 - consul_certificates is defined
159 - name: Conf - Stop Systemd-resolved
163 name: "systemd-resolved"
164 state: "{{ systemd_resolved_state }}"
166 - consul_service_mgr == "systemd"
170 - name: Conf - System.d Script
172 src: "consul_systemd.service.j2"
173 dest: "/lib/systemd/system/consul.service"
181 - consul_service_mgr == "systemd"
185 - name: Meta - Flush handlers