ansible-roles/roles/nomad/defaults/main.yml

82 lines
3.0 KiB
YAML

---
# Version of Nomad to install
nomad_version: 1.3.2
# URL of the archive
nomad_archive_url: https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version }}_linux_amd64.zip
# Expected sha256 of the archive
nomad_archive_sha256: fc6b3800935c621633d98148ea30737ab8ac1f698020f45b28b07ac61fbf4a96
# Root dir where Nomad will be installed
nomad_root_dir: /opt/nomad
# user under which nomad will run.
# Servers can run under an unprivileged user, while clients should run as root (or with equivalent privileges)
nomad_user: "{{ nomad_conf.client.enabled | ternary('root', 'nomad') }}"
# List of nomad servers (not clients !)
nomad_servers: []
# Nomad configuration
nomad_base_conf:
log_level: INFO
# Client related settings
# The default is to act as a client if the hostname is not listed in nomad servers
client:
# Should client be enabled
enabled: "{{ (inventory_hostname in nomad_servers) | ternary(False, True) }}"
# host_volumes:
# - name: mysql
# path: /data/mysql
# read_only: False
host_volumes: []
# Server related settings
server:
# Should server be enabled
# The default is to act as a server if the hostname is listed in nomad_servers
enabled: "{{ (inventory_hostname in nomad_servers) | ternary(True, False) }}"
# Expected number of servers to bootstrap the cluster. The default is to wait for all the servers
# listed in nomad_servers to be ready, and then to do the bootstrap
bootstrap_expect: "{{ nomad_servers | length }}"
# Encryption key to use to encrypt inter-server communications
# You can generate one with nomad operator keygen command. It must be the same
# on all the servers of the cluster. If not defined (the default), the trafic will
# not be encrypted
# encrypt: NVlG6VKgsTbMim041S5nbWmmaQKS7YchV+9G3XxcZDs=
# UI related settings
ui:
# Default is to enable the UI on server only
enabled: "{{ (inventory_hostname in nomad_servers) | ternary(True, False) }}"
# Consul and vault optional URL. This is just to add a shortcut in Nomad's UI
# consul_ui: https://consul.example.org
# vault_ui: https://vault.example.org
# You can override part of the default config without rewriting everything else
# the dict will get merged
nomad_extra_conf: {}
nomad_host_conf: {}
nomad_conf: "{{ nomad_base_conf | combine(nomad_extra_conf, recursive=True) | combine(nomad_host_conf, recursive=True) }}"
# Ports used by Nomad, the protocols, and the list of IP/CIDR for which the ports will be opened in the firewall
# You can also specify which address/port to advertise (not needed most of the time)
nomad_base_services:
http:
port: 4646
proto: [tcp]
src_ip: []
# advertise: 10.11.12.13:4347
rpc:
port: 4647
proto: [tcp]
src_ip: []
# advertise: y.y.y.y
serf:
port: 4648
proto: [tcp,udp]
src_ip: []
# advertise: x.x.x.x
nomad_extra_services: {}
nomad_host_services: {}
nomad_services: "{{ nomad_base_services | combine(nomad_extra_services, recursive=True) | combine(nomad_host_services, recursive=True) }}"