1
0
mirror of https://github.com/rancher/os.git synced 2025-06-06 21:52:40 +00:00
os/cmd/control/cli.go

145 lines
3.1 KiB
Go
Raw Normal View History

2015-02-17 21:31:37 +00:00
package control
import (
"fmt"
2015-02-17 21:31:37 +00:00
"os"
2015-02-17 21:31:37 +00:00
"github.com/codegangsta/cli"
"github.com/rancher/os/cmd/control/service"
"github.com/rancher/os/config"
"github.com/rancher/os/log"
2015-02-17 21:31:37 +00:00
)
func Main() {
log.InitLogger()
2015-02-17 21:31:37 +00:00
app := cli.NewApp()
app.Name = os.Args[0]
app.Usage = fmt.Sprintf("Control and configure RancherOS\nbuilt: %s", config.BuildDate)
2016-11-28 08:06:00 +00:00
app.Version = config.Version
2015-02-17 21:31:37 +00:00
app.Author = "Rancher Labs, Inc."
2015-02-23 03:56:25 +00:00
app.EnableBashCompletion = true
app.Before = func(c *cli.Context) error {
if os.Geteuid() != 0 {
log.Fatalf("%s: Need to be root", os.Args[0])
}
return nil
}
2015-02-17 21:31:37 +00:00
app.Commands = []cli.Command{
{
2017-03-14 02:11:24 +00:00
Name: "bootstrap",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: bootstrapAction,
},
{
Name: "config",
ShortName: "c",
Usage: "configure settings",
HideHelp: true,
Subcommands: configSubcommands(),
},
{
Name: "console",
Usage: "manage which console container is used",
HideHelp: true,
Subcommands: consoleSubcommands(),
},
{
Name: "console-init",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: consoleInitAction,
},
{
Name: "dev",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: devAction,
},
{
Name: "docker-init",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: dockerInitAction,
},
{
Name: "engine",
Usage: "manage which Docker engine is used",
HideHelp: true,
Subcommands: engineSubcommands(),
},
{
2017-03-14 02:11:24 +00:00
Name: "entrypoint",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: entrypointAction,
},
{
2017-03-14 02:11:24 +00:00
Name: "env",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: envAction,
},
2017-03-14 02:11:24 +00:00
service.Commands(),
{
2017-03-14 02:11:24 +00:00
Name: "os",
Usage: "operating system upgrade/downgrade",
HideHelp: true,
Subcommands: osSubcommands(),
},
2017-03-14 02:11:24 +00:00
{
Name: "preload-images",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: preloadImagesAction,
},
2016-11-30 01:06:23 +00:00
{
Name: "recovery-init",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: recoveryInitAction,
},
2017-03-14 02:11:24 +00:00
{
Name: "switch-console",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: switchConsoleAction,
},
{
Name: "tls",
Usage: "setup tls configuration",
HideHelp: true,
Subcommands: tlsConfCommands(),
},
{
Name: "udev-settle",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: udevSettleAction,
},
{
Name: "user-docker",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: userDockerAction,
},
installCommand,
selinuxCommand(),
2015-02-17 21:31:37 +00:00
}
app.Run(os.Args)
}