From 3ce17181b6e6acfa927222b81ee07536dedac63c Mon Sep 17 00:00:00 2001 From: Tycho Andersen Date: Fri, 21 Jun 2019 09:44:16 -0600 Subject: [PATCH] copy: add a CLI flag for OCIAcceptUncompressedLayers There are cases where we want to pass this flag to the actual copy engine, so let's add a CLI flag for it. Signed-off-by: Tycho Andersen --- cmd/skopeo/utils.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmd/skopeo/utils.go b/cmd/skopeo/utils.go index 320aec83..0b4948da 100644 --- a/cmd/skopeo/utils.go +++ b/cmd/skopeo/utils.go @@ -153,8 +153,9 @@ func (opts *imageOptions) newSystemContext() (*types.SystemContext, error) { // imageDestOptions is a superset of imageOptions specialized for iamge destinations. type imageDestOptions struct { *imageOptions - osTreeTmpDir string // A directory to use for OSTree temporary files - dirForceCompression bool // Compress layers when saving to the dir: transport + osTreeTmpDir string // A directory to use for OSTree temporary files + dirForceCompression bool // Compress layers when saving to the dir: transport + ociAcceptUncompressedLayers bool // Whether to accept uncompressed layers in the oci: transport } // imageDestFlags prepares a collection of CLI flags writing into imageDestOptions, and the managed imageDestOptions structure. @@ -173,6 +174,11 @@ func imageDestFlags(global *globalOptions, shared *sharedImageOptions, flagPrefi Usage: "Compress tarball image layers when saving to directory using the 'dir' transport. (default is same compression type as source)", Destination: &opts.dirForceCompression, }, + cli.BoolFlag{ + Name: flagPrefix + "oci-accept-uncompressed-layers", + Usage: "Allow uncompressed image layers when saving to an OCI image using the 'oci' transport. (default is to compress things that aren't compressed)", + Destination: &opts.ociAcceptUncompressedLayers, + }, }...), &opts } @@ -186,6 +192,7 @@ func (opts *imageDestOptions) newSystemContext() (*types.SystemContext, error) { ctx.OSTreeTmpDirPath = opts.osTreeTmpDir ctx.DirForceCompress = opts.dirForceCompression + ctx.OCIAcceptUncompressedLayers = opts.ociAcceptUncompressedLayers return ctx, err }