diff --git a/main.go b/main.go index 79b5d683e..bda344cef 100644 --- a/main.go +++ b/main.go @@ -82,8 +82,8 @@ func init() { //+kubebuilder:scaffold:scheme } +// setupManager creates and returns a new ctrl.Manager instance func setupManager() ctrl.Manager { - cf := ControllerFlags{} readControllerFlags(&cf) @@ -116,6 +116,7 @@ func setupManager() ctrl.Manager { }), Scheme: scheme, }) + if err != nil { setupLog.Error(err, "unable to start manager") os.Exit(1) @@ -124,8 +125,9 @@ func setupManager() ctrl.Manager { return mgr } +// readControllerFlags reads the command line arguments, binds them to the controller, parses and sets up the controller +// logger func readControllerFlags(c *ControllerFlags) { - flag.StringVar(&c.metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.") flag.StringVar(&c.probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.") flag.BoolVar(&c.enableHttp2, "enable-http2", false, "Enable HTTP/2 for the metrics and webhook servers.") @@ -149,38 +151,23 @@ func readControllerFlags(c *ControllerFlags) { ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts))) } -func main() { - // Set a default value for the DEFAULT_RELEASE_PVC environment variable - if os.Getenv("DEFAULT_RELEASE_PVC") == "" { - err := os.Setenv("DEFAULT_RELEASE_PVC", "release-pvc") - if err != nil { - setupLog.Error(err, "unable to setup DEFAULT_RELEASE_PVC environment variable") - os.Exit(1) - } - } - - // Set a default value for the DEFAULT_RELEASE_WORKSPACE_NAME environment variable - if os.Getenv("DEFAULT_RELEASE_WORKSPACE_NAME") == "" { - err := os.Setenv("DEFAULT_RELEASE_WORKSPACE_NAME", "release-workspace") +// loadVariableFromEnv loads an environment variable setting a default value in case of empty or unset +func loadVariableFromEnv(name, defaultValue string) { + if os.Getenv(name) == "" { + err := os.Setenv(name, defaultValue) if err != nil { - setupLog.Error(err, "unable to setup DEFAULT_RELEASE_WORKSPACE_NAME environment variable") + setupLog.Error(err, fmt.Sprintf("unable to setup %s environment variable", name)) os.Exit(1) } } + setupLog.Info(fmt.Sprintf("loaded env var %s with value %s", name, os.Getenv(name))) +} - // Set a default value for the DEFAULT_RELEASE_WORKSPACE_SIZE environment variable - if os.Getenv("DEFAULT_RELEASE_WORKSPACE_SIZE") == "" { - err := os.Setenv("DEFAULT_RELEASE_WORKSPACE_SIZE", "1Gi") - if err != nil { - setupLog.Error(err, "unable to setup DEFAULT_RELEASE_WORKSPACE_SIZE environment variable") - os.Exit(1) - } - } - err := os.Setenv("ENTERPRISE_CONTRACT_CONFIG_MAP", "enterprise-contract-service/ec-defaults") - if err != nil { - setupLog.Error(err, "unable to setup ENTERPRISE_CONTRACT_CONFIG_MAP environment variable") - os.Exit(1) - } +func main() { + loadVariableFromEnv("DEFAULT_RELEASE_PVC", "release-pvc") + loadVariableFromEnv("DEFAULT_RELEASE_WORKSPACE_NAME", "release-workspace") + loadVariableFromEnv("DEFAULT_RELEASE_WORKSPACE_SIZE", "1Gi") + loadVariableFromEnv("ENTERPRISE_CONTRACT_CONFIG_MAP", "enterprise-contract-service/ec-defaults") mgr := setupManager() setUpControllers(mgr) @@ -206,7 +193,6 @@ func main() { // setUpControllers sets up controllers. func setUpControllers(mgr ctrl.Manager) { - fmt.Printf("%+v", mgr) err := controller.SetupControllers(mgr, nil, controllers.EnabledControllers...) if err != nil { setupLog.Error(err, "unable to setup controllers")