Add ability to set meta at job level

This commit is contained in:
IamTheFij 2023-08-21 22:30:18 -07:00
parent 05c367e531
commit 2e2e4f2064
3 changed files with 19 additions and 4 deletions

View File

@ -7,8 +7,9 @@ resource "nomad_job" "service" {
image_pull_timeout = var.image_pull_timeout image_pull_timeout = var.image_pull_timeout
args = var.args args = var.args
env = var.env env = var.env
meta = var.meta task_meta = var.task_meta
group_meta = var.group_meta group_meta = var.group_meta
job_meta = var.job_meta
constraints = var.constraints constraints = var.constraints
docker_devices = var.docker_devices docker_devices = var.docker_devices

View File

@ -5,6 +5,14 @@ job "${name}" {
type = "service" type = "service"
priority = ${priority} priority = ${priority}
%{ if length(job_meta) > 0 }
meta = {
%{ for k, v in job_meta }
${k} = ${jsonencode(v)}
%{ endfor }
}
%{~ endif }
group "${name}" { group "${name}" {
count = ${count} count = ${count}
@ -98,9 +106,9 @@ job "${name}" {
task "${name}" { task "${name}" {
driver = "docker" driver = "docker"
%{ if length(meta) > 0 ~} %{ if length(task_meta) > 0 ~}
meta = { meta = {
%{ for k, v in meta ~} %{ for k, v in task_meta ~}
${k} = ${jsonencode(v)} ${k} = ${jsonencode(v)}
%{ endfor ~} %{ endfor ~}
} }

View File

@ -27,7 +27,7 @@ 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" description = "A time duration that controls how long Nomad will wait before cancelling an in-progress pull of the Docker image"
} }
variable "meta" { variable "task_meta" {
type = map(string) type = map(string)
default = {} default = {}
description = "Meta attributes to attach to the task" description = "Meta attributes to attach to the task"
@ -39,6 +39,12 @@ variable "group_meta" {
description = "Meta attributes to attach to the group" description = "Meta attributes to attach to the group"
} }
variable "job_meta" {
type = map(string)
default = {}
description = "Meta attributes to attach to the job"
}
variable "service_port" { variable "service_port" {
type = number type = number
default = null default = null