in cmd/server.go [66:138]
func server() error {
ctrl.SetLogger(packageLog)
config := ctrl.GetConfigOrDie()
// Upping the defaults of 20/30 to 75/150 when flowcontrol filter is not enabled.
config.QPS = 75.0
config.Burst = 150
enabled, err := flowcontrol.IsEnabled(context.Background(), config)
packageLog.Info("Starting package controller", "config", pkgConfig.GetGlobalConfig())
if err == nil && enabled {
// Checks if the Kubernetes apiserver has PriorityAndFairness flow control filter enabled
// A negative QPS and Burst indicates that the client should not have a rate limiter.
// Ref: https://github.com/kubernetes/kubernetes/blob/v1.24.0/staging/src/k8s.io/client-go/rest/config.go#L354-L364
config.QPS = -1
config.Burst = -1
}
mgr, err := ctrl.NewManager(config, ctrl.Options{
Scheme: scheme,
Metrics: ctrlmetricsserver.Options{
BindAddress: serverCommandContext.metricsAddr,
},
WebhookServer: ctrlwebhook.NewServer(ctrlwebhook.Options{
Port: 9443,
}),
HealthProbeBindAddress: serverCommandContext.probeAddr,
LeaderElection: serverCommandContext.enableLeaderElection,
LeaderElectionID: "6ef7a950.eks.amazonaws.com",
})
if err != nil {
return fmt.Errorf("unable to start manager: %v", err)
}
ecrCredAdapter, err := registry.NewECRCredInjector(rootCmd.Context(), mgr.GetClient(), packageLog)
if err != nil {
return fmt.Errorf("unable to create ecrCredAdapter: %v", err)
}
go ecrCredAdapter.Run(rootCmd.Context())
if err = controllers.RegisterPackageBundleReconciler(mgr); err != nil {
return fmt.Errorf("unable to register package bundle controller: %v", err)
}
if err = controllers.RegisterPackageBundleControllerReconciler(mgr); err != nil {
return fmt.Errorf("unable to register package bundle controller controller: %v", err)
}
if err = controllers.RegisterPackageReconciler(mgr); err != nil {
return fmt.Errorf("unable to register package controller: %v", err)
}
if os.Getenv("ENABLE_WEBHOOKS") == "true" {
if err := webhook.InitPackageBundleValidator(mgr); err != nil {
return fmt.Errorf("unable to create package bundle webhook: %v", err)
}
if err := webhook.InitPackageBundleControllerValidator(mgr); err != nil {
return fmt.Errorf("unable to create package bundle controller webhook: %v", err)
}
if err = webhook.InitPackageValidator(mgr); err != nil {
return fmt.Errorf("unable to create package webhook: %v", err)
}
}
if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
return fmt.Errorf("unable to set up health check")
}
if err := mgr.AddReadyzCheck("readyz", healthz.Ping); err != nil {
return fmt.Errorf("unable to set up ready check")
}
packageLog.Info("starting manager")
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
return fmt.Errorf("problem running manager: %v", err)
}
return nil
}