func()

in release/pkg/generate_spec.go [38:63]


func (r *ReleaseConfig) GenerateComponentsTable(release *distrov1alpha1.Release) (map[string]*distrov1alpha1.Component, error) {
	componentsTable := map[string]*distrov1alpha1.Component{}
	componentFuncs := map[string]func(distrov1alpha1.ReleaseSpec) (*distrov1alpha1.Component, error){
		"kubernetes":            r.GetKubernetesComponent,
		"aws-iam-authenticator": r.GetAuthenticatorComponent,
		"livenessprobe":         r.GetLivenessprobeComponent,
		"external-attacher":     r.GetAttacherComponent,
		"external-provisioner":  r.GetProvisionerComponent,
		"external-resizer":      r.GetResizerComponent,
		"node-driver-registrar": r.GetRegistrarComponent,
		"external-snapshotter":  r.GetSnapshotterComponent,
		"metrics-server":        r.GetMetricsServerComponent,
		"cni-plugin":            r.GetCniComponent,
		"etcd":                  r.GetEtcdComponent,
		"coredns":               r.GetCorednsComponent,
	}
	for componentName, componentFunc := range componentFuncs {
		component, err := componentFunc(release.Spec)
		if err != nil {
			return nil, errors.Wrapf(err, "Error getting %s components", componentName)
		}
		componentsTable[componentName] = component
	}

	return componentsTable, nil
}