Skip to content

Commit 4f8d549

Browse files
authored
Generate wiring for predicates (#2874)
1 parent a4d12eb commit 4f8d549

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

tools/scaffolder/internal/generate/controller.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)