diff --git a/services/service/main.tf b/services/service/main.tf index 045e412..808133c 100644 --- a/services/service/main.tf +++ b/services/service/main.tf @@ -13,6 +13,7 @@ resource "nomad_job" "service" { job_meta = var.job_meta constraints = var.constraints docker_devices = var.docker_devices + user = var.user service_port = var.service_port service_port_static = var.service_port_static diff --git a/services/service/service_template.nomad b/services/service/service_template.nomad index 6820f6a..3ccc084 100644 --- a/services/service/service_template.nomad +++ b/services/service/service_template.nomad @@ -80,6 +80,9 @@ job "${name}" { task "${name}" { driver = "docker" + %{~ if user != null } + user = "${user}" + %{~ endif ~} %{~ if length(task_meta) > 0 } meta = { %{ for k, v in task_meta ~} diff --git a/services/service/vars.tf b/services/service/vars.tf index f950564..234b984 100644 --- a/services/service/vars.tf +++ b/services/service/vars.tf @@ -32,6 +32,12 @@ variable "image_pull_timeout" { description = "A time duration that controls how long Nomad will wait before cancelling an in-progress pull of the Docker image" } +variable "user" { + type = string + default = null + description = "User to be passed to the task driver for execution. [ user | user:group | uid | uid:gid | user:gid | uid:group ]" +} + variable "task_meta" { type = map(string) default = {}