@@ -13,6 +13,7 @@ import (
1313 "k8s.io/client-go/rest"
1414 "k8s.io/client-go/tools/record"
1515 ctrl "sigs.k8s.io/controller-runtime"
16+ "sigs.k8s.io/controller-runtime/pkg/builder"
1617 "sigs.k8s.io/controller-runtime/pkg/client"
1718 "sigs.k8s.io/controller-runtime/pkg/handler"
1819 "sigs.k8s.io/controller-runtime/pkg/log"
@@ -69,6 +70,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
6970 r .Log .Error (err , "unexpected Get error" )
7071 return ctrl.Result {RequeueAfter : DefaultRequeueDelay }, err
7172 }
73+
7274 result , err := r .Sync (ctx , resource )
7375 if err != nil {
7476 r .Log .Error (err , "unexpected Sync error" )
@@ -152,23 +154,31 @@ func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error {
152154 }
153155
154156 return controller .
155- For (& v1alpha1.Database {}).
156- Owns (& v1alpha1.RemoteDatabaseNodeSet {}).
157- Owns (& v1alpha1.DatabaseNodeSet {}).
158- Owns (& appsv1.StatefulSet {}).
159- Owns (& corev1.ConfigMap {}).
160- Owns (& corev1.Service {}).
157+ For (& v1alpha1.Database {},
158+ builder .WithPredicates (predicate.GenerationChangedPredicate {}),
159+ ).
160+ Owns (& v1alpha1.RemoteDatabaseNodeSet {},
161+ builder .WithPredicates (resources .LastAppliedAnnotationPredicate ()), // TODO: YDBOPS-9194
162+ ).
163+ Owns (& v1alpha1.DatabaseNodeSet {},
164+ builder .WithPredicates (resources .LastAppliedAnnotationPredicate ()), // TODO: YDBOPS-9194
165+ ).
166+ Owns (& appsv1.StatefulSet {},
167+ builder .WithPredicates (predicate.GenerationChangedPredicate {}),
168+ ).
169+ Owns (& corev1.ConfigMap {},
170+ builder .WithPredicates (predicate.ResourceVersionChangedPredicate {}),
171+ ).
172+ Owns (& corev1.Service {},
173+ builder .WithPredicates (predicate.ResourceVersionChangedPredicate {}),
174+ ).
161175 Watches (
162176 & source.Kind {Type : & corev1.Secret {}},
163177 handler .EnqueueRequestsFromMapFunc (r .findDatabasesForSecret ),
178+ builder .WithPredicates (predicate.ResourceVersionChangedPredicate {}),
164179 ).
165- WithEventFilter (predicate .Or (
166- predicate.GenerationChangedPredicate {},
167- resources .LastAppliedAnnotationPredicate (),
168- resources .IsServicePredicate (),
169- resources .IsSecretPredicate (),
170- )).
171- WithEventFilter (resources .IgnoreDeletetionPredicate ()).
180+ WithEventFilter (resources .IsDatabaseCreatePredicate ()).
181+ WithEventFilter (resources .IgnoreDeleteStateUnknownPredicate ()).
172182 Complete (r )
173183}
174184
0 commit comments