2015-02-17 21:31:37 +00:00
|
|
|
package control
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
|
2016-03-16 09:48:57 +00:00
|
|
|
log "github.com/Sirupsen/logrus"
|
2015-02-17 21:31:37 +00:00
|
|
|
"github.com/codegangsta/cli"
|
2015-10-12 11:50:17 +00:00
|
|
|
"github.com/rancher/os/config"
|
2015-02-17 21:31:37 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func Main() {
|
|
|
|
app := cli.NewApp()
|
|
|
|
|
|
|
|
app.Name = os.Args[0]
|
|
|
|
app.Usage = "Control and configure RancherOS"
|
|
|
|
app.Version = config.VERSION
|
|
|
|
app.Author = "Rancher Labs, Inc."
|
2015-02-23 03:56:25 +00:00
|
|
|
app.EnableBashCompletion = true
|
2016-03-16 09:48:57 +00:00
|
|
|
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: "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",
|
2016-08-15 22:06:26 +00:00
|
|
|
Usage: "manage which console container is used",
|
2016-06-06 22:13:15 +00:00
|
|
|
HideHelp: true,
|
|
|
|
Subcommands: consoleSubcommands(),
|
|
|
|
},
|
2015-07-21 07:56:55 +00:00
|
|
|
{
|
|
|
|
Name: "dev",
|
|
|
|
ShortName: "d",
|
|
|
|
Usage: "dev spec",
|
|
|
|
HideHelp: true,
|
|
|
|
SkipFlagParsing: true,
|
|
|
|
Action: devAction,
|
|
|
|
},
|
2016-08-15 22:06:26 +00:00
|
|
|
{
|
|
|
|
Name: "engine",
|
|
|
|
Usage: "manage which Docker engine is used",
|
|
|
|
HideHelp: true,
|
|
|
|
Subcommands: engineSubcommands(),
|
|
|
|
},
|
2016-08-15 02:17:24 +00:00
|
|
|
{
|
|
|
|
Name: "entrypoint",
|
|
|
|
HideHelp: true,
|
|
|
|
SkipFlagParsing: true,
|
|
|
|
Action: entrypointAction,
|
|
|
|
},
|
2015-04-29 10:32:12 +00:00
|
|
|
{
|
2015-06-15 20:58:16 +00:00
|
|
|
Name: "env",
|
|
|
|
ShortName: "e",
|
|
|
|
Usage: "env command",
|
|
|
|
HideHelp: true,
|
|
|
|
SkipFlagParsing: true,
|
|
|
|
Action: envAction,
|
2015-04-29 10:32:12 +00:00
|
|
|
},
|
2015-10-01 22:48:19 +00:00
|
|
|
serviceCommand(),
|
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,
|
2015-02-21 06:35:42 +00:00
|
|
|
Subcommands: osSubcommands(),
|
2015-02-17 21:31:37 +00:00
|
|
|
},
|
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(),
|
|
|
|
},
|
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)
|
|
|
|
}
|