@@ -431,23 +431,39 @@ func (d *Tracker) runDeploymentInformer(ctx context.Context) (cleanupFn func(),
431431 handler , err := inf .AddEventHandler (
432432 cache.FilteringResourceEventHandler {
433433 FilterFunc : func (obj interface {}) bool {
434+ if d , ok := obj .(cache.DeletedFinalStateUnknown ); ok {
435+ obj = d .Obj
436+ }
437+
434438 deploymentObj := & appsv1.Deployment {}
435439 lo .Must0 (runtime .DefaultUnstructuredConverter .FromUnstructured (obj .(* unstructured.Unstructured ).Object , deploymentObj ))
436440 return deploymentObj .Name == d .ResourceName &&
437441 deploymentObj .Namespace == d .Namespace
438442 },
439443 Handler : cache.ResourceEventHandlerFuncs {
440444 AddFunc : func (obj interface {}) {
445+ if d , ok := obj .(cache.DeletedFinalStateUnknown ); ok {
446+ obj = d .Obj
447+ }
448+
441449 deploymentObj := & appsv1.Deployment {}
442450 lo .Must0 (runtime .DefaultUnstructuredConverter .FromUnstructured (obj .(* unstructured.Unstructured ).Object , deploymentObj ))
443451 d .resourceAdded <- deploymentObj
444452 },
445453 UpdateFunc : func (oldObj , newObj interface {}) {
454+ if d , ok := newObj .(cache.DeletedFinalStateUnknown ); ok {
455+ newObj = d .Obj
456+ }
457+
446458 deploymentObj := & appsv1.Deployment {}
447459 lo .Must0 (runtime .DefaultUnstructuredConverter .FromUnstructured (newObj .(* unstructured.Unstructured ).Object , deploymentObj ))
448460 d .resourceModified <- deploymentObj
449461 },
450462 DeleteFunc : func (obj interface {}) {
463+ if d , ok := obj .(cache.DeletedFinalStateUnknown ); ok {
464+ obj = d .Obj
465+ }
466+
451467 deploymentObj := & appsv1.Deployment {}
452468 lo .Must0 (runtime .DefaultUnstructuredConverter .FromUnstructured (obj .(* unstructured.Unstructured ).Object , deploymentObj ))
453469 d .resourceDeleted <- deploymentObj
0 commit comments