Skip to content
🎉 Terragrunt v1.0 is here! Read the announcement to learn more.

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:

Terminal window
terragrunt run --all apply --no-auto-provider-cache-dir

auto-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 run command.
    • Add support for basic usage of the run command (e.g., terragrunt run plan, terragrunt run -- plan -no-color).
    • Add support for the --all flag.
    • Add support for the --graph flag.
  • Add support for exec command.
  • Rename legacy --terragrunt- prefixed flags so that they no longer need the prefix.
  • Add the hcl command, replacing commands like hclfmt, hclvalidate and validate-inputs.
  • Add OpenTofu commands as explicit shortcuts in the CLI instead of forwarding all unknown commands to OpenTofu/Terraform.
  • Add support for the backend command.
  • Add support for the render command.
  • Add support for the info command.
  • Add support for the dag command.
  • Add support for the find command.
    • Add support for find without flags.
    • Add support for find with colorful output.
    • Add support for find with --format=json flag.
    • Add support for find with stdout redirection detection.
    • Add support for find with --hidden flag.
    • Add support for find with --sort=alpha flag.
    • Add support for find with --sort=dag flag.
    • Add support for find with the exclude block used to exclude units from the search.
    • Add integration with symlinks experiment to support finding units/stacks via symlinks.
    • Add handling of broken configurations or configurations requiring authentication.
    • Add integration test for find with --sort=dag flag on all the fixtures in the test/fixtures directory.
  • Add support for the list command.
    • Add support for list without flags.
    • Add support for list with colorful output.
    • Add support for list with --format=tree flag.
    • Add support for list with --format=long flag.
    • Add support for list with stdout redirection detection.
    • Add support for list with --hidden flag.
    • Add support for list with --sort=alpha flag.
    • Add support for list with --sort=dag flag.
    • Add support for list with --group-by=fs flag.
    • Add support for list with --group-by=dag flag.
    • Add support for list with the exclude block used to exclude units from the search.
    • Add integration with symlinks experiment to support listing units/stacks via symlinks.
    • Add handling of broken configurations or configurations requiring authentication.
    • Add integration test for list with --sort=dag flag on all the fixtures in the test/fixtures directory.

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 report experiment.
  • 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 output commands to extend stack-level operations.
  • Integration testing for recursive stack handling across typical workflows, ensuring smooth transitions during plan, apply, and destroy operations.
  • 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.