From f18c702bb498f708338034c1182f543573725553 Mon Sep 17 00:00:00 2001 From: Matteo Gastaldello Date: Mon, 29 Jul 2024 16:29:03 +0200 Subject: [PATCH] fix: deletion process (#35) --- internal/controllers/workflows/workflows.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/internal/controllers/workflows/workflows.go b/internal/controllers/workflows/workflows.go index 768a7a9..937ba96 100644 --- a/internal/controllers/workflows/workflows.go +++ b/internal/controllers/workflows/workflows.go @@ -101,7 +101,7 @@ func (e *external) Observe(ctx context.Context, mg resource.Managed) (reconciler } got := ptr.Deref(cr.Status.Digest, "") - if len(got) == 0 { + if len(got) == 0 && meta.WasDeleted(cr) { return reconciler.ExternalObservation{ ResourceExists: false, ResourceUpToDate: true, @@ -201,10 +201,6 @@ func (e *external) Delete(ctx context.Context, mg resource.Managed) error { return nil } - if meta.WasDeleted(cr) { - return nil - } - e.wf.Op(steps.Delete) results := e.wf.Run(ctx, cr.Spec.DeepCopy(), func(s *workflowsv1alpha1.Step) bool { return s.Type == workflowsv1alpha1.TypeVar @@ -213,7 +209,10 @@ func (e *external) Delete(ctx context.Context, mg resource.Managed) error { err := workflows.Err(results) if err != nil { e.log.Debug("Worflow failure", "op", "delete", "error", err.Error()) + return err } - return err + cr.Status.Digest = ptr.To("") + + return e.kube.Status().Update(ctx, cr) }