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
}