From 9ca69e91f9c913fa1f051a8533dfc4dd9eabc3ad Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Mon, 21 Oct 2024 21:21:53 +0200 Subject: [PATCH] fix(kubeadm): ensure admin clusterrolebinding with in-cluster client (#608) Signed-off-by: Dario Tranchitella --- internal/resources/kubeadm_phases.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/resources/kubeadm_phases.go b/internal/resources/kubeadm_phases.go index 15ef570a..caa7d7e8 100644 --- a/internal/resources/kubeadm_phases.go +++ b/internal/resources/kubeadm_phases.go @@ -8,6 +8,7 @@ import ( "fmt" "os" "strings" + "time" corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" @@ -143,7 +144,6 @@ func (r *KubeadmPhase) GetKubeadmFunction(ctx context.Context, tcp *kamajiv1alph defer func() { _ = os.Remove(tmp) }() var caSecret corev1.Secret - if err = r.Client.Get(ctx, types.NamespacedName{Name: tcp.Status.Certificates.CA.SecretName, Namespace: tcp.Namespace}, &caSecret); err != nil { return nil, err } @@ -164,7 +164,9 @@ func (r *KubeadmPhase) GetKubeadmFunction(ctx context.Context, tcp *kamajiv1alph _ = os.WriteFile(fmt.Sprintf("%s/%s", tmp, i), kubeconfigValue, os.ModePerm) } - if _, err = kubeconfig.EnsureAdminClusterRoleBinding(tmp, nil); err != nil { + if _, err = kubeconfig.EnsureAdminClusterRoleBinding(tmp, func(_ context.Context, _ clientset.Interface, _ clientset.Interface, duration time.Duration, duration2 time.Duration) (clientset.Interface, error) { + return kubeconfig.EnsureAdminClusterRoleBindingImpl(ctx, c, c, duration, duration2) + }); err != nil { return nil, err }