func()

in pkg/bundle/client.go [177:211]


func (bc *managerClient) CreateClusterConfigMap(ctx context.Context, clusterName string) error {
	name := auth.ConfigMapName
	namespace := api.PackageNamespace + "-" + clusterName
	key := types.NamespacedName{
		Name:      name,
		Namespace: namespace,
	}

	cm := &v1.ConfigMap{
		ObjectMeta: metav1.ObjectMeta{
			Name:      name,
			Namespace: namespace,
		},
	}
	err := bc.Get(ctx, key, cm)
	// Nil err check here means that the config map exists thus we can just return with no error
	if err == nil {
		return nil
	}

	if !apierrors.IsNotFound(err) {
		return err
	}

	cm.Data = make(map[string]string)
	cm.Data[namespace] = "eksa-package-controller"
	// Unfortunate workaround for emissary webhooks hard coded crd namespace
	cm.Data["emissary-system"] = "eksa-package-placeholder"

	err = bc.Client.Create(ctx, cm)
	if err != nil {
		return err
	}
	return nil
}