From 5c6daef143e8ed709f325f7333241c0b78042a88 Mon Sep 17 00:00:00 2001 From: wangyueliang Date: Wed, 5 Jun 2024 17:28:28 +0800 Subject: [PATCH] push-container: supports pushing container images through multiple transports --- src/cmd-push-container | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/cmd-push-container b/src/cmd-push-container index a4f8768b..e8fe0826 100755 --- a/src/cmd-push-container +++ b/src/cmd-push-container @@ -15,11 +15,22 @@ sys.path.insert(0, cosa_dir) from cosalib import cmdlib +transports = { + 'containers-storage':'containers-storage:', + 'dir':'dir:', + 'docker':'docker://', + 'docker-archive':'docker-archive:', + 'docker-daemon':'docker-daemon', +} + parser = argparse.ArgumentParser() parser.add_argument("--authfile", help="Authentication file", action='store') parser.add_argument("--insecure", help="Ignoring SSL/TLS verification, allow insecure registry", action='store_true') +parser.add_argument("--transport", help="destination image transport, support: \ + containers-storage, dir, docker, docker-archive, docker-daemon", + default='docker') parser.add_argument("name", help="destination image reference") args = parser.parse_args() @@ -50,6 +61,10 @@ if args.insecure: skopeoargs.extend(["--insecure-policy"]) skopeoargs.extend(["--dest-tls-verify=false"]) -skopeoargs.extend([f"oci-archive:{ociarchive}", f"docker://{container_name}"]) +if args.transport not in transports.keys(): + print(f"Not supported transport:{args.transport}") + exit(1) + +skopeoargs.extend([f"oci-archive:{ociarchive}", f"{transports[args.transport]}{container_name}"]) print(subprocess.list2cmdline(skopeoargs)) os.execvp('skopeo', skopeoargs) -- Gitee