summaryrefslogtreecommitdiff
path: root/libpod/common
diff options
context:
space:
mode:
authorumohnani8 <umohnani@redhat.com>2017-12-12 13:33:10 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2017-12-14 18:37:17 +0000
commit1e7d880b561318aa2ad89d7583addad1904e5a36 (patch)
tree7773e3d409c410ae9bb3a210e106dddc28e302b5 /libpod/common
parentbf0d35904752c2ac5c607c4a82237f074c862744 (diff)
downloadpodman-1e7d880b561318aa2ad89d7583addad1904e5a36.tar.gz
podman-1e7d880b561318aa2ad89d7583addad1904e5a36.tar.bz2
podman-1e7d880b561318aa2ad89d7583addad1904e5a36.zip
Add manifest type conversion to kpod push
User can select from 3 manifest types: oci, v2s1, or v2s2 e.g kpod push --format v2s2 alpine dir:my-directory Added "compress" flag to enable compression when true Signed-off-by: umohnani8 <umohnani@redhat.com> Closes: #126 Approved by: rhatdan
Diffstat (limited to 'libpod/common')
-rw-r--r--libpod/common/common.go20
-rw-r--r--libpod/common/docker_registry_options.go3
2 files changed, 13 insertions, 10 deletions
diff --git a/libpod/common/common.go b/libpod/common/common.go
index 8a7fbcd5e..6af3cd232 100644
--- a/libpod/common/common.go
+++ b/libpod/common/common.go
@@ -16,31 +16,33 @@ var (
)
// GetCopyOptions constructs a new containers/image/copy.Options{} struct from the given parameters
-func GetCopyOptions(reportWriter io.Writer, signaturePolicyPath string, srcDockerRegistry, destDockerRegistry *DockerRegistryOptions, signing SigningOptions, authFile string) *cp.Options {
+func GetCopyOptions(reportWriter io.Writer, signaturePolicyPath string, srcDockerRegistry, destDockerRegistry *DockerRegistryOptions, signing SigningOptions, authFile, manifestType string, forceCompress bool) *cp.Options {
if srcDockerRegistry == nil {
srcDockerRegistry = &DockerRegistryOptions{}
}
if destDockerRegistry == nil {
destDockerRegistry = &DockerRegistryOptions{}
}
- srcContext := srcDockerRegistry.GetSystemContext(signaturePolicyPath, authFile)
- destContext := destDockerRegistry.GetSystemContext(signaturePolicyPath, authFile)
+ srcContext := srcDockerRegistry.GetSystemContext(signaturePolicyPath, authFile, forceCompress)
+ destContext := destDockerRegistry.GetSystemContext(signaturePolicyPath, authFile, forceCompress)
return &cp.Options{
- RemoveSignatures: signing.RemoveSignatures,
- SignBy: signing.SignBy,
- ReportWriter: reportWriter,
- SourceCtx: srcContext,
- DestinationCtx: destContext,
+ RemoveSignatures: signing.RemoveSignatures,
+ SignBy: signing.SignBy,
+ ReportWriter: reportWriter,
+ SourceCtx: srcContext,
+ DestinationCtx: destContext,
+ ForceManifestMIMEType: manifestType,
}
}
// GetSystemContext Constructs a new containers/image/types.SystemContext{} struct from the given signaturePolicy path
-func GetSystemContext(signaturePolicyPath, authFilePath string) *types.SystemContext {
+func GetSystemContext(signaturePolicyPath, authFilePath string, forceCompress bool) *types.SystemContext {
sc := &types.SystemContext{}
if signaturePolicyPath != "" {
sc.SignaturePolicyPath = signaturePolicyPath
}
sc.AuthFilePath = authFilePath
+ sc.DirForceCompress = forceCompress
return sc
}
diff --git a/libpod/common/docker_registry_options.go b/libpod/common/docker_registry_options.go
index 24fa5c03e..f79ae0c54 100644
--- a/libpod/common/docker_registry_options.go
+++ b/libpod/common/docker_registry_options.go
@@ -22,13 +22,14 @@ type DockerRegistryOptions struct {
// GetSystemContext constructs a new system context from the given signaturePolicy path and the
// values in the DockerRegistryOptions
-func (o DockerRegistryOptions) GetSystemContext(signaturePolicyPath, authFile string) *types.SystemContext {
+func (o DockerRegistryOptions) GetSystemContext(signaturePolicyPath, authFile string, forceCompress bool) *types.SystemContext {
sc := &types.SystemContext{
SignaturePolicyPath: signaturePolicyPath,
DockerAuthConfig: o.DockerRegistryCreds,
DockerCertPath: o.DockerCertPath,
DockerInsecureSkipTLSVerify: o.DockerInsecureSkipTLSVerify,
AuthFilePath: authFile,
+ DirForceCompress: forceCompress,
}
return sc
}