Terragrunt
Terragrunt je omotač za Terraform i OpenTofu koji održava konfiguracije DRY i upravlja zavisnostima između modula. Semaphore ga pokreće na isti način kao Terraform/OpenTofu, uz nekoliko razlika opisanih ovde.
Preduslovi
- Instalirajte binarni fajl
terragrunti binarni fajlterraformilitofuna Semaphore serveru ili na runner-u koji izvršava zadatke. - Uključite aplikaciju (App) Terragrunt Code: podrazumevano je isključena. Otvorite Aplikacije (Applications) iz menija naloga i uključite prekidač, pogledajte Aplikacije.
Kreiranje Terragrunt šablona
- Idite na Šabloni zadataka (Task Templates) i kliknite Novi šablon (New Template).
- Izaberite Terragrunt Code kao aplikaciju.
- Podesite Repozitorijum (Repository) i poddirektorijum u kom se nalazi vaš
terragrunt.hcl. - Izaberite ili kreirajte Radni prostor (Workspace) u polju Inventar (Inventory). Terragrunt šabloni koriste inventare tipa
terragrunt-workspace, pogledajte Radni prostori. - Kliknite Kreiraj (Create), a zatim Pokreni (Run).

Pokretanje zadataka
Dijalog za novi zadatak (New Task) nudi iste opcije kao i za Terraform: Plan, Destroy, Auto Approve, Upgrade i Reconfigure.
Semaphore poziva terragrunt run -- <terraform arguments> i prosleđuje Terraform ili OpenTofu binarni fajl pomoću --tf-path, osim ako ste već podesili --tf-path u CLI argumentima šablona. Izbor radnog prostora vrši se komandom terragrunt run -- workspace select -or-create=true <name>.
Promenljive iz izabranih grupa promenljivih (Variable Groups) prosleđuju se kao promenljive okruženja, pa za ulazne promenljive koristite prefiks TF_VAR_. Dodatne promenljive i promenljive upitnika prosleđuju se kao argumenti -var name=value.
Napomene
terragruntautomatski pokrećeinitpre svake komande.- HTTP backend za stanje i lista stanja na kartici Radni prostori (Workspaces) rade kao i za Terraform, pogledajte HTTP backend.
- Da biste koristili
run-allpreko više modula, dodajte argumente u CLI argumente (CLI args) šablona.