Terragrunt
Infrastructure-as-Code
Nakładka na Terraform/OpenTofu — DRY, środowiska i zależności.
Terragrunt to cienka nakładka na Terraform i OpenTofu, która rozwiązuje problemy skali: powtarzalną konfigurację backendu, zależności między modułami i zarządzanie wieloma środowiskami bez kopiowania kodu. Dzięki niej trzymasz infrastrukturę „DRY” — wspólne ustawienia definiujesz raz i dziedziczysz w katalogach środowisk.
Kiedy używać
- Masz wiele środowisk (dev/stage/prod) i nie chcesz duplikować kodu Terraform.
- Potrzebujesz zależności między modułami i spójnej konfiguracji backendu.
- Chcesz uruchamiać zmiany w wielu modułach jednym poleceniem.
Przykład użycia
# terragrunt.hcl — w katalogu środowiska
include "root" { path = find_in_parent_folders() }
terraform {
source = "git::https://git.eiac.dev/eiac/modules.git//vpc?ref=v1.2.0"
}
inputs = { cidr = "10.0.0.0/16" }
terragrunt run-all plan # plan dla wszystkich modułów
terragrunt run-all apply
Warto wiedzieć
- Działa z Terraform i OpenTofu; konfigurację backendu generuje automatycznie.
- Dobrze łączy się z wersjonowanymi modułami trzymanymi w Gitei.