Skip to content

Commit b093d01

Browse files
committed
fix(sec): add namespace termination interception
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
1 parent 521cbbd commit b093d01

2 files changed

Lines changed: 24 additions & 2 deletions

File tree

internal/controllers/resources/global.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,18 @@ func (r *globalResourceController) updateReconcilingStatus(ctx context.Context,
627627

628628
latest.Status.Conditions.UpdateConditionByType(meta.NewReadyConditionReconcilingReason(instance))
629629

630-
return r.client.Status().Update(ctx, latest)
630+
if err := r.client.Status().Update(ctx, latest); err != nil {
631+
if apierrors.IsNotFound(err) {
632+
return nil
633+
}
634+
635+
return err
636+
}
637+
638+
// Keep the in-memory object aligned with what we just wrote.
639+
instance.Status = latest.Status
640+
641+
return nil
631642
})
632643
}
633644

internal/controllers/resources/namespaced.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,18 @@ func (r *namespacedResourceController) updateReconcilingStatus(ctx context.Conte
635635

636636
latest.Status.Conditions.UpdateConditionByType(meta.NewReadyConditionReconcilingReason(instance))
637637

638-
return r.client.Status().Update(ctx, latest)
638+
if err := r.client.Status().Update(ctx, latest); err != nil {
639+
if apierrors.IsNotFound(err) {
640+
return nil
641+
}
642+
643+
return err
644+
}
645+
646+
// Keep the in-memory object aligned with what we just wrote.
647+
instance.Status = latest.Status
648+
649+
return nil
639650
})
640651
}
641652

0 commit comments

Comments
 (0)