Skip to content

Commit 291e2bc

Browse files
ronethingAlinsRan
authored andcommitted
fix: add more event filter across controllers (#2449)
Signed-off-by: ashing <[email protected]>
1 parent afae2b6 commit 291e2bc

10 files changed

+25
-17
lines changed

internal/controller/apisixconsumer_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ func (r *ApisixConsumerReconciler) SetupWithManager(mgr ctrl.Manager) error {
117117
predicate.Or(
118118
predicate.GenerationChangedPredicate{},
119119
predicate.AnnotationChangedPredicate{},
120+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
120121
),
121122
).
122123
Watches(

internal/controller/apisixroute_controller.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,12 @@ func (r *ApisixRouteReconciler) SetupWithManager(mgr ctrl.Manager) error {
6363
WithEventFilter(
6464
predicate.Or(
6565
predicate.GenerationChangedPredicate{},
66-
predicate.NewPredicateFuncs(func(obj client.Object) bool {
67-
_, ok := obj.(*corev1.Secret)
68-
return ok
69-
}),
66+
predicate.AnnotationChangedPredicate{},
67+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
7068
),
7169
).
72-
Watches(&networkingv1.IngressClass{},
70+
Watches(
71+
&networkingv1.IngressClass{},
7372
handler.EnqueueRequestsFromMapFunc(r.listApisixRouteForIngressClass),
7473
builder.WithPredicates(
7574
predicate.NewPredicateFuncs(matchesIngressController),

internal/controller/apisixtls_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func (r *ApisixTlsReconciler) SetupWithManager(mgr ctrl.Manager) error {
6565
predicate.Or(
6666
predicate.GenerationChangedPredicate{},
6767
predicate.AnnotationChangedPredicate{},
68+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
6869
),
6970
).
7071
Watches(

internal/controller/consumer_controller.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,7 @@ func (r *ConsumerReconciler) SetupWithManager(mgr ctrl.Manager) error {
6565
WithEventFilter(
6666
predicate.Or(
6767
predicate.GenerationChangedPredicate{},
68-
predicate.NewPredicateFuncs(func(obj client.Object) bool {
69-
_, ok := obj.(*corev1.Secret)
70-
return ok
71-
}),
68+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
7269
),
7370
).
7471
Watches(&gatewayv1.Gateway{},

internal/controller/gateway_controller.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,7 @@ func (r *GatewayReconciler) SetupWithManager(mgr ctrl.Manager) error {
6868
WithEventFilter(
6969
predicate.Or(
7070
predicate.GenerationChangedPredicate{},
71-
predicate.NewPredicateFuncs(func(obj client.Object) bool {
72-
_, ok := obj.(*corev1.Secret)
73-
return ok
74-
}),
71+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
7572
),
7673
).
7774
Watches(

internal/controller/gatewayproxy_controller.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
ctrl "sigs.k8s.io/controller-runtime"
3131
"sigs.k8s.io/controller-runtime/pkg/client"
3232
"sigs.k8s.io/controller-runtime/pkg/handler"
33+
"sigs.k8s.io/controller-runtime/pkg/predicate"
3334
"sigs.k8s.io/controller-runtime/pkg/reconcile"
3435
gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"
3536

@@ -51,6 +52,12 @@ type GatewayProxyController struct {
5152
func (r *GatewayProxyController) SetupWithManager(mrg ctrl.Manager) error {
5253
return ctrl.NewControllerManagedBy(mrg).
5354
For(&v1alpha1.GatewayProxy{}).
55+
WithEventFilter(
56+
predicate.Or(
57+
predicate.GenerationChangedPredicate{},
58+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
59+
),
60+
).
5461
Watches(&corev1.Service{},
5562
handler.EnqueueRequestsFromMapFunc(r.listGatewayProxiesForProviderService),
5663
).

internal/controller/ingress_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ func (r *IngressReconciler) SetupWithManager(mgr ctrl.Manager) error {
7575
predicate.Or(
7676
predicate.GenerationChangedPredicate{},
7777
predicate.AnnotationChangedPredicate{},
78+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
7879
),
7980
).
8081
Watches(

internal/controller/ingressclass_controller.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,8 @@ func (r *IngressClassReconciler) SetupWithManager(mgr ctrl.Manager) error {
6262
WithEventFilter(
6363
predicate.Or(
6464
predicate.GenerationChangedPredicate{},
65-
predicate.NewPredicateFuncs(func(obj client.Object) bool {
66-
_, ok := obj.(*corev1.Secret)
67-
return ok
68-
}),
65+
predicate.AnnotationChangedPredicate{},
66+
predicate.NewPredicateFuncs(TypePredicate[*corev1.Secret]()),
6967
),
7068
).
7169
Watches(

internal/controller/utils.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,3 +1471,10 @@ func addProviderEndpointsToTranslateContext(tctx *provider.TranslateContext, c c
14711471

14721472
return nil
14731473
}
1474+
1475+
func TypePredicate[T client.Object]() func(obj client.Object) bool {
1476+
return func(obj client.Object) bool {
1477+
_, ok := obj.(T)
1478+
return ok
1479+
}
1480+
}

0 commit comments

Comments
 (0)