containerd/cmd/dist/apply.go
Akihiro Suda 837205005f fix make vet failures, and enable make vet on CI
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-10 04:36:41 +00:00

38 lines
720 B
Go

package main
import (
"os"
"github.com/containerd/containerd/archive"
"github.com/containerd/containerd/archive/compression"
"github.com/containerd/containerd/log"
"github.com/urfave/cli"
)
var applyCommand = cli.Command{
Name: "apply",
Usage: "apply layer from stdin to dir",
ArgsUsage: "[flags] <path>",
Flags: []cli.Flag{},
Action: func(context *cli.Context) error {
var (
dir = context.Args().First()
)
ctx, cancel := appContext()
defer cancel()
log.G(ctx).Info("applying layer from stdin")
rd, err := compression.DecompressStream(os.Stdin)
if err != nil {
return err
}
if _, err := archive.Apply(ctx, dir, rd); err != nil {
return err
}
return nil
},
}