k3s/pkg/cli/cmds/root.go

52 lines
1.2 KiB
Go
Raw Normal View History

2019-01-09 16:54:15 +00:00
package cmds
import (
"fmt"
2019-11-12 04:20:19 +00:00
"os"
"runtime"
2019-01-09 16:54:15 +00:00
"github.com/k3s-io/k3s/pkg/version"
"github.com/urfave/cli"
)
var (
Debug bool
DebugFlag = &cli.BoolFlag{
Name: "debug",
Usage: "(logging) Turn on debug logs",
Destination: &Debug,
EnvVar: version.ProgramUpper + "_DEBUG",
}
PreferBundledBin = &cli.BoolFlag{
Name: "prefer-bundled-bin",
Usage: "(experimental) Prefer bundled userspace binaries over host binaries",
}
2019-01-09 16:54:15 +00:00
)
2019-11-12 04:20:19 +00:00
func init() {
// hack - force "file,dns" lookup order if go dns is used
if os.Getenv("RES_OPTIONS") == "" {
os.Setenv("RES_OPTIONS", " ")
}
}
2019-01-09 16:54:15 +00:00
func NewApp() *cli.App {
app := cli.NewApp()
app.Name = appName
app.Usage = "Kubernetes, but small and simple"
2019-02-08 04:28:09 +00:00
app.Version = fmt.Sprintf("%s (%s)", version.Version, version.GitCommit)
2019-01-09 16:54:15 +00:00
cli.VersionPrinter = func(c *cli.Context) {
fmt.Printf("%s version %s\n", app.Name, app.Version)
fmt.Printf("go version %s\n", runtime.Version())
2019-01-09 16:54:15 +00:00
}
app.Flags = []cli.Flag{
DebugFlag,
&cli.StringFlag{
Name: "data-dir,d",
Usage: "(data) Folder to hold state (default: /var/lib/rancher/" + version.Program + " or ${HOME}/.rancher/" + version.Program + " if not root)",
},
}
return app
}