A CLI tool for defining HashiCorp Nomad job specs in jsonnet. Unofficial. Not related to HashiCorp.
Very experimental! The code is still PoC quality. Don't use yet.
The official Nomad CLI tool nomad
is able to ingest job specifications in JSON
instead of HCL, which allows other configuration languages to produce such job
specs. nomadcfg
is an attempt to use jsonnet for this. It's similar to
kubecfg
for Kubernetes.
shell
cargo install --locked nomadcfg
shell
cargo install --git https://github.com/cloneable/nomadcfg
myjob.jsonnet:
```jsonnet local job(name, namespace='default') = { type: 'service', id: self.name, name: name, namespace: namespace, // ... };
{ job: job('myjob', 'biz') { // job definition }
// helper definitions (ignored by nomadcfg) } ```
shell
nomadcfg print myjob.jsonnet
json
{
"Job": {
"ID": "myjob",
"Name": "myjob",
"Namespace": "biz",
"Type": "service"
}
}