Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
MIT License
Bot releases are hidden (Show)
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/850: Implements better error handling for cyclic dependency
blocks so that you can see when you have a cycle in your dependency
references.
https://github.com/gruntwork-io/terragrunt/pull/840: Implements better error checking of dependency
blocks to make sure the target module has already been applied. Additionally, this implements mock_outputs
which can be used to run validate
on a module before the dependencies are applied. See the updated README for more information.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/826: hclfmt now runs before parsing the terragrunt config.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/841: Fix bug where yamldecode
unnecessarily compacts number strings.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/828: We now have a new block dependency
, which can be used to read in outputs of other terraform modules managed with terragrunt config. For example, if you wanted to read the outputs of the vpc
module located at ../vpc
from your current terragrunt config, you can do:
dependency "vpc" {
config_path = "../vpc"
}
inputs = {
vpc_id = dependency.vpc.outputs.vpc_id
}
Take a look at the new section in the README to learn more.
Published by robmorgan about 5 years ago
#818, #823: If specified use remote_state.config.credentials
to check if the GCS bucket exists. If it isn't specified then assume the GOOGLE_APPLICATION_CREDENTIALS
environment variable has been set. Don't throw an error if remote_state.config.bucket
isn't specified and assume it will be passed through the extra_arguments
-backend-config variable.
Special thanks to @marko7460 for their contribution!
Published by brikis98 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/751: Added two new settings you can use in your terragrunt.hcl
configuration: terraform_binary
lets you specify a custom path to the Terraform binary and terraform_version_constraint
lets you modify the version constraint Terragrunt enforces when running Terraform. This allows you to use the newest version of Terragrunt with older versions of Terraform. Note, however, that we only test Terragrunt with the latest version of Terraform, and provide no guarantees about compatibility with older versions.
Published by brikis98 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/816: Fix a bug where terragrunt apply
could fail as it tries to delete files that are already deleted.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/807: Introduce a flag --terragrunt-check
which runs hclfmt
in check mode. Check mode indicates that the files shouldn't be updated, and the command should instead error out if any files are unformatted.
Special thanks to @thoo5ieb for their contribution!
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/813: Update hclfmt
to ignore the terragrunt cache folders.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/802: Implements locals
, a new block in the terragrunt config that can be used to bind temporary variables within the config. For example, suppose you had a magic string that you repeat multiple times:
inputs = {
aws_region = "us-east-1"
s3_endpoint = "com.amazonaws.us-east-1.s3"
}
Here, the string us-east-1
is repeated. You can extract this out into a local
to DRY:
locals {
region = "us-east-1"
}
inputs = {
aws_region = local.region
s3_endpoint = "com.amazonaws.${local.region}.s3"
}
You can read more in the new section of the README that describes locals.
Published by brikis98 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/774: Terragrunt now maintains a manifest of the files it copied so it can do a better job of cleaning up those files each time you re-run.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/801: Introduces a new sub command hclfmt
which can be used to format your terragrunt.hcl
files.
Published by brikis98 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/794: Add auto retry for "connection reset by peer" errors.
Published by yorinasub17 about 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/796: Enable public access protection on the S3 bucket used to store state files. This ensures that misconfigurations in terraform and terragrunt can not accidentally enable public access for the state files. You can read more about public access blocking in the official AWS docs.
NOTE: Terragrunt and Terraform do not enable public access ACLs on the bucket or the state files stored in the bucket. Your existing buckets and state files created by previous versions of Terragrunt are already private and you do not need to upgrade to make them private. This feature is an additional protection on top of the existing measures to ensure that you don't accidentally enable public access.
If you wish to enable public access blocking on existing buckets created using previous versions of Terragrunt, follow the instructions on the official docs to enable the protection through the AWS console.
Published by brikis98 over 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/787: You can now suppress the output of run_cmd()
(e.g., for sensitive commands) by passing --terragrunt-quiet
as the first argument to run_cmd()
.
Published by robmorgan over 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/771: Ensure project
and location
are optional when using the GCS backend. This release also fixes a bug that may lead to Terragrunt creating a GCS bucket in the wrong location.
Published by yorinasub17 over 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/761 & https://github.com/gruntwork-io/terragrunt/pull/769: Introduce a new config option for the remote state backend in terragrunt.hcl
(disable_init
) which, when set to "true"
, will skip the backend initialization step.
Special thanks to @stefansedich for their contribution!
Published by robmorgan over 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/757: Terragrunt now supports remote state using the gcs backend including automatically creating a state bucket if it doesn't already exist.
Published by brikis98 over 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/753: Fix how include
blocks are parsed so that path_relative_to_include
, path_relative_from_include
, and get_parent_terragrunt_dir
work correctly when used directly in the child terragrunt.hcl
.
Published by brikis98 over 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/748: Terragrunt now supports ALL built-in Terraform functions! You can use them to do math (e.g., ceil
, min
, max
), manipulate strings (e.g., format
, split
, substr
), interact with files (file
, dirname
), and much more.