Terragen
Backdrop
- The idea of
Terragenwas born while reading and working on several other terraform providers. - The initial version of the
Terragenwas just a one-time scaffold generator for Hashicorp terraform custom provider with limited features. - While working on operators for Kubernetes bumped on to frameworks such as Kubebuilder and operator-sdk.
- The idea for the latest version of
Terragenis derived from such frameworks.
Prerequisites
- Go 1.12 or above . Installing go can be found here.
- Basic understanding of terraform provider and creating one of them.
Terragen
terragen --help would help in listing all available commands and flags of Terragen.
Terragen helps user to create custom terraform provider and its components by generating scaffolds.
Usage:
terragen [command] [flags]
Available Commands:
create Command to scaffold provider and other components of terraform provider
edit Command to edit the scaffold created for a provider
help Help about any command
version Command to fetch the version of terragen installed
Flags:
--dry-run dry-run the process of provider scaffold creation
-h, --help help for terragen
-p, --path string path where the templates has to be generated (default ".")
Use "terragen [command] --help" for more information about a command."
Other Components
Other than project scaffolds, terragen generates additional files. Below are the list of those and its usage:
Makefile: Along with regular scaffolds generated for a project, terragen generates makefile with minimal make targets to ease the development.terragem.yml: This is a metadata generated by terragen to track allcreated/updatedcomponents and also project’s compatibility with other versions of terragen.