108 lines
1.8 KiB
HCL
108 lines
1.8 KiB
HCL
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
variable "foo_key" {
|
|
type = string
|
|
}
|
|
|
|
variable "empty_key" {
|
|
type = string
|
|
}
|
|
|
|
variable "unset_key" {
|
|
type = string
|
|
}
|
|
|
|
variable "foo_constraint" {
|
|
type = string
|
|
}
|
|
|
|
variable "empty_constraint" {
|
|
type = string
|
|
}
|
|
|
|
variable "unset_constraint" {
|
|
type = string
|
|
}
|
|
|
|
job "node-meta" {
|
|
type = "batch"
|
|
|
|
constraint {
|
|
attribute = "${attr.kernel.name}"
|
|
value = "linux"
|
|
}
|
|
|
|
constraint {
|
|
attribute = var.foo_constraint
|
|
value = "bar"
|
|
}
|
|
|
|
constraint {
|
|
attribute = var.empty_constraint
|
|
operator = "is_set"
|
|
}
|
|
|
|
constraint {
|
|
attribute = var.unset_constraint
|
|
operator = "is_not_set"
|
|
}
|
|
|
|
group "node-meta" {
|
|
|
|
// sets keyUnset
|
|
task "docker-nm" {
|
|
driver = "docker"
|
|
|
|
config {
|
|
image = "curlimages/curl:7.87.0"
|
|
args = [
|
|
"--unix-socket", "${NOMAD_SECRETS_DIR}/api.sock",
|
|
"-H", "Authorization: Bearer ${NOMAD_TOKEN}",
|
|
"--data-binary", "{\"Meta\": {\"${var.unset_key}\": \"set\"}}",
|
|
"--fail-with-body",
|
|
"--verbose",
|
|
"localhost/v1/client/metadata",
|
|
]
|
|
}
|
|
|
|
identity {
|
|
env = true
|
|
}
|
|
|
|
resources {
|
|
cpu = 16
|
|
memory = 32
|
|
disk = 64
|
|
}
|
|
}
|
|
|
|
// unsets keyEmpty
|
|
task "exec-nm" {
|
|
driver = "exec"
|
|
|
|
config {
|
|
command = "curl"
|
|
args = [
|
|
"-H", "Authorization: Bearer ${NOMAD_TOKEN}",
|
|
"--unix-socket", "${NOMAD_SECRETS_DIR}/api.sock",
|
|
"--data-binary", "{\"Meta\": {\"${var.empty_key}\": null}}",
|
|
"--fail-with-body",
|
|
"--verbose",
|
|
"localhost/v1/client/metadata",
|
|
]
|
|
}
|
|
|
|
identity {
|
|
env = true
|
|
}
|
|
|
|
resources {
|
|
cpu = 16
|
|
memory = 32
|
|
disk = 64
|
|
}
|
|
}
|
|
}
|
|
}
|