1
0
mirror of https://github.com/rancher/os.git synced 2025-05-17 20:39:44 +00:00
os/cmd/control/cli.go

137 lines
2.9 KiB
Go
Raw Normal View History

2015-02-17 21:31:37 +00:00
package control
import (
"os"
"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 = "Control and configure RancherOS"
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{
{
Name: "bootstrap",
2016-10-20 07:19:47 +00:00
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: bootstrapAction,
},
2015-02-17 21:31:37 +00:00
{
Name: "config",
ShortName: "c",
Usage: "configure settings",
2015-03-18 13:23:27 +00:00
HideHelp: true,
2015-02-17 21:31:37 +00:00
Subcommands: configSubcommands(),
},
2016-06-06 22:13:15 +00:00
{
Name: "console",
Usage: "manage which console container is used",
2016-06-06 22:13:15 +00:00
HideHelp: true,
Subcommands: consoleSubcommands(),
},
{
Name: "console-init",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: consoleInitAction,
},
{
Name: "dev",
2016-10-20 07:19:47 +00:00
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(),
},
{
Name: "entrypoint",
2016-10-20 07:19:47 +00:00
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: entrypointAction,
},
{
Name: "env",
2016-10-20 07:19:47 +00:00
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: envAction,
},
service.Commands(),
2015-02-17 21:31:37 +00:00
{
2015-02-23 19:00:33 +00:00
Name: "os",
Usage: "operating system upgrade/downgrade",
2015-03-18 13:23:27 +00:00
HideHelp: true,
Subcommands: osSubcommands(),
2015-02-17 21:31:37 +00:00
},
{
Name: "preload-images",
2016-10-20 07:19:47 +00:00
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: preloadImagesAction,
},
{
Name: "switch-console",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: switchConsoleAction,
},
2015-02-21 21:31:10 +00:00
{
2015-03-18 12:35:47 +00:00
Name: "tls",
2015-02-23 19:00:33 +00:00
Usage: "setup tls configuration",
2015-03-18 12:35:47 +00:00
HideHelp: true,
2015-02-21 21:31:10 +00:00
Subcommands: tlsConfCommands(),
},
{
Name: "udev-settle",
2016-10-20 07:19:47 +00:00
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: udevSettleAction,
},
{
Name: "user-docker",
Hidden: true,
HideHelp: true,
SkipFlagParsing: true,
Action: userDockerAction,
},
2015-08-18 14:07:00 +00:00
installCommand,
2016-02-23 05:35:15 +00:00
selinuxCommand(),
2015-02-17 21:31:37 +00:00
}
app.Run(os.Args)
}