0.2 contains several field cleanups as well as a major change in the removal of Terragrunt.
Terragrunt is no longer supported in the Terraform engine. Configs are now deployed solely with Terraform. As a result of this, the structure of the generated configs has changed and there are minor changes in the engine input configs needed as well.
As always, see the examples for how to use the latest set of recipes.
Changes to binaries
TF engine now sets output_path in template data. This can be used by templates to set state_path_prefix.
Config changes required by users
Field enable_bootstrap_gcs_backend has been renamed to enable_gcs_backend.
CICD block has moved from devops.hcl recipe to its own dedicated cicd.hcl recipe.
Field cicd.{validate,plan,apply}_trigger previously in recipe devops.hcl has been renamed to triggers.{validate,plan,apply} in recipe cicd.hcl .
Recipes no longer set the output_path. Users must explicitly set the output_path to be the directory they want to write the files for the recipes. For example, in 0.1 you could use the audit.hcl recipe and set output_path to ./live. This would create an audit directory in ./live. Now, you need to explicitly set output_path to ./live/audit, or simply ./audit.
Recipe cicd.hcl now has a new field managed_dirs which controls the root terraform modules deployed by the CICD as well as their order. Recipes now also typically only create one Terraform root module (not multiple like before). Thus, the user can control the module names being deployed.
deployments in project.hcl has been removed. Simply move all resources within this field into the top level resources field.
secret_locations is now required if secrets are set.
Migration steps
Due to the change in directory structure, it is recommended to delete the existing generated configs and let the engine re-generate a new set of configs. If you made manual changes, they will need to be migrated manually to the new generated configs.
Due to the numerous changes in the directory structure, it is recommended to run the Terraform importer on every root module. Carefully review the terraform plan after each import.
Depends on #397 #479 #488 #489
Release Notes
WARNING: This is a breaking change.
0.2 contains several field cleanups as well as a major change in the removal of Terragrunt.
Terragrunt is no longer supported in the Terraform engine. Configs are now deployed solely with Terraform. As a result of this, the structure of the generated configs has changed and there are minor changes in the engine input configs needed as well.
As always, see the examples for how to use the latest set of recipes.
Changes to binaries
output_path
in template data. This can be used by templates to setstate_path_prefix
.Config changes required by users
enable_bootstrap_gcs_backend
has been renamed toenable_gcs_backend
.devops.hcl
recipe to its own dedicatedcicd.hcl
recipe.cicd.{validate,plan,apply}_trigger
previously in recipedevops.hcl
has been renamed totriggers.{validate,plan,apply}
in recipecicd.hcl
.output_path
. Users must explicitly set theoutput_path
to be the directory they want to write the files for the recipes. For example, in 0.1 you could use theaudit.hcl
recipe and set output_path to./live
. This would create an audit directory in ./live. Now, you need to explicitly setoutput_path
to./live/audit
, or simply./audit
.cicd.hcl
now has a new fieldmanaged_dirs
which controls the root terraform modules deployed by the CICD as well as their order. Recipes now also typically only create one Terraform root module (not multiple like before). Thus, the user can control the module names being deployed.deployments
inproject.hcl
has been removed. Simply move all resources within this field into the top levelresources
field.secret_locations
is now required if secrets are set.Migration steps
terraform plan
after each import.