Completed Experiments
These experiments have been completed and their features are now available by default. The experiment flags are no longer needed.
auto-provider-cache-dir
Enable native OpenTofu provider caching by setting TF_PLUGIN_CACHE_DIR instead of using Terragrunt’s internal provider cache server.
auto-provider-cache-dir - What it does
This experiment automatically configures OpenTofu to use its built-in provider caching mechanism by setting the TF_PLUGIN_CACHE_DIR environment variable. This approach leverages OpenTofu’s native provider caching capabilities, which are more robust for concurrent operations in OpenTofu 1.10+.
This experiment flag is no longer needed, as the auto-provider-cache-dir feature is now enabled by default when using OpenTofu >= 1.10.
Requirements:
- OpenTofu version >= 1.10 is required
- Only works when using OpenTofu (not Terraform)
Disabling the feature:
You can disable the auto-provider-cache-dir feature using the --no-auto-provider-cache-dir flag:
terragrunt run --all apply --no-auto-provider-cache-dirauto-provider-cache-dir - How to provide feedback
Now that the auto-provider-cache-dir experiment is complete, please provide feedback in the form of standard GitHub issues.
auto-provider-cache-dir - Criteria for stabilization
To transition the auto-provider-cache-dir feature to stable, the following have been completed:
- Comprehensive testing to confirm the safety of concurrent runs using the same provider cache directory.
- Performance comparison with the existing provider cache server approach.
- Documentation and examples of best practices for usage.
- Community feedback on real-world usage and any edge cases discovered.
cli-redesign
Support for the new Terragrunt CLI design.
cli-redesign - What it does
Enabled features from the CLI Redesign RFC.
This experiment flag is no longer needed, as the CLI Redesign is now the default.
cli-redesign - How to provide feedback
Now that the CLI Redesign experiment is complete, please provide feedback in the form of standard GitHub issues.
cli-redesign - Criteria for stabilization
To transition cli-redesign features to a stable the following have been completed:
- Add support for
runcommand.- Add support for basic usage of the
runcommand (e.g.,terragrunt run plan,terragrunt run -- plan -no-color). - Add support for the
--allflag. - Add support for the
--graphflag.
- Add support for basic usage of the
- Add support for
execcommand. - Rename legacy
--terragrunt-prefixed flags so that they no longer need the prefix. - Add the
hclcommand, replacing commands likehclfmt,hclvalidateandvalidate-inputs. - Add OpenTofu commands as explicit shortcuts in the CLI instead of forwarding all unknown commands to OpenTofu/Terraform.
- Add support for the
backendcommand. - Add support for the
rendercommand. - Add support for the
infocommand. - Add support for the
dagcommand. - Add support for the
findcommand.- Add support for
findwithout flags. - Add support for
findwith colorful output. - Add support for
findwith--format=jsonflag. - Add support for
findwith stdout redirection detection. - Add support for
findwith--hiddenflag. - Add support for
findwith--sort=alphaflag. - Add support for
findwith--sort=dagflag. - Add support for
findwith theexcludeblock used to exclude units from the search. - Add integration with
symlinksexperiment to support finding units/stacks via symlinks. - Add handling of broken configurations or configurations requiring authentication.
- Add integration test for
findwith--sort=dagflag on all the fixtures in thetest/fixturesdirectory.
- Add support for
- Add support for the
listcommand.- Add support for
listwithout flags. - Add support for
listwith colorful output. - Add support for
listwith--format=treeflag. - Add support for
listwith--format=longflag. - Add support for
listwith stdout redirection detection. - Add support for
listwith--hiddenflag. - Add support for
listwith--sort=alphaflag. - Add support for
listwith--sort=dagflag. - Add support for
listwith--group-by=fsflag. - Add support for
listwith--group-by=dagflag. - Add support for
listwith theexcludeblock used to exclude units from the search. - Add integration with
symlinksexperiment to support listing units/stacks via symlinks. - Add handling of broken configurations or configurations requiring authentication.
- Add integration test for
listwith--sort=dagflag on all the fixtures in thetest/fixturesdirectory.
- Add support for
report
Support for Terragrunt Run Reports and Summaries.
report - What it does
Allows generation of run reports and summary displays. This experiment flag is no longer needed, as the report feature is now stable and available by default.
report - How to provide feedback
Now that the report experiment is complete, please provide feedback in the form of standard GitHub issues.
report - Criteria for stabilization
To transition the report feature to stable, the following have been completed:
- Add support for generating reports (in CSV format by default).
- Add support for displaying summaries of runs.
- Add ability to disable summary display.
- Add support for generating reports in JSON format.
- Add comprehensive integration tests for the
reportexperiment. - Finalize the design of run summaries and reports.
runner-pool
Proposes replacing Terragrunt’s group-based execution with a dynamic runner pool that schedules Units as soon as dependencies are resolved. This improves efficiency, reduces bottlenecks, and limits the impact of individual failures.
runner-pool - What it does
Allow usage of experimental runner pool implementation for units execution.
runner-pool - How to provide feedback
Provide your feedback on the Runner Pool.
runner-pool - Criteria for stabilization
To transition the runner-pool feature to a stable release, the following must be addressed:
- Use new discovery and queue packages to discover units.
- Add support for including/excluding external units in the discovery process.
- Add runner pool implementation to execute discovered units.
- Add integration tests to track that the runner pool works in the same way as the current implementation.
- Add performance tests to track that the runner pool implementation is faster than the current implementation.
- Add support for fail fast behavior in the runner pool.
- Improve the UI to queue to apply.
- Add OpenTelemetry support to the runner pool.
stacks
Support for Terragrunt stacks.
stacks - What it does
Enable stack command to manage Terragrunt stacks.
stacks - Criteria for stabilization
To transition the stacks feature to a stable release, the following must be addressed:
- Add support for
stack run *command - Add support for
stack outputcommands to extend stack-level operations. - Integration testing for recursive stack handling across typical workflows, ensuring smooth transitions during
plan,apply, anddestroyoperations. - Confirm compatibility with parallelism flags (e.g.,
--parallel), especially for stacks with dependencies. - Ensure that error handling and failure recovery strategies work as intended across large and nested stacks.