Configuration as code for the Faderfox EC4.
Your configuration must be piped to stdin
as JSON. The expectation is that
configuration would be maintained with something like
Jsonnet, Cue, or anything that
can produce JSON.
cat config.json | go run .
If you're using Jsonnet:
jsonnet config.jsonnet | go run .
Configuration is unified and validated with schema.cue. This file dictates object structure, field constraints, and default values.
When developing your configuration, the cue vet
command is helpful for
determining if validation will pass.
cue vet schema.cue config.json
Jsonnet:
jsonnet config.jsonnet | cue vet schema.cue -
I maintain my own configuration here: https://gist.github.com/trotttrotttrott/fc4a74d8bd7d395cbf82431c467b77ef