From a562485a62605305a7a09d94b7e772fb39ab9d72 Mon Sep 17 00:00:00 2001 From: Haim Kortovich Date: Tue, 28 May 2024 19:52:55 -0500 Subject: [PATCH 1/2] Remove all domains before deleting instance [ZITADOPER-1] --- src/internal/controller/zitadelcluster_controller.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/internal/controller/zitadelcluster_controller.go b/src/internal/controller/zitadelcluster_controller.go index ed8a107..9a9c489 100644 --- a/src/internal/controller/zitadelcluster_controller.go +++ b/src/internal/controller/zitadelcluster_controller.go @@ -389,9 +389,20 @@ func (r *ZitadelClusterReconciler) reconcileDefaultInstance(ctx context.Context, if err != nil { return ctrl.Result{}, fmt.Errorf("Error listing instances: %v", err) } + for _, instance := range resp.Result { if instance != nil { if instance.Id != zitadel.Status.DefaultInstanceId || zitadel.Status.DefaultInstanceId == "" { + for _, domain := range instance.Domains { + if domain != nil { + if _, err := ztdClient.RemoveDomain(ctx, &pb.RemoveDomainRequest{ + InstanceId: instance.Id, + Domain: domain.Domain, + }); err != nil { + return ctrl.Result{}, fmt.Errorf("Error removing domain in instance: %v", err) + } + } + } fmt.Println("DELETING INSTANCE") _, err := ztdClient.RemoveInstance(ctx, &pb.RemoveInstanceRequest{InstanceId: instance.Id}) if err != nil { From 952ab9872108b33141f373dfd0f72ddecbc258e8 Mon Sep 17 00:00:00 2001 From: Haim Kortovich Date: Tue, 28 May 2024 20:13:40 -0500 Subject: [PATCH 2/2] Don't delete generated domain [ZITADOPER-1] --- src/internal/controller/zitadelcluster_controller.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/internal/controller/zitadelcluster_controller.go b/src/internal/controller/zitadelcluster_controller.go index 9a9c489..f7094b7 100644 --- a/src/internal/controller/zitadelcluster_controller.go +++ b/src/internal/controller/zitadelcluster_controller.go @@ -395,11 +395,13 @@ func (r *ZitadelClusterReconciler) reconcileDefaultInstance(ctx context.Context, if instance.Id != zitadel.Status.DefaultInstanceId || zitadel.Status.DefaultInstanceId == "" { for _, domain := range instance.Domains { if domain != nil { - if _, err := ztdClient.RemoveDomain(ctx, &pb.RemoveDomainRequest{ - InstanceId: instance.Id, - Domain: domain.Domain, - }); err != nil { - return ctrl.Result{}, fmt.Errorf("Error removing domain in instance: %v", err) + if !domain.Generated { + if _, err := ztdClient.RemoveDomain(ctx, &pb.RemoveDomainRequest{ + InstanceId: instance.Id, + Domain: domain.Domain, + }); err != nil { + return ctrl.Result{}, fmt.Errorf("Error removing domain in instance: %v", err) + } } } }