func buildNamespaces()

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
}