I’ve got a scenario where I’ve got a root module leveraging a RDS creation module.
I am using it to deploy RDS instance and the security whitelisting all configured with a
As I scale this, I see that I may need to provision 100 different environments as it’s a “platform as a service” offering.
Based on my reading for best practices with terraform, I’m seeing I’d likely have the entire repo copy/pasted for each environment all pointing to the module. I see that workspaces were not designed to provide the environment seperation needs i’d like need for this scenario. Is there any better way to do this? Do I basically need to adapt the module to be the single point of creation and each folder gets it’s own inputs for each environment, or is there any method using just different tfvars for each that I can avoid a lot of copy/paste?
I’ve considered leveraging terragrunt, but before doing this, figured I’d ask how any one else scales the plan as most examples talk about qa/uat/prod based examples, while I’m talking about
modules --- rds plans --- org1 ------ main.tf ------ org1.tfvars --- org2 ------ main.tf ------ org1.tfvars
That’s a lot of repeated code when I was hoping to instead just have different var files.