finds.dev← search

// the find

gruntwork-io/terragrunt

★ 9,653 · Go · MIT · updated Jun 2026

Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.

Terragrunt is a wrapper around OpenTofu/Terraform that adds DRY config (via `include` and `generate` blocks), dependency wiring between modules, and parallel execution across stacks. It's for teams running Terraform at scale across multiple environments and accounts who are tired of copying backend config into every module. Just hit v1.0 after years of being effectively the industry standard for this problem.

The `include` + `inputs` pattern genuinely eliminates the backend config duplication problem that plagues large Terraform repos. Dependency graph execution with `run-all` and proper parallelism is something native Terraform still can't do well. The v1.0 release cleaned up a lot of historical rough edges and the config schema is now stable — worth less than it sounds until you've been burned by pre-1.0 breaking changes. The CAS (content-addressable storage) caching layer for provider plugins is a real time-saver in CI.

The HCL config layer on top of HCL config is a genuine cognitive load tax — debugging why a value isn't what you expect requires tracing through `include`, `locals`, `inputs`, and `generate` blocks across multiple files. The 'stacks' feature (explicit dependency declaration) and the older 'run-all with implicit deps' pattern coexist awkwardly and the migration path between them isn't obvious. Gruntwork's commercial Terragrunt Scale product blurs the line between open-source and paid features in the docs. Error messages when something goes wrong in the execution graph are still often unhelpful — you get a failure without a clear trace back to which unit caused it.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →