@@ -13,6 +13,7 @@ import (
13
13
"k8s.io/client-go/rest"
14
14
"k8s.io/client-go/tools/record"
15
15
ctrl "sigs.k8s.io/controller-runtime"
16
+ "sigs.k8s.io/controller-runtime/pkg/builder"
16
17
"sigs.k8s.io/controller-runtime/pkg/client"
17
18
"sigs.k8s.io/controller-runtime/pkg/handler"
18
19
"sigs.k8s.io/controller-runtime/pkg/log"
@@ -69,6 +70,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
69
70
r .Log .Error (err , "unexpected Get error" )
70
71
return ctrl.Result {RequeueAfter : DefaultRequeueDelay }, err
71
72
}
73
+
72
74
result , err := r .Sync (ctx , resource )
73
75
if err != nil {
74
76
r .Log .Error (err , "unexpected Sync error" )
@@ -152,23 +154,31 @@ func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error {
152
154
}
153
155
154
156
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
+ ).
161
175
Watches (
162
176
& source.Kind {Type : & corev1.Secret {}},
163
177
handler .EnqueueRequestsFromMapFunc (r .findDatabasesForSecret ),
178
+ builder .WithPredicates (predicate.ResourceVersionChangedPredicate {}),
164
179
).
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 ()).
172
182
Complete (r )
173
183
}
174
184
0 commit comments