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 over 4 years ago
dependency
[Block]This release introduces an optimization for retrieving dependencies, where each dependency will be retrieved concurrently.
Special thanks to @dmattia for their contribution!
Published by yorinasub17 over 4 years ago
hclfmt
[command]This release upgraded the internal terraform functions to the latest version (v0.12.24
). Previously unavailable functions such as trim
, try
, and can
are now available. hclfmt
has also been upgraded to handle formatting files with heredoc syntax correctly.
Internally, terragrunt now uses go modules for dependency management.
Published by yorinasub17 over 4 years ago
hclfmt
[command]--terragrunt-hclfmt-file
[CLI Arg] [NEW]hclfmt
now supports formatting a single file as opposed to an entire directory tree. Use --terragrunt-hclfmt-file
to specify the single file you wish to format.
Thanks to @EDsCODE for the PR!
Published by brikis98 over 4 years ago
Terragrunt will now always look for its config in terragrunt.hcl
and terragrunt.hcl.json
files. The latter used to be broken in xxx-all
commands (e.g., validate-all
).
Thanks to @rimmington for the PR!
Published by yorinasub17 over 4 years ago
This release fixes a bug where Terragrunt crashes with a panic
when Terraform exits with a fatal error.
Published by brikis98 over 4 years ago
find_in_parent_folders
(function) [BACKWARDS INCOMPATIBLE CHANGE]
The find_in_parent_folders
function will now return an absolute path rather than a relative path. This should make the function less error prone to use, especially in situations where the working directory may change (e.g., due to .terragrunt-cache
).
In many config, a common pattern was to use get_terragrunt_dir
to construct a path with find_in_parent_folders
to make the relative path consistent. E.g:
locals {
region_vars = file("${get_terragrunt_dir()}/${find_in_parent_folders("region.yaml", "${path_relative_from_include()}/empty.yaml")}")
}
With this change, find_in_parent_folders
now returns the absolute path so you need to update with:
locals {
region_vars = file(find_in_parent_folders("region.yaml", find_in_parent_folders("empty.yaml")))
}
Published by brikis98 over 4 years ago
remote_state
(block)Terrarunt will now respect the external_id
and session_name
parameters in your S3 backend config.
Thanks to @kujon for the contribution!
Published by yorinasub17 over 4 years ago
--terragrunt-include-dir
(CLI arg)--terragrunt-strict-include
(CLI arg) [NEW]This fixes a bug in the behavior of --terragrunt-include-dir
where there was an inconsistency in when dependencies that were not directly in the included dirs were included. Now all dependencies of included dirs will consistently be included as stated in the docs.
This release also introduced a new flag --terragrunt-strict-include
which will ignore dependencies when processing included directories.
Published by yorinasub17 over 4 years ago
read_terragrunt_config
(func) [NEW]generate
(block)This release introduces the read_terragrunt_config
function, which can be used to load and reference another terragrunt config. See the function documentation for more details.
This release also fixes a bug with the generate
block where comment_prefix
was ignored.
Published by yorinasub17 over 4 years ago
remote_state
(block)This release exposes a configuration to disable checksum computations for validating requests and responses. This can be used to workaround https://github.com/gruntwork-io/terragrunt/issues/1059.
Published by robmorgan over 4 years ago
remote_state
(block)Allow creating GCS buckets for state storage with the Bucket Policy Only attribute, exposed as the config property enable_bucket_policy_only
.
This release also includes a documentation fix for the dependency
block reference.
Special thanks to @chrissng for their contribution!
Published by yorinasub17 over 4 years ago
generate
(block) [NEW]remote_state
(block)This release introduces the generate
block and the generate
attribute to the remote_state
block. These features can be used to generate code/files in the Terragrunt working directory (where Terragrunt calls out to Terraform) prior to calling terraform
. See the updated docs for more info. Also see here for documentation on generate
blocks and here for documentation on the generate
attribute of the remote_state
block.
Published by brikis98 over 4 years ago
https://github.com/gruntwork-io/terragrunt/pull/1042: Fixed a bug in the S3 permissions so they should now work properly for the root user.
Special thanks to @nicomfer for their contribution!
Published by yorinasub17 over 4 years ago
https://github.com/gruntwork-io/terragrunt/pull/1030: There is now a special after hook terragrunt-read-config
, which is triggered immediately after terragrunt loads the config (terragrunt.hcl
). You can use this to hook important processes that should be run as the first thing in your terragrunt pipeline.
Special thanks to @sleungcy for their contribution!
Published by yorinasub17 almost 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/1000: Terragrunt IAM role assume functionality will now also set the legacy environment variable AWS_SECURITY_TOKEN
after assuming the role. This is useful for overriding the credentials set by tools like aws-vault
when role chaining, as these tools also set the AWS_SECURITY_TOKEN
which confuses the AWS SDK.
Special thanks to @alexandrst88 for their contribution!
Published by bwhaley almost 5 years ago
#978: This is a bug fix release (fixes #770). After creating the remote state S3 bucket, we need to grant access to the AWS account root user. Without this, the root user cannot use the remote state
bucket. It also adds a skip_bucket_root_access
option to the remote state config in the event that this behavior is undesirable for some reason.
Published by yorinasub17 almost 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/975: validate
is no longer a command that accepts -var
and -var-file
arguments in terraform 0.12.X. Therefore, it is no longer in the list of commands returned by get_terraform_commands_that_need_vars
.
Special thanks to @ryno75 for their contribution!
Published by yorinasub17 almost 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/970: Fix bug where terragrunt console
does not have readline properties and thus the output is garbled.
https://github.com/gruntwork-io/terragrunt/pull/971: Fix bug where get_aws_account_id
will cause terragrunt to crash if you do not have any credentials in the chain. Instead, terragrunt now fails gracefully with a proper error message.
Published by yorinasub17 almost 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/969: RunTerragrunt
is now a public function that can be called programmatically when using terragrunt as a library.
Special thanks to @rvodden for their contribution.
Published by yorinasub17 almost 5 years ago
https://github.com/gruntwork-io/terragrunt/pull/863: Support JSON format for terragrunt configuration files, as described in JSON configuration syntax for terraform.
Special thanks to @jakauppila for their contribution!