2 # file: roles/nomad/tasks/main.yaml
4 - name: Inst - Prerequisites
6 name: "{{ packages | flatten(levels=1) }}"
10 - nomad-inst-prerequisites
12 - name: Conf - Add Nomad Group
14 name: "{{ nomad_group }}"
15 state: "{{ nomad_group_state }}"
17 - nomad_manage_group | bool
21 - name: Conf - Add Nomad user
23 name: "{{ nomad_user }}"
24 group: "{{ nomad_group }}"
25 groups: "{{ nomad_user_groups }}"
26 state: "{{ nomad_user_state }}"
29 - nomad_manage_user | bool
33 - name: Inst - Clean Nomad
35 path: "{{ nomad_inst_dir }}/nomad"
40 - name: Inst - Download Nomad
42 url: "{{ nomad_zip_url }}"
43 dest: "{{ nomad_inst_dir }}/{{ nomad_pkg }}"
47 - name: Inst - Unarchive Nomad
49 src: "{{ nomad_inst_dir }}/{{ nomad_pkg }}"
50 dest: "{{ nomad_inst_dir }}/"
51 creates: "{{ nomad_inst_dir }}/nomad"
58 src: "{{ nomad_inst_dir }}/nomad"
59 dest: "{{ nomad_bin_dir }}"
60 owner: "{{ nomad_user }}"
61 group: "{{ nomad_group }}"
68 - name: Conf - Create Directories "{{ nomad_data_dir }}"
70 dest: "{{ nomad_data_dir }}"
72 owner: "{{ nomad_user }}"
73 group: "{{ nomad_group }}"
77 - name: Conf - Create Directories "{{ nomad_ssl_dir }}"
79 dest: "{{ nomad_ssl_dir }}"
81 owner: "{{ nomad_user }}"
82 group: "{{ nomad_group }}"
86 - name: Conf - Create Config Directory
88 dest: "{{ nomad_config_dir }}"
90 owner: "{{ nomad_user }}"
91 group: "{{ nomad_group }}"
96 - name: Conf - Base Configuration
99 dest: "{{ nomad_config_dir }}/base.hcl"
100 owner: "{{ nomad_user }}"
101 group: "{{ nomad_group }}"
106 - name: Conf - Server Configuration
109 dest: "{{ nomad_config_dir }}/server.hcl"
110 owner: "{{ nomad_user }}"
111 group: "{{ nomad_group }}"
114 - nomad_node_server | bool
118 - name: Conf - Client Configuration
121 dest: "{{ nomad_config_dir }}/client.hcl"
122 owner: "{{ nomad_user }}"
123 group: "{{ nomad_group }}"
126 - nomad_node_client | bool
130 - name: Conf - TLS Configuration
133 dest: "{{ nomad_config_dir }}/tls.hcl"
134 owner: "{{ nomad_user }}"
135 group: "{{ nomad_group }}"
140 - name: Conf - Telemetry Configuration
142 src: telemetry.hcl.j2
143 dest: "{{ nomad_config_dir }}/telemetry.hcl"
144 owner: "{{ nomad_user }}"
145 group: "{{ nomad_group }}"
150 - name: Conf - Custom Configuration
153 dest: "{{ nomad_config_dir }}/custom.json"
154 owner: "{{ nomad_user }}"
155 group: "{{ nomad_group }}"
158 - nomad_config_custom is defined
162 - name: Conf - Copy Certificates And Keys
164 content: "{{ item.src }}"
165 dest: "{{ item.dest }}"
166 owner: "{{ nomad_user }}"
167 group: "{{ nomad_group }}"
170 loop: "{{ nomad_certificates | flatten(levels=1) }}"
174 - name: Conf - System.d Script
176 src: "nomad_systemd.service.j2"
177 dest: "/lib/systemd/system/nomad.service"