From 741c4717537a549c3a30808bcd621ad71f26d6f1 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Mon, 10 Apr 2017 14:14:10 -0400 Subject: [PATCH 1/2] containerd: make a config subcommand For the purpose of reviewing the default config Signed-off-by: Vincent Batts --- cmd/containerd/config.go | 17 +++++++++++++++++ cmd/containerd/main.go | 17 +++-------------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/cmd/containerd/config.go b/cmd/containerd/config.go index b1ef45b..f219eb8 100644 --- a/cmd/containerd/config.go +++ b/cmd/containerd/config.go @@ -3,10 +3,27 @@ package main import ( "bytes" "io" + "os" "github.com/BurntSushi/toml" + "github.com/urfave/cli" ) +var configCommand = cli.Command{ + Name: "config", + Usage: "information on the containerd config", + Subcommands: []cli.Command{ + { + Name: "default", + Usage: "see the output of the default config", + Action: func(context *cli.Context) error { + _, err := conf.WriteTo(os.Stdout) + return err + }, + }, + }, +} + // loadConfig loads the config from the provided path func loadConfig(path string) error { md, err := toml.DecodeFile(path, conf) diff --git a/cmd/containerd/main.go b/cmd/containerd/main.go index c3f25d3..8377357 100644 --- a/cmd/containerd/main.go +++ b/cmd/containerd/main.go @@ -3,7 +3,6 @@ package main import ( _ "expvar" "fmt" - "io/ioutil" "net/http" _ "net/http/pprof" "os" @@ -82,6 +81,9 @@ func main() { Usage: "containerd root directory", }, } + app.Commands = []cli.Command{ + configCommand, + } app.Before = before app.Action = func(context *cli.Context) error { start := time.Now() @@ -152,19 +154,6 @@ func main() { } func before(context *cli.Context) error { - if context.GlobalString("config") == "default" { - fh, err := ioutil.TempFile("", "containerd-config.toml.") - if err != nil { - return err - } - if _, err := conf.WriteTo(fh); err != nil { - fh.Close() - return err - } - fh.Close() - log.G(global).Infof("containerd default config written to %q", fh.Name()) - os.Exit(0) - } err := loadConfig(context.GlobalString("config")) if err != nil && !os.IsNotExist(err) { return err From f58f047b7fc693af2ef3817ae34cced82173f654 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Mon, 10 Apr 2017 14:33:38 -0400 Subject: [PATCH 2/2] containerd: revert the auto config creation rather than automagically doing this, it is the user's responsibility to review the output of `containerd config default` and create the config themselves. Signed-off-by: Vincent Batts --- cmd/containerd/main.go | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/cmd/containerd/main.go b/cmd/containerd/main.go index 8377357..6c96be4 100644 --- a/cmd/containerd/main.go +++ b/cmd/containerd/main.go @@ -157,19 +157,7 @@ func before(context *cli.Context) error { err := loadConfig(context.GlobalString("config")) if err != nil && !os.IsNotExist(err) { return err - } else if err != nil && os.IsNotExist(err) { - log.G(global).Infof("config %q does not exist. Creating it.", context.GlobalString("config")) - fh, err := os.Create(context.GlobalString("config")) - if err != nil { - return err - } - if _, err := conf.WriteTo(fh); err != nil { - fh.Close() - return err - } - fh.Close() } - // the order for config vs flag values is that flags will always override // the config values if they are set if err := setLevel(context); err != nil {