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, }, }