terragrunt

Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.

MIT License

Stars
7.6K
Committers
279

Bot releases are hidden (Show)

terragrunt - v0.28.1

Published by yorinasub17 over 3 years ago

Updated CLI args, config attributes and blocks

  • run-all [new CLI command]
  • apply-all [deprecated]
  • plan-all [deprecated]
  • output-all [deprecated]
  • destroy-all [deprecated]
  • validate-all [deprecated]

Description

  • Terragrunt now has a generic run-all command that allows you to run arbitrary terraform commands against a terragrunt stack. For example, you can run terraform init against a stack using terragrunt run-all init.
  • xxx-all commands have now been deprecated in favor of run-all. Each command still works for backwards compatibility, but may be removed in the future.

Related links

terragrunt - v0.28.0

Published by brikis98 over 3 years ago

Updated CLI args, config attributes and blocks

  • --terragrunt-log-level [new CLI argument]

Description

  • Terragrunt now has improved logging! Each log message is now set with a different log level, and the default log level is set to warn, so by default, you'll get much less noise from Terragrunt's logging. You can configure the log level using the new --terragrunt-log-level argument. There should be no behavior difference, but since it's such a drastic difference in how logs look, marking this as backwards incompatible just in case.

Related links

terragrunt - v0.27.4

Published by yorinasub17 over 3 years ago

Updated CLI args, config attributes and blocks

  • aws-provider-patch [CLI command]

Description

  • Fix a bug in aws-provider-patch where it outputted invalid hcl in certain cases.

Related links

terragrunt - v0.27.3

Published by brikis98 over 3 years ago

Updated CLI args, config attributes and blocks

  • providers lock [CLI command]

Description

  • Terragrunt will now copy the .terraform.lock.hcl file not only when you run the init command, but also on the providers lock command.

Special thanks

  • Thank you to @ZymoticB for the contribution!

Related links

terragrunt - v0.27.2

Published by yorinasub17 over 3 years ago

Updated CLI args, config attributes and blocks

  • --terragurnt-debug [CLI arg]

Description

  • This release fixes a bug where --terragrunt-debug was not always interpreted correctly.

Related links

terragrunt - v0.27.1

Published by yorinasub17 almost 4 years ago

Updated CLI args, config attributes and blocks

  • remote_state [block]

Description

  • This release fixes a bug where the generated code from remote_state blocks in generate mode was nondeterministic. The backend configuration is now deterministically generated in sorted key order.

Special thanks

Special thanks to the following users for their contribution:

  • @Jerazol
  • @jonathansp
  • @SCTommyG

Related links

terragrunt - v0.27.0

Published by brikis98 almost 4 years ago

Updated CLI args, config attributes and blocks

  • Lock file handling [NEW FUNCTIONALITY]

Description

  • This release updates Terragrunt to work with Terraform 0.14!
    • Terragrunt now supports handling Terraform lock files. Check out the lock file handling documentation for details.
    • Fix a bug with Terragrunt always re-running init.

Migration guide

  1. Follow the Terraform 0.14 upgrade guide to update your Terraform code.
  2. The only other thing you will need to do is start checking in the Terraform lock files (.terraform.lock.hcl), which is new functionality added in Terraform 0.14. Terragrunt will automatically copy the lock file next to your terragrunt.hcl file, so you should be able to commit it to version control just as with any other Terraform project. Check out the lock file handling documentation for details.

Related links

terragrunt - v0.26.7

Published by yorinasub17 almost 4 years ago

Updated CLI args, config attributes and blocks

  • dependency

Description

  • Fix bug where mock_outputs_allowed_terraform_commands did not work correctly for nested dependencies.

Related links

terragrunt - v0.26.6

Published by yorinasub17 almost 4 years ago

Updated CLI args, config attributes and blocks

  • remote_state [gcs]

Description

  • The gcs configuration for remote_state now supports impersonate_service_account when creating the bucket.

Special thanks

Thank you to @ksvladimir for the contribution!

Related links

terragrunt - v0.26.5

Published by yorinasub17 almost 4 years ago

Updated CLI args, config attributes and blocks

(none)

Description

  • The xxx-all commands (e.g., apply-all) now properly skip the .terragrunt-cache on Windows.

Special thanks

Thank you to @xmclark for the contribution!

Related links

terragrunt - v0.26.4

Published by brikis98 almost 4 years ago

Updated CLI args, config attributes and blocks

(none)

Description

  • The xxx-all commands (e.g., apply-all) now skip the .terragrunt-cache entirely when scanning for Terragrunt modules, which should make these commands run faster.

Special thanks

Thank you to @awiddersheim for the contribution!

Related links

terragrunt - v0.26.3

Published by brikis98 almost 4 years ago

Updated CLI args, config attributes and blocks

(none)

Description

  • Fix a bug where Terragrunt would pass through the TF_CLI_ARGS environment variable when calling terraform --version for an internal version check, which could lead to errors. Terragrunt will now omit this environment variable during this version check.

Special thanks

Thank you to @awiddersheim for the fix!

Related links

terragrunt - v0.26.2

Published by ina-stoyanova almost 4 years ago

Updated CLI args, config attributes and blocks

(none)

Description

  • Fixing version tags:
    • We previously released v0.26.1 too quick - when the correct version number was v0.26.0. However, that's caused problems on other third-party tools using terragrunt - e.g. brew install terragrunt was pointing to the non-existing tag v0.26.1.

Related links

terragrunt - v0.26.0

Published by ina-stoyanova almost 4 years ago

Updated CLI args, config attributes and blocks

  • remote_state_s3_test.go
  • skip_bucket_accesslogging config option
  • accesslogging_bucket_name config option
  • gostructToCty function

Description

  • Add commercial support subpages
  • Rename the gostructToCty (in config_as_cty.go) -> goTypeToCty (fixes issue: #1384)
  • Deprecate skip_bucket_accesslogging (fixes issue: #1333)
  • Replace it with accesslogging_bucket_name (fixes issue: #1333)
  • Updated docs for relevant configuration option updates & missing asset paths

Migration guide

You only need to follow this guide if you used Terragrunt v0.18.0 or newer to automatically create S3 buckets as a backend (Auto Init) with access logging. If you created the S3 buckets yourself using other mechanisms, you can skip this guide.

If you used Terragrunt v0.18.0 or newer with Auto Init enabled to create S3 buckets as a backend, then you might be seeing the following bug, described in more details here: https://github.com/gruntwork-io/terragrunt/issues/1333

Fixing the bug on existing S3 buckets

  1. In the AWS Web Console, locate the S3 remote state buckets that were created with terragrunt.
  2. For all the relevant S3 buckets, find & navigate to their logging properties.
  3. Edit the properties and set the Target Bucket to point to a new S3 bucket dedicated for logs (you may need to create this new bucket yourself, if it doesn't exist already).

Skipping access logging if you had skip_bucket_accesslogging set

  1. Find all terragrunt configuration files from your code base that have the skip_bucket_acesslogging config option set.
  2. Remove the skip_bucket_accesslogging config option.
  3. Run terragrunt plan - no planned changes should be output & the access logging should still be disabled for the relevant S3 buckets.

Enabling access logging with this release and going forward

Caveat: This only applies to new S3 buckets for storing terraform state created by Terragrunt Auto Init. If the bucket already exists, Terragrunt will NOT update the existing S3 bucket.

  1. Find all terragrunt.hcl files that set up a remote state using S3, and you want to enable server access logging for the S3 bucket the state will be stored in.
  2. Add in the remote_state.config section of the configuration file the new config option and replace the value "A VALID S3 BUCKET NAME STRING" with a string fir the name of your logs Target Bucket.
# terragrunt.hcl
remote_state {
...
  config = {
    ...
    accesslogging_bucket_name = "A VALID S3 BUCKET NAME STRING"
    ...
  }
}
  1. Run one of the following commands terragrunt plan | apply | validate so that the S3 state bucket new configuration changes can take effect

Docs

Check out the docs to read in more detail how to use the new attribute.

Special thanks

  • Thank you to @VishalCR7, @ArkuVonSymfon & @klijakub for the contribution!
  • Thank you to @tony-harverson-moonpig for raising the issue for S3 bucket logging

Related links

terragrunt - v0.25.5

Published by yorinasub17 almost 4 years ago

Updated CLI args, config attributes and blocks

  • remote_state ; s3 (config block)

Description

This release fixes a bug in the auto S3 bucket creation routine, where it will ignore the skip_ flags under certain circumstances where the backend configuration is modified (e.g., modifying the bucket name or object key location).

Related links

terragrunt - v0.25.4

Published by brikis98 about 4 years ago

Updated CLI args, config attributes and blocks

  • aws-provider-patch (CLI arg)

Description

The aws-provider-patch command now allows you to override attributes in nested blocks: e.g., override the role_arn attribute in an assume_role { ... } block. This is to work around yet another Terraform bug with import.

Related links

terragrunt - v0.25.3

Published by infraredgirl about 4 years ago

Updated CLI args, config attributes and blocks

New config attribute:retryable_errors

Description

Retryable errors are now configurable. For more information see the following documentation pages:

Related links

terragrunt - v0.25.2

Published by yorinasub17 about 4 years ago

Updated CLI args, config attributes and blocks

  • remote_state

Description

Previously, Terragrunt logged detailed information about changes in the config for the remote_state block, which could include secrets. Now these detailed change logs have been demoted to debug level and will only be logged if debug logging is enabled (environment variable TG_LOG=debug).

Related links

terragrunt - v0.25.1

Published by brikis98 about 4 years ago

Updated CLI args, config attributes and blocks

  • sops_decrypt_file

Description

  • The sops_decrypt_file will now cache decrypted files in memory while Terragrunt runs. This can lead to a significant speed up, as it ensures that each unique file path is decrypted at most once per run.

Special thanks

  • Thank you to @abeluck for the contribution!

Related links

terragrunt - v0.25.0

Published by brikis98 about 4 years ago

Updated CLI args, config attributes and blocks

(none)

Description

  • Terraform 0.13 upgrade: We have verified that this repo is compatible with Terraform 0.13.x!
    • From this release onward, we will only be running tests with Terraform 0.13.x against this repo, so we recommend updating to 0.13.x soon!

Related links