func oci2docker(c *cli.Context) { ociPath := c.String("oci-bundle") _, err := os.Stat(ociPath) if os.IsNotExist(err) { cli.ShowCommandHelp(c, "convert") } convert.RunOCI2Docker(ociPath) }
func main() { app := cli.NewApp() app.Name = "flow-debugproxy" app.Usage = "Flow Framework xDebug proxy" app.Author = "Dominique Feyer" app.Email = "*****@*****.**" app.Version = "0.9.0" app.Flags = []cli.Flag{ cli.StringFlag{ Name: "xdebug, l", Value: "127.0.0.1:9000", Usage: "Listen address IP and port number", }, cli.StringFlag{ Name: "ide, I", Value: "127.0.0.1:9010", Usage: "Bind address IP and port number", }, cli.StringFlag{ Name: "context, c", Value: "Development", Usage: "The context to run as", }, cli.StringFlag{ Name: "framework", Value: "flow", Usage: "Framework support, currently on Flow framework (flow) or Dummy (dummy) is supported", }, cli.BoolFlag{ Name: "verbose", Usage: "Verbose", }, cli.BoolFlag{ Name: "vv", Usage: "Very verbose", }, cli.BoolFlag{ Name: "debug", Usage: "Show debug output", }, } app.Action = func(cli *cli.Context) { c := &config.Config{ Context: cli.String("context"), Framework: cli.String("framework"), Verbose: cli.Bool("verbose") || cli.Bool("vv"), VeryVerbose: cli.Bool("vv"), Debug: cli.Bool("debug"), } log := &logger.Logger{ Config: c, } laddr, raddr, listener := setupNetworkConnection(cli.String("xdebug"), cli.String("ide"), log) log.Info("Debugger from %v\nIDE from %v\n", laddr, raddr) pathMapping := &pathmapping.PathMapping{} pathMapper, err := pathmapperfactory.Create(c, pathMapping, log) errorhandler.PanicHandling(err, log) for { conn, err := listener.AcceptTCP() if err != nil { log.Warn("Failed to accept connection '%s'\n", err) continue } proxy := &xdebugproxy.Proxy{ Lconn: conn, Raddr: raddr, PathMapper: pathMapper, Config: c, } go proxy.Start() } } app.Run(os.Args) }