in controller/merge_request/controller.go [52:99]
func Make(
mgr ctrl.Manager,
logger controller.Logger,
cnf *config.Settings,
gerrit gerritService.ServiceInterface,
cbService codebaseSvc.ServiceInterface,
gitServerService gitserver.ServiceInterface,
jenkinsService jenkins.ServiceInterface,
appCache *cache.Cache,
) error {
c := Controller{
mgr: mgr,
logger: logger,
k8sClient: mgr.GetClient(),
cnf: cnf,
gerrit: gerrit,
appCache: appCache,
codebaseService: cbService,
gitServerService: gitServerService,
jenkinsService: jenkinsService,
}
vf, err := registry.MakeVersionFilter(cnf.RegistryVersionFilter)
if err != nil {
return fmt.Errorf("unable to init version filter, %w", err)
}
c.versionFilter = vf
if err := ctrl.NewControllerManagedBy(mgr).
For(
&gerritService.GerritMergeRequest{},
builder.WithPredicates(
predicate.Funcs{
UpdateFunc: isSpecUpdated,
},
),
).
WithOptions(
k8sController.Options{
MaxConcurrentReconciles: 1,
},
).
Complete(&c); err != nil {
return fmt.Errorf("unable to create controller, err: %w", err)
}
return nil
}