Gomplate is a command-line tool for template rendering that supports many local and remote data-sources.

The Go progamming language supports native templating. The problem is that there aren’t very many functions supported out-of-the-box and it cannot be called from the command line.

Gomplate is a CLI tool that addresses this need. That is, it can be used as an alternative to envsubst, but also supports additional template data-sources such as: JSON, YAML, and even AWS EC2 metadata.

We love envsubst for its super-minimalist template processing, but sometimes more advanced templating with conditions is necessary. In geodesic, we use gomplate to parameterize the /geodesic/kops/manifest/. Gomplate is an alternative to envsubst that provides some useful built-in functions to make templates even more expressive.