func main()

in secret-operator/main.go [48:118]


func main() {
	var metricsAddr string
	var enableLeaderElection bool
	var RequeueAfter time.Duration

	flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.")
	flag.BoolVar(&enableLeaderElection, "enable-leader-election", false,
		"Enable leader election for controller manager. "+
			"Enabling this will ensure there is only one active controller manager.")
	flag.Parse()

	ctrl.SetLogger(zap.New(zap.UseDevMode(true)))

	mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
		Scheme:             scheme,
		MetricsBindAddress: metricsAddr,
		Port:               9443,
		LeaderElection:     enableLeaderElection,
		LeaderElectionID:   "0949fff9.secretoperator",
	})
	if err != nil {
		setupLog.Error(err, "unable to start manager")
		os.Exit(1)
	}

	/////////////////////////////////////////

	//Read the requestAfter vaule from environment variable
	if secret_rotate_after := os.Getenv("SECRETS_ROTATE_AFTER"); secret_rotate_after == "" {
		setupLog.Info("setting default reconciler request after time")
		RequeueAfter = time.Duration(5)
	} else {
		setupLog.Info("setting user specified reconciler request after time")
		temp, _ := strconv.Atoi(secret_rotate_after)
		RequeueAfter = time.Duration(temp)
	}

	//Read the SQS queue name vaule from environment variable
	secret_sqs_queue := os.Getenv("SECRETS_SQS_QUEUE_URL")
	if secret_sqs_queue == "" {
		setupLog.Error(err, "please set the SQS queue URL in environment variable SECRETS_SQS_QUEUE_URL")
		os.Exit(1)
	}

	//Read region vaule from environment variable
	region := os.Getenv("AWS_DEFAULT_REGION")
	if region == "" {
		setupLog.Error(err, "please set region in environment variable AWS_DEFAULT_REGION")
		os.Exit(1)
	}
	//////////////////////////////////////////

	if err = (&controllers.SecretsRotationMappingReconciler{
		Client:       mgr.GetClient(),
		Log:          ctrl.Log.WithName("controllers").WithName("SecretsRotationMapping"),
		Scheme:       mgr.GetScheme(),
		RequeueAfter: RequeueAfter,
		QueueUrl:     secret_sqs_queue,
		Region:       region,
	}).SetupWithManager(mgr); err != nil {
		setupLog.Error(err, "unable to create controller", "controller", "SecretsRotationMapping")
		os.Exit(1)
	}
	// +kubebuilder:scaffold:builder

	setupLog.Info("starting manager")
	if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
		setupLog.Error(err, "problem running manager")
		os.Exit(1)
	}
}