diff --git a/roles/nomad/defaults/main.yml b/roles/nomad/defaults/main.yml index 758cde5..1ffcd4b 100644 --- a/roles/nomad/defaults/main.yml +++ b/roles/nomad/defaults/main.yml @@ -76,6 +76,8 @@ nomad_base_conf: docker: enabled: True allow_privileged: True + # You can set a list of caps allowed for containers, eg + # allow_caps: ["audit_write", "chown", "dac_override", "fowner", "fsetid", "kill", "mknod", "net_bind_service", "setfcap", "setgid", "setpcap", "setuid", "sys_chroot"] raw_exec: enabled: False java: diff --git a/roles/nomad/templates/nomad.hcl.j2 b/roles/nomad/templates/nomad.hcl.j2 index 4db3eee..57ca1ed 100644 --- a/roles/nomad/templates/nomad.hcl.j2 +++ b/roles/nomad/templates/nomad.hcl.j2 @@ -86,6 +86,13 @@ client { plugin "docker" { config { allow_privileged = {{ nomad_conf.client.task_drivers.docker.allow_privileged | ternary('true', 'false') }} +{% if nomad_conf.client.task_drivers.docker.allow_caps is defined %} + allow_caps = [ +{% for cap in nomad_conf.client.task_drivers.docker.allow_caps %} + "{{ cap }}", +{% endfor %} + ] +{% endif %} } } {% endif %}