From d9d57eb09076433c9e9360494d519aa69633f36d Mon Sep 17 00:00:00 2001 From: Gabe Cook Date: Wed, 17 Apr 2024 00:33:00 -0500 Subject: [PATCH] fix(ingress): Add generation and annotation predicates This fixes "object has been modified" warnings --- internal/controller/ingress_controller.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/controller/ingress_controller.go b/internal/controller/ingress_controller.go index 5635d6d..cac8706 100644 --- a/internal/controller/ingress_controller.go +++ b/internal/controller/ingress_controller.go @@ -31,9 +31,11 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/runtime" ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/predicate" ) const AnnotationPrefix = "uptime-robot.clevyr.com/" @@ -148,7 +150,9 @@ func (r *IngressReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct // SetupWithManager sets up the controller with the Manager. func (r *IngressReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). - For(&networkingv1.Ingress{}). + For(&networkingv1.Ingress{}, builder.WithPredicates( + predicate.Or(predicate.GenerationChangedPredicate{}, predicate.AnnotationChangedPredicate{}), + )). Complete(r) }