in helpers/foundation-deployer/stages/apply.go [336:384]
func DeployProjectsStage(t testing.TB, s steps.Steps, tfvars GlobalTFVars, outputs BootstrapOutputs, c CommonConf) error {
// shared
sharedTfvars := ProjSharedTfvars{
DefaultRegion: tfvars.DefaultRegion,
}
err := utils.WriteTfvars(filepath.Join(c.FoundationPath, ProjectsStep, "shared.auto.tfvars"), sharedTfvars)
if err != nil {
return err
}
// common
commonTfvars := ProjCommonTfvars{
RemoteStateBucket: outputs.RemoteStateBucket,
}
err = utils.WriteTfvars(filepath.Join(c.FoundationPath, ProjectsStep, "common.auto.tfvars"), commonTfvars)
if err != nil {
return err
}
//for each environment
envTfvars := ProjEnvTfvars{
ProjectsKMSLocation: tfvars.ProjectsKMSLocation,
ProjectsGCSLocation: tfvars.ProjectsGCSLocation,
}
for _, envfile := range []string{
"development.auto.tfvars",
"non-production.auto.tfvars",
"production.auto.tfvars"} {
err = utils.WriteTfvars(filepath.Join(c.FoundationPath, ProjectsStep, envfile), envTfvars)
if err != nil {
return err
}
}
conf := utils.CloneCSR(t, ProjectsRepo, filepath.Join(c.CheckoutPath, ProjectsRepo), outputs.CICDProject, c.Logger)
stageConf := StageConf{
Stage: ProjectsRepo,
StageSA: outputs.ProjectsSA,
CICDProject: outputs.CICDProject,
DefaultRegion: outputs.DefaultRegion,
Step: ProjectsStep,
Repo: ProjectsRepo,
GitConf: conf,
HasManualStep: true,
GroupingUnits: []string{"business_unit_1", "business_unit_2"},
Envs: []string{"production", "non-production", "development"},
}
return deployStage(t, stageConf, s, c)
}