2 # file: tasks/main.yaml
4 - name: Update Repositories Cache
8 - ansible_os_family == 'Debian'
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: Add Consul Group
24 ansible.builtin.group:
25 name: "{{ consul_group }}"
30 - name: Add Consul user
32 name: "{{ consul_user }}"
33 group: "{{ consul_group }}"
39 - name: Download Consul
40 ansible.builtin.get_url:
41 url: "{{ consul_zip_url }}"
42 dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
48 path: "{{ consul_inst_dir }}/consul"
51 - consul_force_update | bool
55 - name: Unarchive Consul
56 ansible.builtin.unarchive:
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: Create Directories
79 owner: "{{ consul_user }}"
80 group: "{{ consul_group }}"
83 - "{{ consul_config_dir }}"
84 - "{{ consul_ssl_dir }}"
85 - "{{ consul_data_dir }}"
86 - "{{ nomad_config_dir }}"
87 - "{{ nomad_ssl_dir }}"
91 - name: Base Configuration
92 ansible.builtin.template:
93 src: "{{ item }}.hcl.j2"
94 dest: "{{ consul_config_dir }}/{{ item }}.hcl"
95 owner: "{{ consul_user }}"
96 group: "{{ consul_group }}"
105 - name: Copy Certificates And Keys
106 ansible.builtin.copy:
107 content: "{{ item.src }}"
108 dest: "{{ item.dest }}"
109 owner: "{{ consul_user }}"
110 group: "{{ consul_group }}"
113 loop: "{{ consul_certificates | flatten(levels=1) }}"
115 - consul_certificates is defined
119 - name: Stop Systemd-resolved
120 ansible.builtin.systemd:
123 name: "systemd-resolved"
124 state: "{{ systemd_resolved_state }}"
126 - consul_service_mgr == "systemd"
130 - name: System.d Script
131 ansible.builtin.template:
132 src: "consul_systemd.service.j2"
133 dest: "/lib/systemd/system/consul.service"
140 - consul_service_mgr == "systemd"
144 - name: Flush handlers
145 ansible.builtin.meta: flush_handlers