in terraformer/pkg/terraformer/compiler.go [43:73]
func buildNamespaces(def *terraformerv1.AppRoleDefinition, env string) (suffixProcessorMap, error) {
// Check arguments
if err := validate(def); err != nil {
return nil, err
}
// Build processors map
return map[csov1.Ring]struct {
prefix []string
suffixFunc func() []*terraformerv1.AppRoleDefinitionSecretSuffix
}{
csov1.RingInfra: {
suffixFunc: def.Spec.Namespaces.GetInfrastructure,
},
csov1.RingPlatform: {
prefix: []string{env, def.Spec.Selector.Platform},
suffixFunc: def.Spec.Namespaces.GetPlatform,
},
csov1.RingProduct: {
prefix: []string{def.Spec.Selector.Product, def.Spec.Selector.Version, def.Spec.Selector.Component},
suffixFunc: def.Spec.Namespaces.GetProduct,
},
csov1.RingApplication: {
prefix: []string{env, def.Spec.Selector.Platform, def.Spec.Selector.Product, def.Spec.Selector.Version, def.Spec.Selector.Component},
suffixFunc: def.Spec.Namespaces.GetApplication,
},
csov1.RingArtifact: {
suffixFunc: def.Spec.Namespaces.GetArtifact,
},
}, nil
}