I know terraform a bit, but in the past I worked just with one terraform repository serving all infrastructure (with modules per provider/function).
infrastructure
|- modules
| |- gcp
| |- main.tf
| |- variables.tf
| |- vsphere
| |- main.tf
| |- variables.tf
Now I have following situation:
- one Azure subscription
- Need for multiple separated infrastructure "buckets" - per 2 different projects, and I would like to separate test/dev (which should be more ephemeral) from production servers (long life).
- Need to hand over the infra per project in the future
Is it convenient and feasible to have:
- a bit of terraform code in each project repository, to keep it together
- many tfstates on same Azure subscription (one state per each infra bucket) that are isolated on Azure side by (resource groups?)
Any advice Guys?