diff --git a/infrastructure/kubernetes.go b/infrastructure/kubernetes.go index 9b0f31c..4944a26 100644 --- a/infrastructure/kubernetes.go +++ b/infrastructure/kubernetes.go @@ -16,6 +16,7 @@ import ( rbacv1 "k8s.io/api/rbac/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + apply "k8s.io/client-go/applyconfigurations/core/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" ) @@ -346,32 +347,37 @@ func (k *KubernetesService) CreateKubeconfigSecret(context context.Context,kubec return nil, err } - secretManifest := &v1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "kube-secret-" + executionId, - Namespace: executionId, - }, - Data: map[string][]byte{ - "config": config, - }, - } + secretApplyConfig := apply.Secret("kube-secret-" + executionId, + executionId). + WithData(map[string][]byte{ + "config": config, + }, + ) + + + + // exists, err := k.GetKubeconfigSecret(context,executionId) + // if err != nil { + // fmt.Println("Error verifying if kube secret exists in namespace ", executionId) + // return nil, err + // } + // if exists != nil { + // fmt.Println("kube-secret already exists in namespace", executionId) + // fmt.Println("Overriding existing kube-secret with a newer resource") + // // TODO : implement DeleteKubeConfigSecret(executionID) + // deleted, err := k.DeleteKubeConfigSecret(executionId) + // _ = deleted + // _ = err + // } + - exists, err := k.GetKubeconfigSecret(context,executionId) - if err != nil { - fmt.Println("Error verifying if kube secret exists in namespace ", executionId) - return nil, err - } - if exists != nil { - fmt.Println("kube-secret already exists in namespace", executionId) - fmt.Println("Overriding existing kube-secret with a newer resource") - // TODO : implement DeleteKubeConfigSecret(executionID) - deleted, err := k.DeleteKubeConfigSecret(executionId) - _ = deleted - _ = err - } resp, err := k.Set.CoreV1(). Secrets(executionId). - Create(context,secretManifest,metav1.CreateOptions{}) + Apply(context, + secretApplyConfig, + metav1.ApplyOptions{ + FieldManager: "admiralty-manager", + }) if err != nil { fmt.Println("Error while trying to contact API to get secret kube-secret-"+executionId)