Hi everyone,
I’m setting up Terraform to deploy standardized developer VMs across 3 locations and multiple teams and I’d love to get some feedback from you.
This is my current idea:
├── location-a/
│ ├── team-alpha/ (main.tf, backend.tf, terraform.tfvars)
│ └── team-beta/ (main.tf, backend.tf, terraform.tfvars)
└── location-b/
Separate backend/state file per team folder to isolate state and limit blast radius.
Use a map variable in main.tf to iterate over and deploy identical VM specs per dev.
My main 2 questions:
Is per-team/per-location state separation the right depth, or will managing duplicate main.tf files across folders become a maintenance headache?
Would you recommend wrapping the VM logic into a shared versioned module, or using Terragrunt to keep backend configurations DRY?
Thanks for any insights or real-world patterns!