@@ -26,7 +26,9 @@ import (
26
26
"k8s.io/client-go/tools/record"
27
27
ctrl "sigs.k8s.io/controller-runtime"
28
28
"sigs.k8s.io/controller-runtime/pkg/client"
29
+ "sigs.k8s.io/controller-runtime/pkg/event"
29
30
"sigs.k8s.io/controller-runtime/pkg/log"
31
+ "sigs.k8s.io/controller-runtime/pkg/predicate"
30
32
"sigs.k8s.io/gateway-api-inference-extension/api/v1alpha2"
31
33
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/datastore"
32
34
logutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging"
@@ -85,5 +87,17 @@ func (c *InferenceModelReconciler) updateDatastore(logger logr.Logger, infModel
85
87
func (c * InferenceModelReconciler ) SetupWithManager (mgr ctrl.Manager ) error {
86
88
return ctrl .NewControllerManagedBy (mgr ).
87
89
For (& v1alpha2.InferenceModel {}).
90
+ WithEventFilter (predicate.Funcs {
91
+ CreateFunc : func (e event.CreateEvent ) bool { return c .eventPredicate (e .Object .(* v1alpha2.InferenceModel )) },
92
+ UpdateFunc : func (e event.UpdateEvent ) bool {
93
+ return c .eventPredicate (e .ObjectOld .(* v1alpha2.InferenceModel )) || c .eventPredicate (e .ObjectNew .(* v1alpha2.InferenceModel ))
94
+ },
95
+ DeleteFunc : func (e event.DeleteEvent ) bool { return c .eventPredicate (e .Object .(* v1alpha2.InferenceModel )) },
96
+ GenericFunc : func (e event.GenericEvent ) bool { return c .eventPredicate (e .Object .(* v1alpha2.InferenceModel )) },
97
+ }).
88
98
Complete (c )
89
99
}
100
+
101
+ func (c * InferenceModelReconciler ) eventPredicate (infModel * v1alpha2.InferenceModel ) bool {
102
+ return (infModel .Spec .PoolRef .Name == c .PoolNamespacedName .Name ) && (infModel .GetNamespace () == c .PoolNamespacedName .Namespace )
103
+ }
0 commit comments