@@ -441,13 +441,24 @@ func (r *KustomizationReconciler) reconcile(
441441 }
442442
443443 // Validate and apply resources in stages.
444- drifted , changeSet , err := r .apply (ctx , resourceManager , obj , revision , originRevision , objects )
444+ drifted , changeSetWithSkipped , err := r .apply (ctx , resourceManager , obj , revision , originRevision , objects )
445445 if err != nil {
446446 obj .Status .History .Upsert (checksum , time .Now (), time .Since (reconcileStart ), meta .ReconciliationFailedReason , historyMeta )
447447 conditions .MarkFalse (obj , meta .ReadyCondition , meta .ReconciliationFailedReason , "%s" , err )
448448 return err
449449 }
450450
451+ // Filter out skipped entries from the change set.
452+ changeSet := ssa .NewChangeSet ()
453+ skippedSet := make (map [object.ObjMetadata ]struct {})
454+ for _ , entry := range changeSetWithSkipped .Entries {
455+ if entry .Action == ssa .SkippedAction {
456+ skippedSet [entry .ObjMetadata ] = struct {}{}
457+ } else {
458+ changeSet .Add (entry )
459+ }
460+ }
461+
451462 // Create an inventory from the reconciled resources.
452463 newInventory := inventory .New ()
453464 err = inventory .AddChangeSet (newInventory , changeSet )
@@ -461,7 +472,7 @@ func (r *KustomizationReconciler) reconcile(
461472 obj .Status .Inventory = newInventory
462473
463474 // Detect stale resources which are subject to garbage collection.
464- staleObjects , err := inventory .Diff (oldInventory , newInventory )
475+ staleObjects , err := inventory .Diff (oldInventory , newInventory , skippedSet )
465476 if err != nil {
466477 obj .Status .History .Upsert (checksum , time .Now (), time .Since (reconcileStart ), meta .ReconciliationFailedReason , historyMeta )
467478 conditions .MarkFalse (obj , meta .ReadyCondition , meta .ReconciliationFailedReason , "%s" , err )
0 commit comments