2019-08-04 17:41:32 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2019-09-09 21:28:55 +00:00
|
|
|
"flag"
|
2019-08-04 17:41:32 +00:00
|
|
|
"os"
|
|
|
|
|
|
|
|
"github.com/rancher/naok/pkg/server"
|
|
|
|
"github.com/rancher/naok/pkg/version"
|
|
|
|
"github.com/rancher/wrangler/pkg/signals"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
|
|
"github.com/urfave/cli"
|
2019-09-09 21:28:55 +00:00
|
|
|
"k8s.io/klog"
|
2019-08-04 17:41:32 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
config server.Config
|
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
app := cli.NewApp()
|
|
|
|
app.Name = "naok"
|
|
|
|
app.Version = version.FriendlyVersion()
|
|
|
|
app.Usage = ""
|
|
|
|
app.Flags = []cli.Flag{
|
2019-09-11 17:32:01 +00:00
|
|
|
cli.BoolFlag{
|
|
|
|
Name: "authentication",
|
|
|
|
Destination: &config.Authentication,
|
|
|
|
},
|
|
|
|
cli.StringFlag{
|
|
|
|
Name: "webhook-kubeconfig",
|
|
|
|
EnvVar: "WEBHOOK_KUBECONFIG",
|
|
|
|
Value: "webhook-kubeconfig.yaml",
|
|
|
|
Destination: &config.WebhookKubeconfig,
|
|
|
|
},
|
2019-08-04 17:41:32 +00:00
|
|
|
cli.StringFlag{
|
|
|
|
Name: "kubeconfig",
|
|
|
|
EnvVar: "KUBECONFIG",
|
|
|
|
Value: "",
|
|
|
|
Destination: &config.Kubeconfig,
|
|
|
|
},
|
2019-08-08 05:42:15 +00:00
|
|
|
cli.StringFlag{
|
|
|
|
Name: "listen-address",
|
|
|
|
EnvVar: "LISTEN_ADDRESS",
|
|
|
|
Value: ":8080",
|
|
|
|
Destination: &config.ListenAddress,
|
|
|
|
},
|
2019-08-04 17:41:32 +00:00
|
|
|
cli.BoolFlag{Name: "debug"},
|
|
|
|
}
|
|
|
|
app.Action = run
|
|
|
|
|
|
|
|
if err := app.Run(os.Args); err != nil {
|
|
|
|
logrus.Fatal(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func run(c *cli.Context) error {
|
2019-09-09 21:28:55 +00:00
|
|
|
logging := flag.NewFlagSet("", flag.PanicOnError)
|
|
|
|
klog.InitFlags(logging)
|
2019-08-04 17:41:32 +00:00
|
|
|
if c.Bool("debug") {
|
|
|
|
logrus.SetLevel(logrus.DebugLevel)
|
2019-09-09 21:28:55 +00:00
|
|
|
if err := logging.Parse([]string{
|
|
|
|
"-v=7",
|
|
|
|
}); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if err := logging.Parse([]string{
|
|
|
|
"-v=0",
|
|
|
|
}); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-08-04 17:41:32 +00:00
|
|
|
}
|
|
|
|
ctx := signals.SetupSignalHandler(context.Background())
|
|
|
|
return server.Run(ctx, config)
|
|
|
|
}
|