Files
nomad/e2e/consultemplate/input/update_triggers.nomad.hcl

129 lines
2.1 KiB
HCL

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
job "templating" {
constraint {
attribute = "${attr.kernel.name}"
value = "linux"
}
group "docker_downstream" {
// tasks in this group need a consul token
consul {}
task "task" {
driver = "docker"
config {
image = "busybox:1"
command = "/bin/sh"
args = ["-c", "sleep 300"]
}
template {
data = <<EOT
{{ range service "upstream-service" }}
server {{ .Name }} {{ .Address }}:{{ .Port }}{{ end }}
EOT
destination = "${NOMAD_TASK_DIR}/services.conf"
change_mode = "noop"
}
template {
data = <<EOT
---
key: {{ key "consultemplatetest" }}
job: {{ env "NOMAD_JOB_NAME" }}
EOT
destination = "${NOMAD_TASK_DIR}/kv.yml"
change_mode = "restart"
}
resources {
cpu = 128
memory = 64
}
}
}
group "exec_downstream" {
// tasks in this group need a consul token
consul {}
task "task" {
driver = "exec"
config {
command = "/bin/sh"
args = ["-c", "sleep 300"]
}
template {
data = <<EOT
{{ range service "upstream-service" }}
server {{ .Name }} {{ .Address }}:{{ .Port }}{{ end }}
EOT
destination = "${NOMAD_TASK_DIR}/services.conf"
change_mode = "noop"
}
template {
data = <<EOT
---
key: {{ key "consultemplatetest" }}
job: {{ env "NOMAD_JOB_NAME" }}
EOT
destination = "${NOMAD_TASK_DIR}/kv.yml"
change_mode = "restart"
}
resources {
cpu = 128
memory = 64
}
}
}
group "upstream" {
count = 2
network {
mode = "bridge"
port "web" {
to = -1
}
}
service {
name = "upstream-service"
port = "web"
}
task "task" {
driver = "docker"
config {
image = "busybox:1"
command = "/bin/sh"
args = ["-c", "sleep 300"]
}
resources {
cpu = 128
memory = 64
}
}
}
}