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 - Download Nomad
35 url: "{{ nomad_zip_url }}"
36 dest: "{{ nomad_inst_dir }}/{{ nomad_pkg }}"
40 - name: Inst - Unarchive Nomad
42 src: "{{ nomad_inst_dir }}/{{ nomad_pkg }}"
43 dest: "{{ nomad_inst_dir }}/"
44 creates: "{{ nomad_inst_dir }}/nomad"
51 src: "{{ nomad_inst_dir }}/nomad"
52 dest: "{{ nomad_bin_dir }}"
53 owner: "{{ nomad_user }}"
54 group: "{{ nomad_group }}"
61 - name: Conf - Create Directories "{{ nomad_data_dir }}"
63 dest: "{{ nomad_data_dir }}"
65 owner: "{{ nomad_user }}"
66 group: "{{ nomad_group }}"
70 - name: Conf - Create Directories "{{ nomad_ssl_dir }}"
72 dest: "{{ nomad_ssl_dir }}"
74 owner: "{{ nomad_user }}"
75 group: "{{ nomad_group }}"
79 - name: Conf - Create Config Directory
81 dest: "{{ nomad_config_dir }}"
83 owner: "{{ nomad_user }}"
84 group: "{{ nomad_group }}"
89 - name: Conf - Base Configuration
92 dest: "{{ nomad_config_dir }}/base.hcl"
93 owner: "{{ nomad_user }}"
94 group: "{{ nomad_group }}"
99 - name: Conf - Server Configuration
102 dest: "{{ nomad_config_dir }}/server.hcl"
103 owner: "{{ nomad_user }}"
104 group: "{{ nomad_group }}"
107 - nomad_node_server | bool
111 - name: Conf - Client Configuration
114 dest: "{{ nomad_config_dir }}/client.hcl"
115 owner: "{{ nomad_user }}"
116 group: "{{ nomad_group }}"
119 - nomad_node_client | bool
123 - name: Conf - TLS Configuration
126 dest: "{{ nomad_config_dir }}/tls.hcl"
127 owner: "{{ nomad_user }}"
128 group: "{{ nomad_group }}"
133 - name: Conf - Telemetry Configuration
135 src: telemetry.hcl.j2
136 dest: "{{ nomad_config_dir }}/telemetry.hcl"
137 owner: "{{ nomad_user }}"
138 group: "{{ nomad_group }}"
143 - name: Conf - Custom Configuration
146 dest: "{{ nomad_config_dir }}/custom.json"
147 owner: "{{ nomad_user }}"
148 group: "{{ nomad_group }}"
151 - nomad_config_custom is defined
155 - name: Conf - Copy Certificates And Keys
157 content: "{{ item.src }}"
158 dest: "{{ item.dest }}"
159 owner: "{{ nomad_user }}"
160 group: "{{ nomad_group }}"
163 loop: "{{ nomad_certificates | flatten(levels=1) }}"
167 - name: Conf - System.d Script
169 src: "nomad_systemd.service.j2"
170 dest: "/lib/systemd/system/nomad.service"