Skip to content

Commit 3be5801

Browse files
committed
pkg/internal/predicate: remove status subresource managed field
1 parent 29b1979 commit 3be5801

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

pkg/internal/predicate/predicates.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ package predicate
1818

1919
import (
2020
"reflect"
21+
"slices"
2122

23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2224
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
2325
"sigs.k8s.io/controller-runtime/pkg/event"
2426
logf "sigs.k8s.io/controller-runtime/pkg/log"
@@ -69,6 +71,9 @@ func DependentPredicateFuncs() crtpredicate.TypedFuncs[*unstructured.Unstructure
6971
old.SetResourceVersion("")
7072
updated.SetResourceVersion("")
7173

74+
removeStatusManagedField(old)
75+
removeStatusManagedField(updated)
76+
7277
if reflect.DeepEqual(old.Object, updated.Object) {
7378
return false
7479
}
@@ -79,3 +84,11 @@ func DependentPredicateFuncs() crtpredicate.TypedFuncs[*unstructured.Unstructure
7984

8085
return dependentPredicate
8186
}
87+
88+
func removeStatusManagedField(obj *unstructured.Unstructured) {
89+
obj.SetManagedFields(slices.DeleteFunc(obj.GetManagedFields(), isStatusSubresource))
90+
}
91+
92+
func isStatusSubresource(f metav1.ManagedFieldsEntry) bool {
93+
return f.Subresource == "status"
94+
}

0 commit comments

Comments
 (0)