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 - Base Configuration
102 dest: "{{ consul_config_dir }}/base.hcl"
103 owner: "{{ consul_user }}"
104 group: "{{ consul_group }}"
109 - name: Conf - Ports Configuration
112 dest: "{{ consul_config_dir }}/ports.hcl"
113 owner: "{{ consul_user }}"
114 group: "{{ consul_group }}"
119 - name: Conf - Telemetry Configuration
121 src: telemetry.hcl.j2
122 dest: "{{ consul_config_dir }}/telemetry.hcl"
123 owner: "{{ consul_user }}"
124 group: "{{ consul_group }}"
129 - name: Conf - Services Configuration
131 src: services.json.j2
132 dest: "{{ consul_config_dir }}/services.json"
133 owner: "{{ consul_user }}"
134 group: "{{ consul_group }}"
141 - name: Conf - Copy Certificates And Keys
143 content: "{{ item.src }}"
144 dest: "{{ item.dest }}"
145 owner: "{{ consul_user }}"
146 group: "{{ consul_group }}"
149 loop: "{{ consul_certificates | flatten(levels=1) }}"
153 - name: Conf - Stop Systemd-resolved
157 name: "systemd-resolved"
158 state: "{{ systemd_resolved_state }}"
162 - name: Conf - System.d Script
164 src: "consul_systemd.service.j2"
165 dest: "/lib/systemd/system/consul.service"
175 - meta: flush_handlers