diff options
author | Romain Geissler <romain.geissler@amadeus.com> | 2022-07-30 12:50:57 +0000 |
---|---|---|
committer | Romain Geissler <romain.geissler@amadeus.com> | 2022-07-30 15:10:41 +0000 |
commit | 24a599fe1d8f7f9da23cf3056c4eda8bcc89e563 (patch) | |
tree | c91259ed7763a34093cbb19ff03cce5ed15d8479 /pkg/domain/infra/abi | |
parent | fed326d8a6f8d4f7dc490099b29d51fc1754789f (diff) | |
download | podman-24a599fe1d8f7f9da23cf3056c4eda8bcc89e563.tar.gz podman-24a599fe1d8f7f9da23cf3056c4eda8bcc89e563.tar.bz2 podman-24a599fe1d8f7f9da23cf3056c4eda8bcc89e563.zip |
Add flag "--compression-format" to "podman manifest push" both in local/remote mode.
Also Fix usage of flag "--compression-format" for remote "podman image push". Fix usage of flags "--format", "--remove-signatures" in remote "podman manifest push".
Closes #15109.
Signed-off-by: Romain Geissler <romain.geissler@amadeus.com>
Diffstat (limited to 'pkg/domain/infra/abi')
-rw-r--r-- | pkg/domain/infra/abi/manifest.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/domain/infra/abi/manifest.go b/pkg/domain/infra/abi/manifest.go index bdc3d9513..b135b05ba 100644 --- a/pkg/domain/infra/abi/manifest.go +++ b/pkg/domain/infra/abi/manifest.go @@ -13,6 +13,7 @@ import ( "github.com/containers/common/libimage" cp "github.com/containers/image/v5/copy" "github.com/containers/image/v5/manifest" + "github.com/containers/image/v5/pkg/compression" "github.com/containers/image/v5/pkg/shortnames" "github.com/containers/image/v5/transports" "github.com/containers/image/v5/transports/alltransports" @@ -318,6 +319,22 @@ func (ir *ImageEngine) ManifestPush(ctx context.Context, name, destination strin pushOptions.SignBy = opts.SignBy pushOptions.InsecureSkipTLSVerify = opts.SkipTLSVerify + compressionFormat := opts.CompressionFormat + if compressionFormat == "" { + config, err := ir.Libpod.GetConfigNoCopy() + if err != nil { + return "", err + } + compressionFormat = config.Engine.CompressionFormat + } + if compressionFormat != "" { + algo, err := compression.AlgorithmByName(compressionFormat) + if err != nil { + return "", err + } + pushOptions.CompressionFormat = &algo + } + if opts.All { pushOptions.ImageListSelection = cp.CopyAllImages } |