summaryrefslogtreecommitdiff
path: root/cmd/podman/load.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman/load.go')
-rw-r--r--cmd/podman/load.go110
1 files changed, 0 insertions, 110 deletions
diff --git a/cmd/podman/load.go b/cmd/podman/load.go
deleted file mode 100644
index 318b5b5fb..000000000
--- a/cmd/podman/load.go
+++ /dev/null
@@ -1,110 +0,0 @@
-package main
-
-import (
- "fmt"
- "io"
- "io/ioutil"
- "os"
- "strings"
-
- "github.com/containers/libpod/cmd/podman/cliconfig"
- "github.com/containers/libpod/cmd/podman/shared/parse"
- "github.com/containers/libpod/pkg/adapter"
- "github.com/containers/libpod/pkg/util"
- "github.com/pkg/errors"
- "github.com/spf13/cobra"
- "golang.org/x/crypto/ssh/terminal"
-)
-
-var (
- loadCommand cliconfig.LoadValues
-
- loadDescription = "Loads an image from a locally stored archive (tar file) into container storage."
-
- _loadCommand = &cobra.Command{
- Use: "load [flags] [NAME[:TAG]]",
- Short: "Load an image from container archive",
- Long: loadDescription,
- RunE: func(cmd *cobra.Command, args []string) error {
- loadCommand.InputArgs = args
- loadCommand.GlobalFlags = MainGlobalOpts
- loadCommand.Remote = remoteclient
- return loadCmd(&loadCommand)
- },
- }
-)
-
-func init() {
- loadCommand.Command = _loadCommand
- loadCommand.SetHelpTemplate(HelpTemplate())
- loadCommand.SetUsageTemplate(UsageTemplate())
- flags := loadCommand.Flags()
- flags.StringVarP(&loadCommand.Input, "input", "i", "", "Read from specified archive file (default: stdin)")
- flags.BoolVarP(&loadCommand.Quiet, "quiet", "q", false, "Suppress the output")
- // Disabled flags for the remote client
- if !remote {
- flags.StringVar(&loadCommand.SignaturePolicy, "signature-policy", "", "Pathname of signature policy file (not usually used)")
- markFlagHidden(flags, "signature-policy")
- }
-}
-
-// 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 *cliconfig.LoadValues) error {
-
- args := c.InputArgs
- var imageName string
-
- if len(args) == 1 {
- imageName = args[0]
- }
- if len(args) > 1 {
- return errors.New("too many arguments. Requires exactly 1")
- }
-
- runtime, err := adapter.GetRuntime(getContext(), &c.PodmanCommand)
- if err != nil {
- return errors.Wrapf(err, "could not get runtime")
- }
- defer runtime.DeferredShutdown(false)
-
- if len(c.Input) > 0 {
- if err := parse.ValidateFileName(c.Input); err != nil {
- return err
- }
- } else {
- if terminal.IsTerminal(int(os.Stdin.Fd())) {
- return errors.Errorf("cannot read from terminal. Use command-line redirection or the --input flag.")
- }
- outFile, err := ioutil.TempFile(util.Tmpdir(), "podman")
- if err != nil {
- return errors.Errorf("error creating file %v", err)
- }
- defer os.Remove(outFile.Name())
- defer outFile.Close()
-
- _, err = io.Copy(outFile, os.Stdin)
- if err != nil {
- return errors.Errorf("error copying file %v", err)
- }
-
- c.Input = outFile.Name()
- }
-
- names, err := runtime.LoadImage(getContext(), imageName, c)
- if err != nil {
- return err
- }
- if len(imageName) > 0 {
- split := strings.Split(names, ",")
- newImage, err := runtime.NewImageFromLocal(split[0])
- if err != nil {
- return err
- }
- if err := newImage.TagImage(imageName); err != nil {
- return errors.Wrapf(err, "error adding '%s' to image %q", imageName, newImage.InputName)
- }
- }
- fmt.Println("Loaded image(s): " + names)
- return nil
-}