terragrunt CAS stack components accept local filesystem sources
Introduced 2026-05-07 · score 0.95
HOW TO USE IT
When iterating on a local catalog with CAS-backed stack generation, set the consumer stack’s `source` to the local catalog subdirectory and run `terragrunt stack generate`; keep `update_source_with_cas = true` in the catalog’s nested source blocks. The local catalog is copied to a temporary directory for rewriting, leaving the original untouched.
stack "service" {
source = "../catalog//stacks/service"
path = "service"
}
terragrunt stack generateunit "service" {
source = "../..//units/my-service"
update_source_with_cas = true
path = "service"
}WHY THIS HELPS
Iterate on a stack catalog in a local checkout before tagging a release.
BEFORE THIS CHANGE
Use a remote Git URL as the `source` for CAS-backed stack generation.
REQUIREMENTS AND LIMITATIONS
- Version: v1.0.4
- stack.<name>.source (required): Catalog source; accepts a local filesystem path, including a `//` subdirectory suffix.
- stack.<name>.path (required): Generated path for the component.
- unit.<name>.source (required): Relative path to the component source in the catalog.
- unit.<name>.update_source_with_cas: Set to `true` to rewrite relative source paths to CAS references; requires CAS enabled. Must be set in catalog files, not by consumers.
- Prerequisite: Do not set `--no-cas` when using `update_source_with_cas = true`.
- Prerequisite: Sources using `update_source_with_cas` must be relative paths within the same repository.
- This applies to CAS-backed stack generation.
- The local source path is a directory copied to a temporary directory; the original directory is left untouched.
FIRST-PARTY EVIDENCE
- https://github.com/gruntwork-io/terragrunt/releases/tag/v1.0.4
- https://docs.terragrunt.com/features/stacks/explicit/
- https://docs.terragrunt.com/features/caching/cas/
Check the installed version and the source before using it. Entry JSON