-
Notifications
You must be signed in to change notification settings - Fork 3
Update dependency gruntwork-io/terragrunt to v0.83.0 #390
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/gruntwork-io-terragrunt-0.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
052b08f
to
2cfcb89
Compare
2cfcb89
to
5bb757d
Compare
5bb757d
to
625f376
Compare
625f376
to
6c331c6
Compare
6c331c6
to
5230acc
Compare
04b1742
to
dcba77e
Compare
dcba77e
to
9a071c3
Compare
9a071c3
to
f424dcb
Compare
dbb25b5
to
a345a96
Compare
a345a96
to
ab34048
Compare
ab34048
to
32389b7
Compare
32389b7
to
7478dc6
Compare
7478dc6
to
ee16f34
Compare
04fc704
to
8553cc9
Compare
83994f7
to
ab96e91
Compare
ab96e91
to
c54cd4e
Compare
8869dc4
to
bb9d887
Compare
bb9d887
to
2967d98
Compare
2967d98
to
97540cf
Compare
97540cf
to
a41356e
Compare
a41356e
to
c40ec19
Compare
c40ec19
to
7b99b03
Compare
fc287f9
to
c2a3462
Compare
c2a3462
to
981f35c
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
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.83.0
Release Notes
gruntwork-io/terragrunt (gruntwork-io/terragrunt)
v0.83.0
Compare Source
✨ New Features
runner-pool
to improve unit apply performance. The feature can be enabled using the--experiment runner-pool
flag.RFC: https://github.com/gruntwork-io/terragrunt/issues/3629
🛠️ Breaking Changes
🐛 Bug Fixes
--tf-path
flag.runner-pool
, ensuring correct file resolution during execution.What's Changed
TestProviderCache
flake by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4495--tf-path
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4493New Contributors
Full Changelog: gruntwork-io/terragrunt@v0.82.4...v0.83.0
v0.82.4
Compare Source
✨ New Features
Support for OpenTofu 1.10 Native S3 Locking
The
remote_state
S3 backend now integrates natively with the OpenTofu 1.10 feature of state locking via S3 without the usage of DynamoDB using the newuse_lockfile
attribute.In previous releases, if users wanted to integrate with this OpenTofu feature, they would have to use the
generate
attribute, which opts users out of more advanced features of Terragrunt remote state management like automatic provisioning of state resources.By using the native attribute in
config
, users can retain the benefits of automatic backend bootstrapping in addition to native integration with the new OpenTofu feature.You can learn more about
backend
configurations in the HCL docs.What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.82.3...v0.82.4
v0.82.3
Compare Source
🧪 Experiments Added
Introduction of the
auto-provider-cache-dir
experimentThe new
auto-provider-cache-dir
experiment has been added to automatically configure OpenTofu provider caching when certain conditions are met:This leverages recent improvements in how OpenTofu handles provider caching to allow for safe concurrent access to provider plugins in OpenTofu 1.10.
In micro-benchmarks, the native provider cache directory out-performs the Provider Cache Server, as the overhead of starting and running the provider cache server is eliminated.
Once generally available, this feature will be enabled by default, automatically providing performance improvements to Terragrunt users using OpenTofu >= 1.10. If you are currently using the Provider Cache Server, you are advised to experiment with this feature, and share your feedback.
You can learn more about the feature in the dedicated feature docs, including a comparison with the Provider Cache Server, so you can learn if limitations in how the native OpenTofu provider cache directory will result in a requirement to continue using the Provider Cache Server going forward.
Special thanks to @cam72cam for coordinating with us to get this long-awaited feature supported in OpenTofu to meet the needs of the IaC community.
✨ New Features
--version-manager-file-name
Flag AddedDuring a
run --all
, Terragrunt memoizes the version of OpenTofu/Terraform being run to determine if version constraints are being satisfied, without doing unnecessary work to repeatedly check the version of OpenTofu/Terraform being run in each directory.To ensure that users using tool managers are able to leverage different versions of OpenTofu/Terraform in different directories, the cache key for this memoization includes calculations based on common version manager tools.
By default, the following are detected:
To support the usage of any arbitrary tool manager, a new
--version-manager-file-name
flag has been introduced to allow configurability over this list.To learn more about
--version-manager-file-name
read the docs.What's Changed
--version-manager-file-name
flag that allows users to overri… by @wakeful in https://github.com/gruntwork-io/terragrunt/pull/4415Full Changelog: gruntwork-io/terragrunt@v0.82.2...v0.82.3
v0.82.2
Compare Source
🐛 Bug Fixes
get_terragrunt_dir
returns appropriate directoryThe
get_terragrunt_dir()
HCL function now returns the expected stack directory containing aterragrunt.stack.hcl
when used in aterragrunt.stack.hcl
file.non-git default templates supported for Catalog/Scaffold
A bug in how the
default_template
attribute of thecatalog
configuration block worked resulted in a requirement that the default template be a Git repository. That bug has been resolved, removing the restriction.What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.82.1...v0.82.2
v0.82.1
Compare Source
🧪 Experiments Updated
The
cas
experiment now supportsterraform
blocksource
attributesThe cas experiment now supports de-duplication of OpenTofu/Terraform module source cloning during unit initialization.
This both reduces time spent cloning OpenTofu/Terraform module sources by reducing network bandwidth overhead, and reduces disk utilization.
You can learn more about the CAS feature in the dedicated feature documentation.
🐛 Bugs Fixed
The
hcl validate
command now returns an appropriate exit codeWhen using
hcl validate
, if any unit fails validation when run against a stack of units, the final exit code will be non-zero when any unit fails validation.While this is technically a bugfix that is a 🛠️ breaking change in behavior, maintainers have opted to release this as part of a patch release, as it's what most users expect from the command and it's how the command is documented. We are also trying to reduce the number of minor releases on the road to 1.0 to make it easier to focus on the big changes that require significant adjustment in usage of Terragrunt, and want to make sure that users take special note of breaking removal of deprecated functionality.
Avoiding the breaking change is fairly simple:
What's Changed
hcl validate
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4290report
experiment docs by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4452EnsureRun
method by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4453Full Changelog: gruntwork-io/terragrunt@v0.82.0...v0.82.1
v0.82.0
Compare Source
Description
OpenTofu 1.10 support: We are now testing Terragrunt against OpenTofu 1.10, 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 the OpenTofu version that is being tested.
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.81.10...v0.82.0
v0.81.10
Compare Source
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.81.9...v0.81.10
v0.81.9
Compare Source
🧪 Experiments Updated
Styling for Run Summary Updated
Per design feedback, the styling for Run Summaries has been updated slightly.
The
report
is now considered feature complete. Any further updates will be made to address community feedback.What's Changed
--queue-exclude-external
by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4451Full Changelog: gruntwork-io/terragrunt@v0.81.8...v0.81.9
v0.81.8
Compare Source
✨ New Features
Scaffold now supports Boilerplate dependencies and partials
The Scaffold feature now supports leveraging Boilerplate dependencies and partials.
This was a missing feature in the integration between Scaffold and Boilerplate, and Terragrunt users do not have to change anything in how they invoke Scaffold to have custom Boilerplate templates properly render using those Boilerplate features.
Special thanks to @tgeijg for contributing this feature!
What's Changed
dependencies
in discovery by @yhakbar in https://github.com/gruntwork-io/terragrunt/pull/4429Full Changelog: gruntwork-io/terragrunt@v0.81.7...v0.81.8
v0.81.7
Compare Source
🧪 Experiments Updated
--summary-unit-duration
replaced with--summary-per-unit
Per design feedback, the flag
--summary-unit-duration
has been replaced with--summary-per-unit
in the report experiment.The final summary at the end of runs was updated from looking like this by default:
$ terragrunt run --all plan ### Omitted for brevity... ❯❯ Run Summary Duration: 62ms Units: 3 Succeeded: 3
To looking like this:
$ terragrunt run --all plan ### Omitted for brevity... ❯❯ Run Summary 3 units 62ms ──────────────────────────── Succeeded 3
In addition, the flag
--summary-unit-duration
that resulted in summaries that looked like this:$ 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
Was replaced with the
--summary-per-unit
flag that results in summaries that look like this:$ terragrunt run --all plan --summary-per-unit ### Omitted for brevity... ❯❯ Run Summary 3 units 10m ────────────────────────────── Succeeded (3) long-running-unit 10m medium-running-unit 12s short-running-unit 5ms
This was done to streamline the information conveyed by the run summary, and to maximize leverage over the screen real estate taken by the summary.
The report experiment is still ongoing, and community feedback is encouraged. Please share any feedback you may have before the design of Run Reports and Run Summaries are finalized.
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.81.6...v0.81.7
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.
🐛 Bugs Introduced
Terragrunt Catalog Scaffolding Panics
A refactor of internal logging caused a panic during scaffolding while using the Terragrunt Catalog Terminal User Interface (TUI) (#4422), this has since been remediated in v0.81.6.
If you are using the Terragrunt Catalog TUI, you are advised to upgrade to v0.81.6.
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.81.0
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 TConfiguration
📅 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.