Templating config files to avoid disclosing secrets.

go-home uses golang templates to do the pre-processing of config files.

Even though full-blown templating is not required, it’s still possible.

In addition, go-home provides a few pre-build functions.

Environment variables

env allows to get environment variable.

system: bus
provider: nsq
lookup: {{ env "LOOKUPD_HOST" }}
server: {{ env "NSQD_HOST" }}

Secret variables

sec allows to get variables from a configured secrets storage.

system: device
provider: hub/hue
name: hue
token: {{ sec "hue-hub-token" }}