From c28a34f5e7329956d94b5fbfba0d59f5254bb911 Mon Sep 17 00:00:00 2001 From: kkb0318 Date: Fri, 24 May 2024 22:19:11 +0900 Subject: [PATCH] irsa deletion --- internal/controller/irsa_controller.go | 22 +++++++++++++-------- internal/controller/irsa_controller_test.go | 4 ++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/internal/controller/irsa_controller.go b/internal/controller/irsa_controller.go index d498dd6..b078b21 100644 --- a/internal/controller/irsa_controller.go +++ b/internal/controller/irsa_controller.go @@ -117,14 +117,21 @@ func (r *IRSAReconciler) reconcileDelete(ctx context.Context, obj *irsav1alpha1. if !obj.Spec.Cleanup { return nil } + serviceAccount := obj.Spec.ServiceAccount + kubeHandler := handler.NewKubernetesHandler(kubeClient) + for _, ns := range serviceAccount.Namespaces { + sa := manifests.NewServiceAccountBuilder().Build(types.NamespacedName{ + Name: serviceAccount.Name, + Namespace: ns, + }) + kubeHandler.Append(sa) + + } + err := kubeHandler.DeleteAll(ctx) + if err != nil { + return err + } return nil - // kubeHandler := handler.NewKubernetesHandler(kubeClient) - // kubeHandler.Append(secret) - // err := kubeHandler.DeleteAll(ctx) - // if err != nil { - // return err - // } - // return selfhosted.Delete(ctx, factory) } func (r *IRSAReconciler) reconcile(ctx context.Context, obj *irsav1alpha1.IRSA, kubeClient *kubernetes.KubernetesClient) error { @@ -167,7 +174,6 @@ func (r *IRSAReconciler) reconcile(ctx context.Context, obj *irsav1alpha1.IRSA, Namespace: ns, }) kubeHandler.Append(sa) - } return kubeHandler.ApplyAll(ctx) } diff --git a/internal/controller/irsa_controller_test.go b/internal/controller/irsa_controller_test.go index 937118a..6358921 100644 --- a/internal/controller/irsa_controller_test.go +++ b/internal/controller/irsa_controller_test.go @@ -120,11 +120,11 @@ var _ = Describe("IRSA Controller", func() { f: func(r *IRSAReconciler, obj *irsav1alpha1.IRSA) { expected := []expectedResource{ { - NamespacedName: types.NamespacedName{Name: "sa-1", Namespace: "kube-system"}, + NamespacedName: types.NamespacedName{Name: "sa-2", Namespace: "kube-system"}, f: newServiceAccount, }, { - NamespacedName: types.NamespacedName{Name: "sa-1", Namespace: "default"}, + NamespacedName: types.NamespacedName{Name: "sa-2", Namespace: "default"}, f: newServiceAccount, }, }