chore(deps): update gruntwork-io/terragrunt to 1.0.0#100
Merged
BenediktFloeser merged 2 commits intomainfrom Apr 7, 2026
Merged
chore(deps): update gruntwork-io/terragrunt to 1.0.0#100BenediktFloeser merged 2 commits intomainfrom
BenediktFloeser merged 2 commits intomainfrom
Conversation
2270cf0 to
2fa6047
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.97.2→1.0.0Release Notes
gruntwork-io/terragrunt (gruntwork-io/terragrunt)
v0.99.5Compare Source
🐛 Bug Fixes
--working-dirinteraction with exit codes fixedA bug in the logic for tracking exit codes for
plan -detailed-exitcodewhen users supply the--working-dirflag has been fixed.Authentication during queue construction fixed
A bug in the logic for parsing configurations during discovery for use-cases like
--filter 'reading=*'where configurations need to be parsed to determine whether or not they end up in the final run queue has been fixed. Configurations will now properly call any configured--auth-provider-cmdauthenticator before parsing configurations, preventing errors for HCL functions likesops_decrypt_filethat require authentication.What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.99.4...v0.99.5
v0.99.4Compare Source
🏎️ Performance Improvements
Discovery performance improved
The way in which Terragrunt discovers and filters units and stacks for runs has improved significantly.
Terragrunt is now better at avoiding parsing units/stacks unnecessarily, based on the filter you use. Previously, the logic used was more coarse, and could result in a requirement to parse some configurations (e.g. presence of a dependency graph expression to result in parsing all configurations. Discovery has been refactored to allow for much more careful opt-in parsing based on the need to support the filter used by users (or lack thereof).
This will also result in improvements to Terragrunt’s ability to ignore broken parts of infrastructure estates when Terragrunt can predictably determine that it won’t impact a run.
🐛 Bug Fixes
Invalid unit configurations cause explicit errors instead of silently being excluded during runs
A bug in discovery logic resulted in units with invalid HCL configurations being silently excluded from runs with a warning. This bug has been fixed, and attempting to parse invalid HCL configurations during a run will result in an error.
What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.99.3...v0.99.4
v0.99.3Compare Source
🐛 Bug Fixes
Over-warning on strict controls prevented
Using
--strict-moderesulted in over-warning on completed controls. Those warnings will no longer appear when using strict mode.What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.99.2...v0.99.3
v0.99.2Compare Source
🐛 Bug Fixes
Interrupt signal propagation to OpenTofu/Terraform fixed
The mechanism by which Terragrunt sends interrupt signals to OpenTofu/Terraform processes it started has been made more robust. Terragrunt will now send the interrupt signal in the event that a user explicitly sends an interrupt signal to Terragrunt in addition to scenarios where Terragrunt’s context cancellation is triggered (e.g. in the event of a timeout).
SOPS decryption race condition fixed
A race condition in the concurrent access to SOPS decrypted secrets in different environments combined with usage of the
--auth-provider-cmdflag resulted in authentication failures. Synchronization controls have been introduced to ensure authentication proceeds correctly for each environment independently.What's Changed
v0.99by @yhakbar in #5547Full Changelog: gruntwork-io/terragrunt@v0.99.1...v0.99.2
v0.99.1Compare Source
🐛 Bug Fixes
Pass through
nullinputsFixes a bug where
nullinputs weren't being passed through correctly to OpenTofu/Terraform.What's Changed
Full Changelog: gruntwork-io/terragrunt@v0.99.0...v0.99.1
v0.99.0Compare Source
🛠️ Breaking Changes
Undocumented behavior removed
We have removed several undocumented features that served as temporary stop-gaps to facilitate experimentation.
The following environment variables no longer affect Terragrunt behavior:
TERRAGRUNT_TEMP_QUOTE_NULLTMP_UNDOCUMENTED_REPORT_PADDERTMP_UNDOCUMENTED_REPORT_UNIT_COLORIZETMP_UNDOCUMENTED_COLORIZE_DEFAULT_SUMMARY_PADDINGInternal
tflintdeprecatedTerragrunt has been shipping with a version of
tflintcompiled into the binary to allow for more convenient usage without installingtflintdirectly. However due to the adoption of a BUSL license intflint, the version included in Terragrunt was frozen.We have now deprecated use of the internal
tflinthook, and will be fully removing it in the future. We still do work to integrate withtflint; Including automatically runningtflint initand passing through variables. For now using the internal version will only emit a warning, and you can opt in to the future behavior today in one of two ways:The
legacy-internal-tflintstrict control (recommended)Adding the
--terragrunt-external-tflintflag to your hook usage (this also works in previous versions of Terragrunt); this flag is stripped prior to running the externaltflint. Example:✨ New Features
Depth control for dependency traversal
Graph-based expressions in the
--filterflag now support limiting the depth of graph traversal they perform when discovering units. You can now append/prepend a number to the end of a graph expression ellipsis to control how deep in graph traversal Terragrunt will look for dependents/dependencies.e.g.
This delivers major performance gains for large dependency graphs.
Special thanks to @sofianedjerbi for contributing this feature!
Run report schema extended
The run report has been extended to include the
Ref,CmdandArgsfields when relevant to a run.Reffield will be populated for runs performed in Git worktrees due to their discovery from a Git-based expression in a filter.Cmdfield will contain the sub command of OpenTofu/Terraform executed in a run (e.g.plan,apply) and theArgsfield will contain the arguments passed to that subcommand (e.g.-auto-approve,-destroy). These can differ between runs when using Git-based expressions, as additions or modifications of units between Git references can result in aplanorapply, whereas removal of units can result inplan -destroyorapply -destroy.🧪 Experiments Updated
IaC Engines Updated to use
v0.1.0ofterragrunt-engine-goThe
iac-engineexperiment has been updated to usev0.1.0of theterragrunt-engine-golibrary.Given that this is still experimental functionality, no effort has been made to maintain backwards compatibility with existing engines. If you are currently using the OpenTofu engine, you will need to upgrade to
v0.1.0of the engine. The Terraform engine will be updated in the near future.This update pulls in changes to the protobuf schema used in communication between Terragrunt and IaC engines to give engines the ability to log messages in Terragrunt and reduces the overall size of messages passed to Terragrunt for stdout/stderr messages.
⚙️ Process Updates
Curl to Bash script available
In addition to all the other installation mechanisms available to install Terragrunt, a convenient curl to bash script has been added to minimize the friction in installing and getting started with Terragrunt, and removing any dependency on third party tools if you don’t want to use them.
curl -sL https://terragrunt.gruntwork.io/install | bashThe installation can be customized, with full customization options available via the
--helpflag.curl -sL https://terragrunt.gruntwork.io/install | bash -s -- --helpIn addition to providing this script, the ASDF plugin for Terragrunt has been updated to automatically perform signature verification on an opt-out basis for any version of Terragrunt equal or newer to
v0.98.0. The Terragrunt entry in the Aqua registry has been updated to do the same, meaning mise users will automatically benefit from this as well.If you don’t want to use the curl to bash script, or any of the other distribution methods available, the instructions for performing signature verification manually have been updated in the installation documentation as well.
📖 Documentation Updates
OpenTofu/Terraform compatibility matrix now available as API
In addition to providing a compatibility matrix in the Supported Versions documentation, compatibility verification is also available via an API endpoint here:
https://terragrunt.gruntwork.io/api/v1/compatibility
See the compatibility API documentation for more details, including availability of query string parameters for filtering responses.
JSON schema for
--auth-provider-cmdpublishedA JSON schema has been published for the schema expected for the stdout of commands invoked using
--auth-provider-cmd. You can access the schema here.You can use tools like this JSON schema validator or other simple utilities to programmatically validate that the stdout of JSON responses in your commands invoked by
--auth-provider-cmdobey the expected schema.🐛 Bug Fixes
Exit Codes for
run --allmore consistentFixed an issue where
run --allincorrectly returned a 0 exit code when individual units failed.Automatic retry for provider queries
To address intermittent errors in queries to the OpenTofu/Terraform provider registries, we expanded the automatic retry logic to include timeouts from provider registries.
What's Changed
v0.1.0version ofterragrunt-engine-goby @yhakbar in #5381run --allby @yhakbar in #5385TestTUIFinalModelflake by @yhakbar in #5410--provider-auth-cmdschema by @yhakbar in #5405golangci-linttov2.8.0by @yhakbar in #5365runfnpackage by @yhakbar in #5359New Contributors
Full Changelog: gruntwork-io/terragrunt@v0.98.0...v0.99.0
v0.98.0Compare Source
✨ New Features
The
--filterflag now implies--allWhen using the
--filterflag, it is now optional to also supply--all. Terragrunt will automatically set the--allflag when you use the--filterflag.🐛 Bug Fixes
Plan files are now correctly passed as CLI arguments for destroy operations
A bug in the logic used for injecting plan files as arguments to the
apply -destroycommand resulted in the plan file argument being injected prior to the-auto-approveflag, which is disallowed in OpenTofu/Terraform. That bug has been fixed.GCS bootstrap authentication fixed
A bug in the authentication logic for GCS backends prevented successful bootstrapping of backends when using the
--auth-provider-cmdflag. That bug has been fixed.Git-based and Graph-based combinations fixed
A bug in the discovery logic for Git worktrees prevented using a combination of Git-based and Graph-based filter expressions in the same filter from working correctly.
e.g.
terragrunt find --filter '...^[HEAD^...HEAD]...'That bug has been fixed.
Proper exit codes returned from
-detailed-exitcodeA bug in the logic for handling retries combined with the OpenTofu/Terraform
plan -detailed-exitcodeand the Terragrunt--allflag resulted in the wrong exit code being returned when a failed run succeeded on a subsequent retry with a status code related to drift (exit code 2).That logic has been corrected, and properly follows the rules outlined under the
--allflag:When not using
-detailed-exitcode:When using
-detailed-exitcode:run --allwill return the highest exit code.run --allwill return an exit code of 2.run --allwill return an exit code of 0.OpenTelemetry traces in console mode fixed
A bug in OpenTelemetry trace exporting prevented traces from being exported when in console mode. That bug has been fixed.
Negation logic fixed
A bug in how negation logic was handled in filter expressions prevented successful exclusion of stacks from generation and over excluded units in runs when users only supplied negative filters.
⚙️ Process Improvements
GPG Signing
Release artifacts are now signed using both GPG and Cosign.
To start performing signature validation on assets, in addition to the asset you’re downloading from the GitHub releases page, you’ll want to download some of the following files:
To verify with GPG:
curl -s https://gruntwork.io/.well-known/pgp-key.txt | gpg --import gpg --verify SHA256SUMS.gpgsig SHA256SUMS sha256sum -c SHA256SUMS --ignore-missingTo verify with Cosign:
cosign verify-blob SHA256SUMS \ --signature SHA256SUMS.sig \ --certificate SHA256SUMS.pem \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ --certificate-identity-regexp "github.com/gruntwork-io/terragrunt" sha256sum -c SHA256SUMS --ignore-missingTerragrunt installation documentation will be updated soon to recommend this on every installation, the Gruntwork maintained
asdfplugin will be updated to do this automatically, and all Gruntwork recommended mechanisms for installing Terragrunt will support this going forward.Upgrade to Go 1.25.5
The Golang toolchain used to build Terragrunt has been upgraded to
v1.25.5.Package reorganization
All top-level Golang packages in the Terragrunt project have been migrated to either
internalorpkg. The distinction between the two indicates maintainer expectations as to whether either are being actively being consumed as libraries by third parties (withinternalbeing impossible to import without vendoring in go modules).Note that this does not indicate any backwards compatibility guarantee for usage of the Terragrunt as a library. It will remain unstable, and can change at any time.
What's Changed
-allwhen using-filterby @yhakbar in #5265detailed-exitcodeby @yhakbar in #5362RunTargetfromoptionsby @yhakbar in #5264-alland-graphwrap by @yhakbar in #5257Full Changelog: gruntwork-io/terragrunt@v0.97.2...v0.98
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 has been generated by Renovate Bot.