diff options
Diffstat (limited to 'cmd/kpod/load.go')
-rw-r--r-- | cmd/kpod/load.go | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/cmd/kpod/load.go b/cmd/kpod/load.go deleted file mode 100644 index 5ae75a7a2..000000000 --- a/cmd/kpod/load.go +++ /dev/null @@ -1,123 +0,0 @@ -package main - -import ( - "fmt" - "io" - "io/ioutil" - "os" - - "github.com/pkg/errors" - "github.com/projectatomic/libpod/libpod" - "github.com/urfave/cli" -) - -var ( - loadFlags = []cli.Flag{ - cli.StringFlag{ - Name: "input, i", - Usage: "Read from archive file, default is STDIN", - Value: "/dev/stdin", - }, - cli.BoolFlag{ - Name: "quiet, q", - Usage: "Suppress the output", - }, - cli.StringFlag{ - Name: "signature-policy", - Usage: "`pathname` of signature policy file (not usually used)", - }, - } - loadDescription = "Loads the image from docker-archive stored on the local machine." - loadCommand = cli.Command{ - Name: "load", - Usage: "load an image from docker archive", - Description: loadDescription, - Flags: loadFlags, - Action: loadCmd, - ArgsUsage: "", - } -) - -// loadCmd gets the image/file to be loaded from the command line -// and calls loadImage to load the image to containers-storage -func loadCmd(c *cli.Context) error { - - args := c.Args() - var image string - if len(args) == 1 { - image = args[0] - } - if len(args) > 1 { - return errors.New("too many arguments. Requires exactly 1") - } - if err := validateFlags(c, loadFlags); err != nil { - return err - } - - runtime, err := getRuntime(c) - if err != nil { - return errors.Wrapf(err, "could not get runtime") - } - defer runtime.Shutdown(false) - - input := c.String("input") - - if input == "/dev/stdin" { - fi, err := os.Stdin.Stat() - if err != nil { - return err - } - // checking if loading from pipe - if !fi.Mode().IsRegular() { - outFile, err := ioutil.TempFile("/var/tmp", "kpod") - if err != nil { - return errors.Errorf("error creating file %v", err) - } - defer outFile.Close() - defer os.Remove(outFile.Name()) - - inFile, err := os.OpenFile(input, 0, 0666) - if err != nil { - return errors.Errorf("error reading file %v", err) - } - defer inFile.Close() - - _, err = io.Copy(outFile, inFile) - if err != nil { - return errors.Errorf("error copying file %v", err) - } - - input = outFile.Name() - } - } - - var writer io.Writer - if !c.Bool("quiet") { - writer = os.Stdout - } - - options := libpod.CopyOptions{ - SignaturePolicyPath: c.String("signature-policy"), - Writer: writer, - } - - src := libpod.DockerArchive + ":" + input - imgName, err := runtime.PullImage(src, options) - if err != nil { - // generate full src name with specified image:tag - fullSrc := libpod.OCIArchive + ":" + input - if image != "" { - fullSrc = fullSrc + ":" + image - } - imgName, err = runtime.PullImage(fullSrc, options) - if err != nil { - src = libpod.DirTransport + ":" + input - imgName, err = runtime.PullImage(src, options) - if err != nil { - return errors.Wrapf(err, "error pulling %q", src) - } - } - } - fmt.Println("Loaded image: ", imgName) - return nil -} |