Update dependency terragrunt to v0.81.6 #409
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.78.4
->0.81.6
Release Notes
gruntwork-io/terragrunt (terragrunt)
v0.81.6
Compare Source
🐛 Bug Fixes
The
catalog
command no longer panics during scaffoldingA mistake in a refactor of internal logging caused a panic during scaffolding while using the Terragrunt Catalog Terminal User Interface (TUI).
That bug has been fixed.
IaC Engines now properly handle errors during
init
andshutdown
Some missing error handling in IaC Engines has been introduced to properly handle failed initialization and shutdown by IaC Engines.
What's Changed
catalog
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4421Full Changelog: gruntwork-io/terragrunt@v0.81.5...v0.81.6
v0.81.5
Compare Source
✨ New Features
Terragrunt now supports using credentials in
.terraformrc
filesTerragrunt now supports credentials stored in
.terraformrc
files when fetching from private registries, in addition to the fallback mechanism of usingTG_TF_REGISTRY_TOKEN
.Special thanks to @dlundgren for contributing this feature!
What's Changed
New Contributors
Full Changelog: gruntwork-io/terragrunt@v0.81.4...v0.81.5
v0.81.4
Compare Source
🧪 Experiments Updated
The
reports
experiment now supports the--summary-unit-duration
flagAs part of delivering #3628 , the reports experiment has been updated to support optionally displaying unit-level duration information in the Run Summary.
You can now optionally display the duration for each unit run as part of the Run Summary by adding the
--summary-unit-duration
flag to yourrun
commands:e.g.
$ terragrunt run --all plan --summary-unit-duration ### Omitted for brevity... ❯❯ Run Summary Duration: 10m long-running-unit: 10m medium-running-unit: 12s short-running-unit: 5ms Units: 3 Succeeded: 3
By default, this information will be omitted.
For more information, see Showing unit durations in the docs.
What's Changed
--summary-unit-duration
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4410Full Changelog: gruntwork-io/terragrunt@v0.81.3...v0.81.4
v0.81.3
Compare Source
🧪 Experiments Updated
The
reports
experiment now supports generating reports in JSON formatAs part of delivering #3628 , the reports experiment has been updated to support JSON report generation in addition to the default of CSV report generation.
To generate a report using JSON formatting, either use the
--report-format
flag to explicitly set the format to one ofcsv
orjson
or provide a--report-file
with a.csv
or.json
file extension to implicitly select the report format.The JSON version of report summaries look like this:
For more information, read the documentation on the Run Report.
The
reports
experiment now supports generating a JSON schema for reportsAs part of delivering #3628 , the reports experiment has been updated to support generating a JSON schema following the JSON Schema specification in addition to generating reports.
To generate a schema, use the
--report-schema-file
flag.The schema looks like this:
For more information, read the documentation on the Run Report.
What's Changed
report
experiment by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4403--report-schema-file
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4408Full Changelog: gruntwork-io/terragrunt@v0.81.2...v0.81.3
v0.81.2
Compare Source
🧪 Experiments Updated
The
reports
experiment now supports generating reportsAs part of delivering #3628 , the reports experiment has been updated to support CSV report generation.
When the reports experiment is enabled, and the
--report-file
argument is passed to arun --all
/run --graph
/stack run
command, Terragrunt will generate a CSV report of the run in addition to the summary that is emitted by default.The report summary looks like this:
That report offers details on the outcome of each run in the Run Queue.
For more information, read the documentation on the Run Report.
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.81.1...v0.81.2
v0.81.1
Compare Source
🧪 Experiments Added
The
reports
experiment has been addedAs part of delivering #3628 , the reports experiment has been added.
When enabled, Terragrunt will emit summaries of runs at the end of
run --all
commands.e.g.
$ terragrunt run --all plan ### Omitted for brevity... ❯❯ Run Summary Duration: 62ms Units: 3 Succeeded: 3
The summary can also be disabled using the
--summary-disable
flag, even when the experiment is active.You can learn more about this feature here.
More will be added in the near future to allow for report generation and customization. Stay tuned!
What's Changed
report
package by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4386configstack
abstraction by @denis256 in https://github.com/gruntwork-io/terragrunt/pull/4385Full Changelog: gruntwork-io/terragrunt@v0.81.0...v0.81.1
v0.81.0
Compare Source
🛠️ Breaking Changes
Bare Includes Deprecated
Use of bare includes (include configuration blocks without a label) are now deprecated.
For example:
Will now result in a deprecation warning, while the following usage of an include with a label added won't:
Using labeled includes result in better performance, as backwards compatibility requires that Terragrunt does additional work during configuration processing. You are advised to update your bare includes to use labels as early as possible.
Note that although this deprecation won't be an immediate breaking change. It will be a breaking change in the future. To opt-in to this breaking change today, you can use the bare-include strict control to mandate usage of the modern, labelled include. Doing so will ensure that you and your teammates are leveraging the most performant version of the configuration block.
Backwards compatibility is guaranteed to remain present for this functionality until at least Terragrunt 2.0.
Logging Moved from Terragrunt Options
If you depend on Terragrunt as a Golang library, you'll want to take note that this release introduces a breaking change to public functions in multiple packages to adjust how the logger is passed. The Terragrunt logger is no longer a member of the
TerragruntOptions
struct in theoptions
package, and is instead passed explicitly as an argument to functions that need the logger.For example, the signature for the
RunCommand
function in theshell
package changed from this:To this:
You maybe need to manually construct a logger to pass into public functions you are calling in Terragrunt packages as a consequence.
✨ New Features
Added
constraint_check
HCL FunctionA new HCL function, constraint_check, has been added to Terragrunt.
This HCL function allows you to drive logic in your configurations based on constraints checked against arbitrary semantic versions.
For example:
Using this function, you can alter the behavior of units when particular OpenTofu/Terraform module versions are used, including changing inputs or altering error handling.
What's Changed
relative_path_to_include
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4371constraint_check
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4384Full Changelog: gruntwork-io/terragrunt@v0.80.4...v0.80.5
v0.80.4
Compare Source
✨ New Features
The
exec
command now supports--tf-path
The
exec
command has gained support for use of the--tf-path
flag. This can be important when Terragrunt incidentally uses OpenTofu/Terraform to do things like fetch outputs from dependencies.Thanks to @erpel for contributing this feature!
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.80.3...v0.80.4
v0.80.3
Compare Source
🏎️ Performance Improvements
Significant performance improvements for
run --all
The performance of
run --all
has been improved in two significant ways:Performance for named includes has improved.
Backwards compatibility for bare includes required that Terragrunt do some inefficient work internally to handle both named includes and bare includes by doing an in-memory rewrite of Terragrunt configurations. An optimization has been introduced to avoid this behavior when users use named includes. This optimization does not extend to users that are using bare includes.
Users are advised to avoid using bare includes whenever possible for maximum performance. A strict control has been introduced to enforce usage of named includes.
In a future minor release, a warning will be emitted, instructing users to stop using bare includes. Maintainers will avoid breaking support for bare includes until at least 2.0.
For more information on how to benefit from this optimization, see the migration guide.
The check for OpenTofu/Terraform code has been optimized.
To provide helpful error messages when users don't have OpenTofu/Terraform code for Terragrunt to run, Terragrunt checks for the presence of OpenTofu/Terraform configuration files (e.g.
*.tf
,*.tofu
). This check has been optimized to improve performance.In a micro-benchmark on an M3 Max, using the
BenchmarkManyEmptyTerragruntInits
benchmark, which tests the performance of a Terragruntrun --all init
across 1000 inits, the following performance gains were released:More optimizations of this sort are planned for future releases.
Size reduction of compiled binaries
The size of compiled binaries will be reduced due to the stripping of debug symbols from the final executable. As an example, this drops the size of the compiled Linux AMD64 binary from 99MB to 70MB.
This can be a small improvement to download times for environments where Terragrunt is downloaded frequently.
🐛 Bug Fixes
Fixed
-detailed-exitcode
behavior inrun --all
An unintended side-effect of addressing a different bug for Terragrunt’s handling of the
-detailed-exitcode
flag in OpenTofu/Terraform in retries was that any run in arun --all
could override the exit code of the entirerun --all
.This has been fixed. The exit code of the
run --all -- plan -detailed-exitcode
command will now properly aggregate exit codes from all runs in arun --all
, only reseting the exit code for an individual unit if it properly recovers after a retry.What's Changed
-detailed-exitcode
by @denis256 in https://github.com/gruntwork-io/terragrunt/pull/4357Full Changelog: gruntwork-io/terragrunt@v0.80.2...v0.80.3
v0.80.2
Compare Source
✨ New Features
find
adds support for--include
The
find
command now supports the--include
flag to allow for fine grained control over the discovery of units that include other partial configurations.e.g.
Combining the flag with tools like
jq
allows for simple discovery of configurations that include other partial configurations.🐛 Bug Fixes
--tf-path
now correctly overridesterraform_binary
A bug in the precedence logic for Terragrunt configuration parsing resulted in the CLI flag
--tf-path
from being ignored when theterraform_binary
attribute was set.Terragrunt will now correctly respect the
terraform_binary
attribute when set, and allow--tf-path
to override the value when it is set.What's Changed
--tf-path
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4332--include
onfind
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4335Full Changelog: gruntwork-io/terragrunt@v0.80.1...v0.80.2
v0.80.1
Compare Source
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.80.0...v0.80.1
v0.80.0
Compare Source
Terraform 1.12 support: We are now testing Terragrunt against Terraform 1.12 and is confirmed to be working.
NOTE: Although this release is marked as backward incompatible, it is functionally compatible as nothing has been changed in Terragrunt internals. The minor version release is useful to mark the change in Terraform version that is being tested.
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.79.3...v0.80.0
v0.79.3
Compare Source
💪🏽 Enhancements
Limitation on Catalog URLs lifted
A limitation on only supporting recognized go-getter URL patters has been lifted from the catalog command.
The reason this limitation existed in the past was to ensure that users were able to have Terragrunt load module source code in browsers from the catalog Terminal User Interface (TUI). To support that, only a constrained set of sources were supported, to ensure that a button was available to pop open the link in the browser.
Terragrunt will now dynamically adjust the buttons available after module selection to gracefully degrade the experience, instead of completely rejecting repository sources that can't be predictably converted to browser URLs.
This allows more users to adopt the Terragrunt Catalog, while providing the same great user experience for users that are on fully supported platforms, like GitHub, GitLab, BitBucket, etc.
What's Changed
New Contributors
Full Changelog: gruntwork-io/terragrunt@v0.79.2...v0.79.3
v0.79.2
Compare Source
🏎️ Performance Improvements
Improved overall performance by memoizing
-version
output in each unit.In a micro-benchmark on an M3 Max, using the
BenchmarkManyEmptyTerragruntInits
benchmark, which tests the performance of a Terragruntrun --all init
across 1000 units, the following performance gains were released:More optimizations of this sort are planned for future releases.
What's Changed
-version
output by @denis256 in https://github.com/gruntwork-io/terragrunt/pull/4288Full Changelog: gruntwork-io/terragrunt@v0.79.1...v0.79.2
v0.79.1
Compare Source
💪🏽 Enhancements
Recursive stack clean
Improved
stack clean
to recursively delete all nested stack directories, ensuring thorough cleanup.What's Changed
stack clean
by @denis256 in https://github.com/gruntwork-io/terragrunt/pull/4313legacy-all
control in documentation by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4311Full Changelog: gruntwork-io/terragrunt@v0.79.0...v0.79.1
v0.79.0
Compare Source
💪🏽 Enhancements
The
run --all
command automatically generates Terragrunt StacksIf you are using
terragrunt.stack.hcl
files in your codebase,run --all
commands will now automatically expand allterragrunt.stack.hcl
files into generated stack configurations, as if you had runstack generate
before running therun --all
command.e.g.
Is now equivalent to:
If you would like to disable this new behavior, you can use the
--no-stack-generate
to opt out of automatic stack generation.📖 Docs Updates
The Terragrunt v1 docs are open for feedback!
These docs will undergo significant adjustments, both stylistically, and functionality on the road to 1.0.
They are a full rewrite of the existing Terragrunt Docs site written in Jekyll to one using Starlight.
Your feedback is requested! If you are reading these release notes relatively soon after release, you should see a link at the top of the site where you can provide your feedback on the new docs.
What's Changed
remote-relative-with-slash
fixture on ARM tests by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4297New Contributors
Full Changelog: gruntwork-io/terragrunt@v0.78.4...v0.79.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.