in main.go [47:108]
func main() {
var (
metricsAddr string
enableLeaderElection bool
probeAddr string
)
flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.")
flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
flag.BoolVar(&enableLeaderElection, "leader-elect", helper.RunningInCluster(),
"Enable leader election for controller manager. "+
"Enabling this will ensure there is only one active controller manager.")
mode, err := helper.GetDebugMode()
if err != nil {
setupLog.Error(err, "unable to get debug mode value")
os.Exit(1)
}
opts := zap.Options{
Development: mode,
}
opts.BindFlags(flag.CommandLine)
flag.Parse()
ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts)))
logBuildInfo(setupLog)
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
utilruntime.Must(gerritApi.AddToScheme(scheme))
utilruntime.Must(keycloakApi.AddToScheme(scheme))
mgr, err := initManager(metricsAddr, probeAddr, enableLeaderElection)
if err != nil {
setupLog.Error(err, "unable to init manager")
os.Exit(1)
}
if err = initControllers(mgr, ctrl.Log.WithName("controllers")); err != nil {
setupLog.Error(err, "error during controllers init")
os.Exit(1)
}
if err = mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
setupLog.Error(err, "unable to set up health check")
os.Exit(1)
}
if err = mgr.AddReadyzCheck("readyz", healthz.Ping); err != nil {
setupLog.Error(err, "unable to set up ready check")
os.Exit(1)
}
setupLog.Info("starting manager")
err = mgr.Start(ctrl.SetupSignalHandler())
if err != nil {
setupLog.Error(err, "problem running manager")
os.Exit(1)
}
}