@@ -21,10 +21,12 @@ import (
21
21
"compress/gzip"
22
22
"context"
23
23
"fmt"
24
+ "strings"
24
25
25
26
corev1 "k8s.io/api/core/v1"
26
27
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27
28
"k8s.io/apimachinery/pkg/labels"
29
+ clientgoscheme "k8s.io/client-go/kubernetes/scheme"
28
30
29
31
"sigs.k8s.io/cluster-api/cmd/clusterctl/client/repository"
30
32
ctrl "sigs.k8s.io/controller-runtime"
@@ -164,7 +166,16 @@ func (p *phaseReconciler) prepareConfigMapLabels() map[string]string {
164
166
func TemplateManifestsConfigMap (provider operatorv1.GenericProvider , labels map [string ]string , metadata , components []byte , compress bool ) (* corev1.ConfigMap , error ) {
165
167
configMapName := fmt .Sprintf ("%s-%s-%s" , provider .GetType (), provider .GetName (), provider .GetSpec ().Version )
166
168
169
+ kinds , _ , err := clientgoscheme .Scheme .ObjectKinds (& corev1.ConfigMap {})
170
+ if err != nil || len (kinds ) == 0 {
171
+ return nil , fmt .Errorf ("cannot fetch kind of the ConfigMap resource: %w" , err )
172
+ }
173
+
167
174
configMap := & corev1.ConfigMap {
175
+ TypeMeta : metav1.TypeMeta {
176
+ Kind : kinds [0 ].Kind ,
177
+ APIVersion : kinds [0 ].GroupVersion ().String (),
178
+ },
168
179
ObjectMeta : metav1.ObjectMeta {
169
180
Name : configMapName ,
170
181
Namespace : provider .GetNamespace (),
@@ -297,7 +308,7 @@ func ProviderLabels(provider operatorv1.GenericProvider) map[string]string {
297
308
}
298
309
299
310
if provider .GetSpec ().FetchConfig != nil && provider .GetSpec ().FetchConfig .OCI != "" {
300
- labels [configMapSourceLabel ] = provider .GetSpec ().FetchConfig .OCI
311
+ labels [configMapSourceLabel ] = strings . ReplaceAll ( provider .GetSpec ().FetchConfig .OCI , "/" , "_" )
301
312
}
302
313
303
314
return labels
0 commit comments