Skip to content

Parses one or more Nomad configuration files and outputs the result to JSON or using a Go Template

License

Notifications You must be signed in to change notification settings

angrycub/parse-nomad-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parse-nomad-config

parse-nomad-config parses one or more Nomad configuration files and prints the effective configuration as a JSON object or using a Go template.

Installation

Download a prebuilt release from the releases page.

or

Use the go install command to build and install the command from source.

go install github.com/angrycub/parse-nomad-config

Usage

usage: parse-nomad-config [options] [hcl-file ...]
  -j, --json              output in JSON format
  -o, --out string        write to the given file, instead of stdout
  -t, --template string   output using a go template
  -v, --version           show the version number and immediately exit

Examples

Given the following Nomad configuration file--server.hcl:

datacenter = "dc1"
data_dir   = "/opt/nomad/data"
log_level  = "DEBUG"

server {
  encrypt = "rn5HmQP/y1o2hvMxMfMYag=="
  enabled = true
}

Print the effective configuration as JSON

$ parse-nomad-config --json server.hcl

Some of the fields are suppressed when printed in JSON format. For example, the server.encrypt field is not included in JSON output. Public fields that are not printed in JSON can be retrieved by using the Go Template output option.

These fields will have different capitalization and occasionally different names. You can use the "%+v" format string to explore the Config structure or consult the nomad.command.agent.Config type for the full type specification.

Retrieve the encrypt value using a Go Template

$ parse-nomad-config --template '{{ printf "%+v" .Server.EncryptKey}}' server.hcl
rn5HmQP/y1o2hvMxMfMYag==

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

Parses one or more Nomad configuration files and outputs the result to JSON or using a Go Template

Resources

License

Stars

Watchers

Forks

Packages

No packages published