56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package main
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"os"
 | |
| 
 | |
| 	"github.com/Sirupsen/logrus"
 | |
| 	"github.com/codegangsta/cli"
 | |
| 	"github.com/docker/containerd"
 | |
| )
 | |
| 
 | |
| const Usage = `High performance container daemon cli`
 | |
| 
 | |
| func main() {
 | |
| 	app := cli.NewApp()
 | |
| 	app.Name = "ctr"
 | |
| 	app.Version = containerd.Version
 | |
| 	app.Usage = Usage
 | |
| 	app.Authors = []cli.Author{
 | |
| 		{
 | |
| 			Name:  "@crosbymichael",
 | |
| 			Email: "crosbymichael@gmail.com",
 | |
| 		},
 | |
| 	}
 | |
| 	app.Flags = []cli.Flag{
 | |
| 		cli.BoolFlag{
 | |
| 			Name:  "debug",
 | |
| 			Usage: "enable debug output in the logs",
 | |
| 		},
 | |
| 		cli.StringFlag{
 | |
| 			Name:  "address",
 | |
| 			Value: "/run/containerd/containerd.sock",
 | |
| 			Usage: "address of GRPC API",
 | |
| 		},
 | |
| 	}
 | |
| 	app.Commands = []cli.Command{
 | |
| 		CheckpointCommand,
 | |
| 		ContainersCommand,
 | |
| 		EventsCommand,
 | |
| 	}
 | |
| 	app.Before = func(context *cli.Context) error {
 | |
| 		if context.GlobalBool("debug") {
 | |
| 			logrus.SetLevel(logrus.DebugLevel)
 | |
| 		}
 | |
| 		return nil
 | |
| 	}
 | |
| 	if err := app.Run(os.Args); err != nil {
 | |
| 		logrus.Fatal(err)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func fatal(err string, code int) {
 | |
| 	fmt.Fprintf(os.Stderr, "[ctr] %s\n", err)
 | |
| 	os.Exit(code)
 | |
| }
 | 
