func Commands() []cli.Command { flags := []cli.Flag{ cli.StringFlag{ Name: "inputs", Usage: "Inputs to load on startup", }, } // setup input flags for _, input := range input.Inputs { flags = append(flags, input.Flags()...) } command := cli.Command{ Name: "bot", Usage: "Run the micro bot", Flags: flags, Action: run, } for _, p := range Plugins() { if cmds := p.Commands(); len(cmds) > 0 { command.Subcommands = append(command.Subcommands, cmds...) } if flags := p.Flags(); len(flags) > 0 { command.Flags = append(command.Flags, flags...) } } return []cli.Command{command} }
func Commands() []cli.Command { command := cli.Command{ Name: "api", Usage: "Run the micro API", Action: run, Flags: []cli.Flag{ cli.StringFlag{ Name: "address", Usage: "Set the api address e.g 0.0.0.0:8080", EnvVar: "MICRO_API_ADDRESS", }, cli.StringFlag{ Name: "handler", Usage: "Specify the request handler to be used for mapping HTTP requests to services. e.g api, proxy, rpc", EnvVar: "MICRO_API_HANDLER", }, cli.StringFlag{ Name: "namespace", Usage: "Set the namespace used by the API e.g. com.example.api", EnvVar: "MICRO_API_NAMESPACE", }, cli.StringFlag{ Name: "cors", Usage: "Comma separated whitelist of allowed origins for CORS", EnvVar: "MICRO_API_CORS", }, }, } for _, p := range Plugins() { if cmds := p.Commands(); len(cmds) > 0 { command.Subcommands = append(command.Subcommands, cmds...) } if flags := p.Flags(); len(flags) > 0 { command.Flags = append(command.Flags, flags...) } } return []cli.Command{command} }
func Commands() []cli.Command { command := cli.Command{ Name: "web", Usage: "Run the micro web app", Action: func(c *cli.Context) { run(c) }, } for _, p := range Plugins() { if cmds := p.Commands(); len(cmds) > 0 { command.Subcommands = append(command.Subcommands, cmds...) } if flags := p.Flags(); len(flags) > 0 { command.Flags = append(command.Flags, flags...) } } return []cli.Command{command} }
func Commands() []cli.Command { command := cli.Command{ Name: "web", Usage: "Run the micro web app", Action: func(c *cli.Context) { run(c) }, Flags: []cli.Flag{ cli.StringFlag{ Name: "address", Usage: "Set the web UI address e.g 0.0.0.0:8082", EnvVar: "MICRO_WEB_ADDRESS", }, cli.StringFlag{ Name: "namespace", Usage: "Set the namespace used by the Web proxy e.g. com.example.web", EnvVar: "MICRO_WEB_NAMESPACE", }, cli.StringFlag{ Name: "cors", Usage: "Comma separated whitelist of allowed origins for CORS", EnvVar: "MICRO_WEB_CORS", }, }, } for _, p := range Plugins() { if cmds := p.Commands(); len(cmds) > 0 { command.Subcommands = append(command.Subcommands, cmds...) } if flags := p.Flags(); len(flags) > 0 { command.Flags = append(command.Flags, flags...) } } return []cli.Command{command} }
func Commands() []cli.Command { command := cli.Command{ Name: "sidecar", Usage: "Run the micro sidecar", Flags: []cli.Flag{ cli.StringFlag{ Name: "address", Usage: "Set the sidecar address e.g 0.0.0.0:8081", EnvVar: "MICRO_SIDECAR_ADDRESS", }, cli.StringFlag{ Name: "cors", Usage: "Comma separated whitelist of allowed origins for CORS", EnvVar: "MICRO_SIDECAR_CORS", }, cli.StringFlag{ Name: "namespace", Usage: "Set the namespace used by the sidecar e.g. com.example.srv", EnvVar: "MICRO_SIDECAR_NAMESPACE", }, cli.StringFlag{ Name: "server_name", Usage: "Server name of the app", }, cli.StringFlag{ Name: "server_address", Usage: "Server address and port of the app", }, cli.StringFlag{ Name: "healthcheck_url", Usage: "URL to check health of the app", }, }, Action: func(c *cli.Context) { name := c.String("server_name") address := c.String("server_address") hcUrl := c.String("healthcheck_url") if len(name) == 0 && len(address) == 0 { run(c, nil) return } if len(name) == 0 { fmt.Println("Require server name") return } if len(address) == 0 { fmt.Println("Require server address") return } // exit chan exit := make(chan bool) // start the healthchecker car := newSidecar(name, address, hcUrl) go car.run(exit) // run the server run(c, car) // kill healthchecker close(exit) }, } for _, p := range Plugins() { if cmds := p.Commands(); len(cmds) > 0 { command.Subcommands = append(command.Subcommands, cmds...) } if flags := p.Flags(); len(flags) > 0 { command.Flags = append(command.Flags, flags...) } } return []cli.Command{command} }