nomadcfg

Crates.ionomadcfg
lib.rsnomadcfg
version0.0.6
sourcesrc
created_at2023-05-28 13:06:04.415868
updated_at2023-08-12 13:59:45.803685
descriptionA CLI tool for defining HashiCorp Nomad job specs in jsonnet.
homepage
repositoryhttps://github.com/cloneable/nomadcfg
max_upload_size
id876465
size156,447
Folke Behrens (cloneable)

documentation

README

nomadcfg

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.

About

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.

Installation

cargo install --locked nomadcfg
cargo install --git https://github.com/cloneable/nomadcfg

Usage

myjob.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)
}
nomadcfg print myjob.jsonnet
{
  "Job": {
    "ID": "myjob",
    "Name": "myjob",
    "Namespace": "biz",
    "Type": "service"
  }
}
Commit count: 90

cargo fmt