ansible-nomad/templates/config.hcl.j2
2022-05-10 14:22:26 +02:00

71 lines
1.6 KiB
Django/Jinja

data_dir = "{{ nomad_data_dir}}"
bind_addr = "{{ nomad_bind_addr }}"
datacenter = "{{ nomad_datacenter }}"
server {
enabled = {{ nomad_server |lower }}
bootstrap_expect = {{ nomad_bootstrap_expect }}
}
client {
enabled = true
{% for nomad_host_volume in nomad_host_volumes %}
host_volume "{{ nomad_host_volume['name'] }}" {
path = "{{ nomad_host_volume['path'] }}"
read_only = {{ nomad_host_volume['read_only'] | bool | lower }}
}
{% endfor %}
{% for nomad_host_network in nomad_host_networks %}
host_network "{{ nomad_host_network['name'] }}" {
{% if 'cidr' in nomad_host_network %}
cidr = "{{ nomad_host_network['cidr'] | default}}"
{% else %}
interface = "{{ nomad_host_network['interface'] }}"
{% endif %}
{% if "reserved_ports" in nomad_host_network %}
reserved_ports = "{{ nomad_host_network['reserved_ports'] }}"
{% endif %}
}
{% endfor %}
}
plugin "raw_exec" {
config {
enabled = true
}
}
plugin "docker"{
config{
volumes {
enabled = true
selinuxlabel = "z"
}
allow_privileged = {{ nomad_allow_privileged|lower }}
}
}
consul {
address = "127.0.0.1:8500"
}
telemetry {
collection_interval = "5s",
publish_allocation_metrics = true,
publish_node_metrics = true,
prometheus_metrics = true
}
{% if nomad_vault_enabled %}
vault {
enabled = true
address = "{{ nomad_vault_address}}"
create_from_role = "{{ nomad_vault_role }}"
{% if nomad_server %}
token = "{{ nomad_vault_token }}"
namespace = "{{ nomad_vault_namespace}}"
task_token_ttl = "{{ nomad_vault_token_ttl }}"
{% endif %}
}
{% endif %}