Newer
Older
AnthosCertManager / cmd / controller / main.go
package controller

import (
	"flag"

	app "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/cmd/controller/app"
	"gitbucket.jerxie.com/yangyangxie/AnthosCertManager/cmd/util"

	logf "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/logs"
	_ "k8s.io/client-go/plugin/pkg/client/auth"
)

// Init function to start the controller
func Init() {
	stopCh, exit := util.SetupExitHandler(util.GracefulShutdown)
	defer exit()

	logf.InitLogs(flag.CommandLine)
	defer logf.FlushLogs()

	cmd := app.NewCommandStartCertManagerController(stopCh)
	cmd.Flags().AddGoFlagSet(flag.CommandLine)

	flag.CommandLine.Parse([]string{})

	if err := cmd.Execute(); err != nil {
		logf.Log.Error(err, "error while executing")
		util.SetExitCode(err)
	}
}