Revert "fix(jobspec): Delete ipsec nfv density tests"
[csit.git] / fdio.infra.ansible / roles / consul / tasks / main.yaml
1 ---
2 # file: tasks/main.yaml
3
4 - name: Update Repositories Cache
5   ansible.builtin.apt:
6     update_cache: true
7   when:
8     - ansible_os_family == 'Debian'
9   tags:
10     - consul-inst-package
11
12 - name: Dependencies
13   ansible.builtin.apt:
14     name: "{{ packages | flatten(levels=1) }}"
15     state: "present"
16     cache_valid_time: 3600
17     install_recommends: false
18   when:
19     - ansible_os_family == 'Debian'
20   tags:
21     - consul-inst-dependencies
22
23 - name: Add Consul Group
24   ansible.builtin.group:
25     name: "{{ consul_group }}"
26     state: "present"
27   tags:
28     - consul-conf-user
29
30 - name: Add Consul user
31   ansible.builtin.user:
32     name: "{{ consul_user }}"
33     group: "{{ consul_group }}"
34     state: "present"
35     system: true
36   tags:
37     - consul-conf-user
38
39 - name: Download Consul
40   ansible.builtin.get_url:
41     url: "{{ consul_zip_url }}"
42     dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
43   tags:
44     - consul-inst-package
45
46 - name: Clean Consul
47   ansible.builtin.file:
48     path: "{{ consul_inst_dir }}/consul"
49     state: "absent"
50   when:
51     - consul_force_update | bool
52   tags:
53     - consul-inst-package
54
55 - name: Unarchive Consul
56   ansible.builtin.unarchive:
57     src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
58     dest: "{{ consul_inst_dir }}/"
59     remote_src: true
60   tags:
61     - consul-inst-package
62
63 - name: Consul
64   ansible.builtin.copy:
65     src: "{{ consul_inst_dir }}/consul"
66     dest: "{{ consul_bin_dir }}"
67     owner: "{{ consul_user }}"
68     group: "{{ consul_group }}"
69     force: true
70     mode: 0755
71     remote_src: true
72   tags:
73     - consul-inst-package
74
75 - name: Create Directories
76   ansible.builtin.file:
77     dest: "{{ item }}"
78     state: "directory"
79     owner: "{{ consul_user }}"
80     group: "{{ consul_group }}"
81     mode: 0755
82   with_items:
83     - "{{ consul_config_dir }}"
84     - "{{ consul_ssl_dir }}"
85     - "{{ consul_data_dir }}"
86     - "{{ nomad_config_dir }}"
87     - "{{ nomad_ssl_dir }}"
88   tags:
89     - consul-conf
90
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 }}"
97     mode: 0644
98   with_items:
99     - "base"
100     - "ports"
101     - "telemetry"
102   tags:
103     - consul-conf
104
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 }}"
111     mode: 0600
112   no_log: true
113   loop: "{{ consul_certificates | flatten(levels=1) }}"
114   when:
115     - consul_certificates is defined
116   tags:
117     - consul-conf
118
119 - name: Stop Systemd-resolved
120   ansible.builtin.systemd:
121     daemon_reload: true
122     enabled: false
123     name: "systemd-resolved"
124     state: "{{ systemd_resolved_state }}"
125   when:
126     - consul_service_mgr == "systemd"
127   tags:
128     - consul-conf
129
130 - name: System.d Script
131   ansible.builtin.template:
132     src: "consul_systemd.service.j2"
133     dest: "/lib/systemd/system/consul.service"
134     owner: "root"
135     group: "root"
136     mode: 0644
137   notify:
138     - "Restart Consul"
139   when:
140     - consul_service_mgr == "systemd"
141   tags:
142     - consul-conf
143
144 - name: Flush handlers
145   ansible.builtin.meta: flush_handlers