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"
)
// 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)
}
}