Skip to content

Commit 9ff3a33

Browse files
authored
feat: allow overriding secretKey for kubeconfig
Signed-off-by: Andrei Kvapil <[email protected]>
1 parent e949f41 commit 9ff3a33

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

controllers/kamajicontrolplane_controller_resources.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func (r *KamajiControlPlaneReconciler) createOrUpdateKubeconfig(ctx context.Cont
131131
kamajiAdminKubeconfig.Namespace = tcp.Namespace
132132

133133
if err := r.client.Get(ctx, types.NamespacedName{Name: kamajiAdminKubeconfig.Name, Namespace: kamajiAdminKubeconfig.Namespace}, kamajiAdminKubeconfig); err != nil {
134-
return errors.Wrap(err, "cannot retrieve source-of-truth for admin kubecofig")
134+
return errors.Wrap(err, "cannot retrieve source-of-truth for admin kubeconfig")
135135
}
136136

137137
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
@@ -147,7 +147,12 @@ func (r *KamajiControlPlaneReconciler) createOrUpdateKubeconfig(ctx context.Cont
147147
labels["kamaji.clastix.io/cluster"] = cluster.Name
148148
labels["kamaji.clastix.io/tcp"] = tcp.Name
149149

150-
value, ok := kamajiAdminKubeconfig.Data["admin.conf"]
150+
secretKey := "admin.conf"
151+
if v, ok := kcp.GetAnnotations()[kamajiv1alpha1.KubeconfigSecretKeyAnnotation]; ok && v != "" {
152+
secretKey = v
153+
}
154+
155+
value, ok := kamajiAdminKubeconfig.Data[secretKey]
151156
if !ok {
152157
return errors.New("missing key from *kamajiv1alpha1.TenantControlPlane admin kubeconfig secret")
153158
}

controllers/kamajicontrolplane_controller_tcp.go

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ func (r *KamajiControlPlaneReconciler) createOrUpdateTenantControlPlane(ctx cont
2424
tcp.Name = kcp.GetName()
2525
tcp.Namespace = kcp.GetNamespace()
2626

27+
if tcp.Annotations == nil {
28+
tcp.Annotations = make(map[string]string)
29+
}
30+
31+
if kubeconfigSecretKey := kcp.Annotations[kamajiv1alpha1.KubeconfigSecretKeyAnnotation]; kubeconfigSecretKey != "" {
32+
tcp.Annotations[kamajiv1alpha1.KubeconfigSecretKeyAnnotation] = kubeconfigSecretKey
33+
} else {
34+
delete(tcp.Annotations, kamajiv1alpha1.KubeconfigSecretKeyAnnotation)
35+
}
36+
2737
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
2838
_, scopeErr := controllerutil.CreateOrUpdate(ctx, r.client, tcp, func() error {
2939
// TenantControlPlane port

0 commit comments

Comments
 (0)