Option to run from the source directory without .terragrunt-cache
Describe the enhancement
Add an option to run Terraform/OpenTofu from the source unit directory without using .terragrunt-cache.
In v0.99.x, Terragrunt ran directly from the unit directory when no terraform { source } block was set. In v1, it always runs from within .terragrunt-cache, which breaks our workflow in two ways:
Relative local module paths stop resolving — paths that correctly pointed to local modules when running from the unit directory no longer resolve correctly when running from inside
.terragrunt-cache.generateoutput is invisible to IDE tooling — in v0.99.x,generatewrote files (including variable declarations) to the unit directory, where IDE extensions could read them. In v1, those files are written to.terragrunt-cache, so IDE extensions cannot find the declarations and report errors.
Because of these issues, we are unable to upgrade from v0.99.x to v1.
Additional context
- Changes required: add an option to skip
.terragrunt-cacheand run directly from the source unit directory. - Implications of the feature: units without
terraform { source }would run in-place, preserving relative module paths and makinggenerateoutput visible to IDE tooling. - Alternatives considered: copying parent directories into the cache, using symlinks — both introduce maintenance burden and are not viable long-term solutions.
- Level of effort: unclear, but a simple flag that preserves v0.99.x behavior for units without
terraform { source }may be a starting point.
PoC (Proof of Concept)
RFC Not Needed
- I have evaluated the complexity of this enhancement, and I believe it does not require an RFC.
Source: gruntwork-io/terragrunt