func runServer(ctx *cli.Context) { // first check the options log.SetDebugVisible(ctx.Int("debug")) config := ctx.String("config") server.RunServer(config) }
func main() { app := cli.NewApp() app.Name = "SSH keystore client" app.Usage = "Connects to a ssh-keystore-server and updates/changes information" app.Version = "0.3" app.Commands = []cli.Command{ commandID, commandConfig, commandKeyvalue, commandSSH, commandFollow, } app.Flags = []cli.Flag{ cli.IntFlag{ Name: "debug, d", Value: 0, Usage: "debug-level: 1 for terse, 5 for maximal", }, cli.StringFlag{ Name: "config, c", Value: "~/.cisc", Usage: "The configuration-directory of cisc", }, cli.StringFlag{ Name: "config-ssh, cs", Value: "~/.ssh", Usage: "The configuration-directory of the ssh-directory", }, } app.Before = func(c *cli.Context) error { log.SetDebugVisible(c.Int("debug")) return nil } app.Run(os.Args) }
func main() { app := cli.NewApp() app.Name = "Status" app.Usage = "Get and print status of all servers of a file." app.Flags = []cli.Flag{ cli.StringFlag{ Name: "group, g", Value: "group.toml", Usage: "Cothority group definition in `FILE.toml`", }, cli.IntFlag{ Name: "debug, d", Value: 0, Usage: "debug-level: `integer`: 1 for terse, 5 for maximal", }, } app.Action = func(c *cli.Context) error { log.SetUseColors(false) log.SetDebugVisible(c.GlobalInt("debug")) return network(c) } app.Run(os.Args) }
func main() { app := cli.NewApp() app.Name = "CoSi app" app.Usage = "Collectively sign a file or verify its signature." app.Version = Version binaryFlags := []cli.Flag{ cli.IntFlag{ Name: "debug, d", Value: 0, Usage: "debug-level: 1 for terse, 5 for maximal", }, } clientFlags := []cli.Flag{ cli.StringFlag{ Name: optionGroup + ", " + optionGroupShort, Value: DefaultGroupFile, Usage: "CoSi group definition file", }, } serverFlags := []cli.Flag{ cli.StringFlag{ Name: optionConfig + ", " + optionConfigShort, Value: server.GetDefaultConfigFile(BinaryName), Usage: "Configuration file of the server", }, } app.Commands = []cli.Command{ // BEGIN CLIENT ---------- { Name: "sign", Aliases: []string{"s"}, Usage: "Collectively sign a 'msgFile'. The signature is written to STDOUT by default.", Action: signFile, Flags: append(clientFlags, []cli.Flag{ cli.StringFlag{ Name: "out, o", Usage: "Write signature to 'sig' instead of STDOUT.", }, }...), }, { Name: "verify", Aliases: []string{"v"}, Usage: "Verify collective signature of a 'msgFile'. Signature is read by default from STDIN.", ArgsUsage: "msgFile", Action: verifyFile, Flags: append(clientFlags, []cli.Flag{ cli.StringFlag{ Name: "signature, s", Usage: "Read signature from 'sig' instead of STDIN", }, }...), }, { Name: "check", Aliases: []string{"c"}, Usage: "Check if the servers in the group definition are up and running", Action: checkConfig, Flags: clientFlags, }, // CLIENT END ---------- // BEGIN SERVER -------- { Name: "server", Usage: "act as Cothority server", Action: func(c *cli.Context) error { runServer(c) return nil }, Flags: serverFlags, Subcommands: []cli.Command{ { Name: "setup", Aliases: []string{"s"}, Usage: "Setup the configuration for the server (interactive)", Action: func(c *cli.Context) error { if c.String(optionConfig) != "" { log.Fatal("[-] Configuration file option can't be used for the 'setup' command") } if c.GlobalIsSet("debug") { log.Fatal("[-] Debug option can't be used for the 'setup' command") } server.InteractiveConfig(BinaryName) return nil }, }, }, }, // SERVER END ---------- } app.Flags = binaryFlags app.Before = func(c *cli.Context) error { log.SetDebugVisible(c.GlobalInt("debug")) return nil } err := app.Run(os.Args) log.ErrFatal(err) }