package cmds import ( "fmt" "github.com/rancher/k3s/pkg/version" "github.com/sirupsen/logrus" "github.com/urfave/cli" ) var ( debug bool ) func NewApp() *cli.App { app := cli.NewApp() app.Name = appName app.Usage = "Kubernetes, but small and simple" app.Version = fmt.Sprintf("%s (%s)", version.Version, version.GitCommit) cli.VersionPrinter = func(c *cli.Context) { fmt.Printf("%s version %s\n", app.Name, app.Version) } app.Flags = []cli.Flag{ cli.BoolFlag{ Name: "debug", Usage: "Turn on debug logs", Destination: &debug, }, } app.Before = func(ctx *cli.Context) error { if debug { logrus.SetLevel(logrus.DebugLevel) } return nil } return app }