Infra: Nomad
[csit.git] / fdio.infra.ansible / roles / nomad / defaults / main.yaml
1 ---
2 # file: roles/nomad/defaults/main.yaml
3
4 # Inst - Prerequisites.
5 packages: "{{ packages_base + packages_by_distro[ansible_distribution | lower] + packages_by_arch[ansible_machine] }}"
6 packages_base:
7   - "curl"
8   - "git"
9   - "unzip"
10 packages_by_distro:
11   ubuntu:
12     - []
13 packages_by_arch:
14   aarch64:
15     - []
16   x86_64:
17     - []
18
19 # Inst - Nomad Map.
20 nomad_architecture_map:
21   amd64: "amd64"
22   x86_64: "amd64"
23   armv7l: "arm"
24   aarch64: "arm64"
25   32-bit: "386"
26   64-bit: "amd64"
27 nomad_architecture: "{{ nomad_architecture_map[ansible_architecture] }}"
28 nomad_version: "1.0.4"
29 nomad_pkg: "nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip"
30 nomad_zip_url: "https://releases.hashicorp.com/nomad/{{ nomad_version }}/{{ nomad_pkg }}"
31
32 # Inst - System paths.
33 nomad_bin_dir: "/usr/local/bin"
34 nomad_config_dir: "/etc/nomad.d"
35 nomad_data_dir: "/var/nomad"
36 nomad_inst_dir: "/opt"
37 nomad_lockfile: "/var/lock/subsys/nomad"
38 nomad_run_dir: "/var/run/nomad"
39 nomad_ssl_dir: "/etc/nomad.d/ssl"
40
41 # Conf - Service.
42 nomad_node_role: "both"
43 nomad_restart_handler_state: "restarted"
44
45 # Conf - User and group.
46 nomad_group: "nomad"
47 nomad_group_state: "present"
48 nomad_user: "nomad"
49 nomad_user_state: "present"
50
51 # Conf - base.hcl
52 nomad_bind_addr: "0.0.0.0"
53 nomad_datacenter: "dc1"
54 nomad_disable_update_check: true
55 nomad_enable_debug: false
56 nomad_log_level: "INFO"
57 nomad_name: "{{ inventory_hostname }}"
58 nomad_region: "global"
59 nomad_syslog_enable: true
60
61 # Conf - tls.hcl
62 nomad_ca_file: "{{ nomad_ssl_dir }}/ca.pem"
63 nomad_cert_file: "{{ nomad_ssl_dir }}/nomad.pem"
64 nomad_http: false
65 nomad_key_file: "{{ nomad_ssl_dir }}/nomad-key.pem"
66 nomad_rpc: false
67 nomad_verify_https_client: false
68 nomad_verify_server_hostname: false
69
70 # Conf - client.hcl
71 nomad_certificates:
72   - src: "{{ file_nomad_ca_pem }}"
73     dest: "{{ nomad_ca_file }}"
74   - src: "{{ file_nomad_client_pem }}"
75     dest: "{{ nomad_cert_file }}"
76   - src: "{{ file_nomad_client_key_pem }}"
77     dest: "{{ nomad_key_file }}"
78 nomad_node_class: ""
79 nomad_no_host_uuid: true
80 nomad_options: {}
81 nomad_servers: []
82 nomad_volumes: []
83
84 # Conf - server.hcl
85 nomad_bootstrap_expect: 2
86 nomad_encrypt: ""
87 nomad_retry_join: true
88 # Specifies how long a node must be in a terminal state before it is garbage
89 # collected and purged from the system.
90 nomad_node_gc_threshold: "24h"
91 # Specifies the interval between the job garbage collections. Only jobs who have
92 # been terminal for at least job_gc_threshold will be collected.
93 nomad_job_gc_interval: "1m"
94 # Specifies the minimum time a job must be in the terminal state before it is
95 # eligible for garbage collection.
96 nomad_job_gc_threshold: "1m"
97 # Specifies the minimum time an evaluation must be in the terminal state before
98 # it is eligible for garbage collection.
99 nomad_eval_gc_threshold: "1m"
100 # Specifies the minimum time a deployment must be in the terminal state before
101 # it is eligible for garbage collection.
102 nomad_deployment_gc_threshold: "1m"
103
104 # Conf - telemetry.hcl
105 nomad_disable_hostname: false
106 nomad_collection_interval: 60s
107 nomad_use_node_name: false
108 nomad_publish_allocation_metrics: true
109 nomad_publish_node_metrics: true
110 nomad_telemetry_provider_parameters:
111   prometheus_metrics: true
112
113 # Conf - custom.hcl
114 # empty