Skip to content

Commit d3dd639

Browse files
committed
Add additional contexts to kubeconfigs generated for shards
On-behalf-of: SAP <[email protected]> Signed-off-by: Marvin Beckers <[email protected]>
1 parent bf051c8 commit d3dd639

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

internal/controller/kubeconfig_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
k8creconciling "k8c.io/reconciler/pkg/reconciling"
2828

2929
corev1 "k8s.io/api/core/v1"
30+
apierrors "k8s.io/apimachinery/pkg/api/errors"
3031
"k8s.io/apimachinery/pkg/runtime"
3132
"k8s.io/apimachinery/pkg/types"
3233
ctrl "sigs.k8s.io/controller-runtime"
@@ -69,6 +70,10 @@ func (r *KubeconfigReconciler) Reconcile(ctx context.Context, req ctrl.Request)
6970

7071
var kc operatorv1alpha1.Kubeconfig
7172
if err := r.Get(ctx, req.NamespacedName, &kc); err != nil {
73+
// object has been deleted.
74+
if apierrors.IsNotFound(err) {
75+
return ctrl.Result{}, nil
76+
}
7277
return ctrl.Result{}, err
7378
}
7479

internal/resources/kubeconfig/secret.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,15 @@ func KubeconfigSecretReconciler(
4747
},
4848
}
4949

50-
addCluster := func(name, url string) {
51-
config.Clusters[name] = &clientcmdapi.Cluster{
50+
addCluster := func(clusterName, url string) {
51+
config.Clusters[clusterName] = &clientcmdapi.Cluster{
5252
Server: url,
5353
CertificateAuthorityData: caSecret.Data["tls.crt"],
5454
}
55-
config.Contexts[name] = &clientcmdapi.Context{
56-
Cluster: name,
55+
}
56+
addContext := func(contextName, clusterName string) {
57+
config.Contexts[contextName] = &clientcmdapi.Context{
58+
Cluster: clusterName,
5759
AuthInfo: kubeconfig.Spec.Username,
5860
}
5961
}
@@ -71,7 +73,10 @@ func KubeconfigSecretReconciler(
7173
}
7274

7375
addCluster("default", defaultURL)
76+
addContext("default", "default")
7477
addCluster("base", serverURL)
78+
addContext("base", "base")
79+
addContext("shard-base", "base")
7580
config.CurrentContext = "default"
7681

7782
case kubeconfig.Spec.Target.ShardRef != nil:
@@ -86,7 +91,10 @@ func KubeconfigSecretReconciler(
8691
}
8792

8893
addCluster("default", defaultURL)
94+
addContext("default", "default")
8995
addCluster("base", serverURL)
96+
addContext("base", "base")
97+
addContext("shard-base", "base")
9098
config.CurrentContext = "default"
9199

92100
case kubeconfig.Spec.Target.FrontProxyRef != nil:

0 commit comments

Comments
 (0)