@@ -151,6 +151,7 @@ func generateControllerFileWithMultipleVersions(dir, controllerName, resourceNam
151151 handlerFields := []jen.Code {
152152 jen .Qual (pkgCtrlState , "StateHandler" ).Types (jen .Qual (apiPkg , resourceName )),
153153 jen .Qual ("github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/reconciler" , "AtlasReconciler" ),
154+ jen .Id ("predicates" ).Index ().Qual ("sigs.k8s.io/controller-runtime/pkg/predicate" , "Predicate" ),
154155 }
155156
156157 // Version-specific handler for each version
@@ -168,6 +169,7 @@ func generateControllerFileWithMultipleVersions(dir, controllerName, resourceNam
168169 jen .Id ("logger" ).Op ("*" ).Qual ("go.uber.org/zap" , "Logger" ),
169170 jen .Id ("globalSecretRef" ).Qual ("sigs.k8s.io/controller-runtime/pkg/client" , "ObjectKey" ),
170171 jen .Id ("reapplySupport" ).Bool (),
172+ jen .Id ("predicates" ).Index ().Qual ("sigs.k8s.io/controller-runtime/pkg/predicate" , "Predicate" ),
171173 }
172174
173175 atlasReconcilerBase := jen .Qual ("github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/reconciler" , "AtlasReconciler" ).Values (jen.Dict {
@@ -198,6 +200,7 @@ func generateControllerFileWithMultipleVersions(dir, controllerName, resourceNam
198200 versionSuffix := mapping .Version
199201 d [jen .Id ("handler" + versionSuffix )] = jen .Id ("handler" + versionSuffix )
200202 }
203+ d [jen .Id ("predicates" )] = jen .Id ("predicates" )
201204 })),
202205 jen .Line (),
203206 jen .Return (jen .Qual (pkgCtrlState , "NewStateReconciler" ).Call (
@@ -305,8 +308,10 @@ func generateDelegatingStateHandlers(f *jen.File, controllerName, resourceName,
305308 jen .Qual ("sigs.k8s.io/controller-runtime/pkg/builder" , "Predicates" ),
306309 ).Block (
307310 jen .Id ("obj" ).Op (":=" ).Op ("&" ).Qual (apiPkg , resourceName ).Values (),
308- jen .Comment ("TODO: Add appropriate predicates" ),
309- jen .Return (jen .Id ("obj" ), jen .Qual ("sigs.k8s.io/controller-runtime/pkg/builder" , "WithPredicates" ).Call ()),
311+ jen .Return (
312+ jen .Id ("obj" ),
313+ jen .Qual ("sigs.k8s.io/controller-runtime/pkg/builder" , "WithPredicates" ).Call (jen .Id ("h" ).Dot ("predicates" ).Op ("..." )),
314+ ),
310315 )
311316
312317 generateMapperFunctions (f , controllerName , resourceName , apiPkg , refsByKind )
0 commit comments