summaryrefslogtreecommitdiff
path: root/cmd/podmanV2/images/import.go
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-04-16 12:25:26 -0500
committerBrent Baude <bbaude@redhat.com>2020-04-16 15:53:58 -0500
commit241326a9a8c20ad7f2bcf651416b836e7778e090 (patch)
tree4001e8e47a022bb1b9bfbf2332c42e1aeb802f9e /cmd/podmanV2/images/import.go
parent88c6fd06cd54fb9a8826306dfdf1a77e400de5de (diff)
downloadpodman-241326a9a8c20ad7f2bcf651416b836e7778e090.tar.gz
podman-241326a9a8c20ad7f2bcf651416b836e7778e090.tar.bz2
podman-241326a9a8c20ad7f2bcf651416b836e7778e090.zip
Podman V2 birth
remote podman v1 and replace with podman v2. Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podmanV2/images/import.go')
-rw-r--r--cmd/podmanV2/images/import.go84
1 files changed, 0 insertions, 84 deletions
diff --git a/cmd/podmanV2/images/import.go b/cmd/podmanV2/images/import.go
deleted file mode 100644
index c86db34bf..000000000
--- a/cmd/podmanV2/images/import.go
+++ /dev/null
@@ -1,84 +0,0 @@
-package images
-
-import (
- "context"
- "fmt"
-
- "github.com/containers/libpod/cmd/podmanV2/parse"
- "github.com/containers/libpod/cmd/podmanV2/registry"
- "github.com/containers/libpod/pkg/domain/entities"
- "github.com/hashicorp/go-multierror"
- "github.com/pkg/errors"
- "github.com/spf13/cobra"
-)
-
-var (
- importDescription = `Create a container image from the contents of the specified tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz).
-
- Note remote tar balls can be specified, via web address.
- Optionally tag the image. You can specify the instructions using the --change option.`
- importCommand = &cobra.Command{
- Use: "import [flags] PATH [REFERENCE]",
- Short: "Import a tarball to create a filesystem image",
- Long: importDescription,
- RunE: importCon,
- Example: `podman import http://example.com/ctr.tar url-image
- cat ctr.tar | podman -q import --message "importing the ctr.tar tarball" - image-imported
- cat ctr.tar | podman import -`,
- }
-)
-
-var (
- importOpts entities.ImageImportOptions
-)
-
-func init() {
- registry.Commands = append(registry.Commands, registry.CliCommand{
- Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
- Command: importCommand,
- })
-
- flags := importCommand.Flags()
- flags.StringArrayVarP(&importOpts.Changes, "change", "c", []string{}, "Apply the following possible instructions to the created image (default []): CMD | ENTRYPOINT | ENV | EXPOSE | LABEL | STOPSIGNAL | USER | VOLUME | WORKDIR")
- flags.StringVarP(&importOpts.Message, "message", "m", "", "Set commit message for imported image")
- flags.BoolVarP(&importOpts.Quiet, "quiet", "q", false, "Suppress output")
-}
-
-func importCon(cmd *cobra.Command, args []string) error {
- var (
- source string
- reference string
- )
- switch len(args) {
- case 0:
- return errors.Errorf("need to give the path to the tarball, or must specify a tarball of '-' for stdin")
- case 1:
- source = args[0]
- case 2:
- source = args[0]
- // TODO when save is merged, we need to process reference
- // like it is done in there or we end up with docker.io prepends
- // instead of the localhost ones
- reference = args[1]
- default:
- return errors.Errorf("too many arguments. Usage TARBALL [REFERENCE]")
- }
- errFileName := parse.ValidateFileName(source)
- errURL := parse.ValidURL(source)
- if errURL == nil {
- importOpts.SourceIsURL = true
- }
- if errFileName != nil && errURL != nil {
- return multierror.Append(errFileName, errURL)
- }
-
- importOpts.Source = source
- importOpts.Reference = reference
-
- response, err := registry.ImageEngine().Import(context.Background(), importOpts)
- if err != nil {
- return err
- }
- fmt.Println(response.Id)
- return nil
-}