What is the version of your ORAS CLI
oras v1.3.0-beta.3
What would you like to be added?
Provide a summary-like output for human readability when copying a multi-platform image (index)
✔ Found 6 platforms in ubuntu:24.04: linux/amd64, linux/arm64, linux/ppc64le, linux/s390x, linux/riscv64, linux/arm/v7
✔ Starting copy...
Platform: linux/amd64
• Pulled config 2.3 KB (0.4s)
• Pulled layer 1 29.5 MB (6.0s)
• Pulled layer 2 5.1 MB (0.9s)
→ Total: 34.9 MB (7.3s)
Platform: linux/arm64
• Pulled config 2.2 KB (0.3s)
• Pulled layer 1 28.3 MB (3.0s)
• Pulled layer 2 4.9 MB (0.8s)
→ Total: 33.2 MB (4.1s)
Platform: linux/ppc64le
• Pulled config 2.2 KB (0.3s)
• Pulled layer 1 26.1 MB (2.6s)
→ Total: 26.1 MB (2.9s)
Platform: linux/s390x
• Pulled config 2.2 KB (0.3s)
• Pulled layer 1 28.5 MB (3.4s)
→ Total: 28.5 MB (3.7s)
Platform: linux/riscv64
• Pulled config 2.2 KB (0.4s)
• Pulled layer 1 30.1 MB (3.8s)
→ Total: 30.1 MB (4.2s)
Platform: linux/arm/v7
• Pulled config 2.2 KB (0.3s)
• Pulled layer 1 27.9 MB (3.1s)
→ Total: 27.9 MB (3.4s)
Summary:
• Platforms copied: 6
• Total size: 180.7 MB
• Total time: 28.2s
• Source: docker.io/library/ubuntu:24.04
• Destination: localhost:5000/ubuntu:24.04
Why is this needed for ORAS?
Without a summary, users are overwhelmed with low-level blob logs and lack a clear view of what actually happened. Adding a concise, human-readable summary significantly improves UX and operational confidence. Issues with current progress bar (without Summary):
-
Too Verbose and Overwhelming for Non-Experts
Dozens of lines for individual blobs, many repeating MIME types and digests. Hard to scan or extract key insights at a glance. Digest-heavy, JSON MIME-type output are great for debugging, but too low-level for end users.
-
No Total Size or Time
No summary of total data transferred (e.g., "Copied 172 MB in 28s"). Hard for users to understand performance or bandwidth impact.
-
No Platform Awareness
For multi-platform images (like ubuntu:24.04), there's no grouping or indication of which platform each layer belongs to.
-
Hard to Validate
Users can't tell whether the copy was complete or how many platforms/architecture were transferred successfully. Which tag or repository the artifact belongs to.
✓ Copied application/vnd.oci.image.config.v1+json 2.26/2.26 KB 100.00% 447ms
└─ sha256:45a5868eb9f1dfbce42513000964664014789a43310865b0c8461e773e9972b9
✓ Copied application/vnd.oci.image.config.v1+json 2.24/2.24 KB 100.00% 353ms
└─ sha256:f9248aac10f2f82e0970222e36cc7b71215b88e974e001282e5cd89797a82218
✓ Copied application/vnd.oci.image.layer.v1.tar+gzip 25.6/25.6 MB 100.00% 4s
└─ sha256:149362fdfa6e6a5d9f009b896da3be3172c395ba2287b57d4969f3f46e573055
✓ Copied application/vnd.oci.image.config.v1+json 167/167 B 100.00% 442ms
└─ sha256:063786d41c012c2e116e95d6da8acf95ecebeb48a5085f661a920ca3630b8c5a
✓ Copied application/vnd.oci.image.config.v1+json 167/167 B 100.00% 4s
└─ sha256:29c3295ac482bc4e74da8569c24a929a260f7f482de48ad226282a2f541dd4fd
✓ Copied application/vnd.oci.image.layer.v1.tar+gzip 28.3/28.3 MB 100.00% 3s
└─ sha256:b08e2ff4391ef70ca747960a731d1f21a75febbd86edc403cd1514a099615808
✓ Copied application/vnd.oci.image.config.v1+json 2.26/2.26 KB 100.00% 344ms
└─ sha256:70ed52c84b4e4cd5f3b15c6e0edc7003fb4cd559df69dfc093fac029c9efd480
✓ Copied application/vnd.in-toto+json 1.85/1.85 MB 100.00% 898ms
└─ sha256:9b666bc868511a0f2d33a738a9ff0bd54eb750a72a832e8b59085d22bbdbaac2
✓ Copied application/vnd.oci.image.config.v1+json 167/167 B 100.00% 332ms
└─ sha256:52dc31b2f6d13dcb4c5a03da78b922baa0e9799aa2249e24368d47397c11208f
✓ Copied application/vnd.in-toto+json 1.85/1.85 MB 100.00% 890ms
└─ sha256:854ad9e87ce93dae54ae1699837b2c812d2f373c3fb62625ea6992efa8f023c4
✓ Copied application/vnd.oci.image.manifest.v1+json 424/424 B 100.00% 315ms
└─ sha256:02228b70d0ea3fa03e1fbfa10d9c32c4712b7c6ba9bb45148640e2945314b407
✓ Copied application/vnd.oci.image.layer.v1.tar+gzip 27.5/27.5 MB 100.00% 3s
└─ sha256:3eff7d219313fd6db206bd90410da1ca5af1ba3e5b71b552381cea789c4c6713
✓ Copied application/vnd.oci.image.manifest.v1+json 424/424 B 100.00% 278ms
└─ sha256:dbdff34bb41cecdb07c79af373b44bb4c9ccba2520f014221fb95845f14bc6c1
✓ Copied application/vnd.oci.image.config.v1+json 2.25/2.25 KB 100.00% 332ms
└─ sha256:035f4f7aaf43b39502f5cf16f895dbe616cb63ec1d3f1c4824b931fc6cfc0ff7
✓ Copied application/vnd.in-toto+json 1.85/1.85 MB 100.00% 514ms
└─ sha256:1c00cd6e64a5290e4886d1d8157299b4fd38989da3d26203e1940c6ca8027683
✓ Copied application/vnd.oci.image.manifest.v1+json 562/562 B 100.00% 309ms
└─ sha256:a2cd69a7cffa4553c0cfc24b78f18ead0b714b8738b11da5236a8af047a3abf8
✓ Copied application/vnd.oci.image.manifest.v1+json 562/562 B 100.00% 275ms
└─ sha256:c6849eda0f5051d5eec0be2741930155bf16a01b620f239174b811d0142626a9
✓ Copied application/vnd.oci.image.layer.v1.tar+gzip 32.7/32.7 MB 100.00% 5s
└─ sha256:384c99c6e2b4660fd65fc9823f13a263fb87d4aec3b8f2bd813a7a255bcf46f3
✓ Copied application/vnd.oci.image.config.v1+json 167/167 B 100.00% 365ms
└─ sha256:1579e845081f3229de6b3231e843d16b4f676b8fba647234570f9672c493ae24
✓ Copied application/vnd.oci.image.manifest.v1+json 562/562 B 100.00% 278ms
└─ sha256:0e77397e22cb1485bd97d26bfcba897ef0164ef03541e573fd87d5d1f830dd15
✓ Copied application/vnd.oci.image.config.v1+json 2.24/2.24 KB 100.00% 352ms
└─ sha256:c352dea99d280e486fdc12f930a1d7b187276df716ed7fd8134b76bd19fbe67b
✓ Copied application/vnd.in-toto+json 1.85/1.85 MB 100.00% 490ms
└─ sha256:4518514dde70badf8e80800af2decccc78837a44babc7d161b3bd03870482a02
✓ Copied application/vnd.oci.image.config.v1+json 167/167 B 100.00% 331ms
└─ sha256:2b789e240015a0ed3d678f8e85b62b80f6d9a9d4918b7b0692bd184068643edc
✓ Copied application/vnd.oci.image.manifest.v1+json 424/424 B 100.00% 277ms
└─ sha256:021ffcf72f04042ab2ca66e678bb614f99c8dc9d5d1c97c6dd8302863078adba
✓ Copied application/vnd.oci.image.layer.v1.tar+gzip 29.5/29.5 MB 100.00% 5s
└─ sha256:4ccdff8fdb11e14b8e0dab6804aeebce5855635c68b20f199dcf0efcd9b4c462
✓ Copied application/vnd.oci.image.config.v1+json 2.24/2.24 KB 100.00% 325ms
└─ sha256:75f302ff3e884b2b6ec8595f5b2454befaaa2094a958babfc27cb38b11478855
✓ Copied application/vnd.in-toto+json 1.84/1.84 MB 100.00% 595ms
└─ sha256:2050eac784ab1377391601c12f43c8c735b11397c9094f776a97bd01f7b4b97a
✓ Copied application/vnd.oci.image.manifest.v1+json 562/562 B 100.00% 248ms
└─ sha256:fd5514ddc85bee11c83ea1200b60c0ce36ef0bb5cdf394fd9223d4bb9fc6cb71
✓ Copied application/vnd.oci.image.config.v1+json 167/167 B 100.00% 344ms
└─ sha256:6baec1e2eb6211fca60245c0c313a74557a824ecd0d3439be0165ee67721b0d3
✓ Copied application/vnd.oci.image.layer.v1.tar+gzip 28.5/28.5 MB 100.00% 3s
└─ sha256:30d64ca13d9d94eb48bf3fece3e38a4e60931d72f1a8c633dec981e43a0515a4
✓ Copied application/vnd.oci.image.manifest.v1+json 562/562 B 100.00% 221ms
└─ sha256:72ab60005ad1a17c6d6b8948f27657ac583a4db31d35170e45c3a4f8fbc8841b
✓ Copied application/vnd.in-toto+json 1.85/1.85 MB 100.00% 632ms
└─ sha256:fd6e28151f11aa9e1a36709655ed15deb7f25389581b9857702f51f3a2168276
✓ Copied application/vnd.oci.image.manifest.v1+json 424/424 B 100.00% 250ms
└─ sha256:705087cdec4924e973d04c20e4681e088d7124c5c8c65f48783b9078c82cef6a
✓ Copied application/vnd.oci.image.manifest.v1+json 562/562 B 100.00% 309ms
└─ sha256:9a232429485a7dce4b2243e6714cc752398eec44ebc39e32ff860292dc018206
✓ Copied application/vnd.oci.image.manifest.v1+json 424/424 B 100.00% 223ms
└─ sha256:57c1ca3175929bb17d8fc8b6847e7751aedae98fe21d41b418083083b3793418
✓ Copied application/vnd.oci.image.manifest.v1+json 424/424 B 100.00% 236ms
└─ sha256:4a68b6c5154f3198037d231aa68a5fd2546015fe278ab8961e4c658ed00cafe3
✓ Copied application/vnd.oci.image.index.v1+json 6.53/6.53 KB 100.00% 371ms
└─ sha256:440dcf6a5640b2ae5c77724e68787a906afb8ddee98bf86db94eea8528c2c076
Copied [registry] index.docker.io/library/ubuntu:24.04 => [registry] localhost:5000/library/ubuntu:24.04
Digest: sha256:440dcf6a5640b2ae5c77724e68787a906afb8ddee98bf86db94eea8528c2c076
Are you willing to submit PRs to contribute to this feature?
What is the version of your ORAS CLI
oras v1.3.0-beta.3
What would you like to be added?
Provide a summary-like output for human readability when copying a multi-platform image (index)
Why is this needed for ORAS?
Without a summary, users are overwhelmed with low-level blob logs and lack a clear view of what actually happened. Adding a concise, human-readable summary significantly improves UX and operational confidence. Issues with current progress bar (without Summary):
Too Verbose and Overwhelming for Non-Experts
Dozens of lines for individual blobs, many repeating MIME types and digests. Hard to scan or extract key insights at a glance. Digest-heavy, JSON MIME-type output are great for debugging, but too low-level for end users.
No Total Size or Time
No summary of total data transferred (e.g., "Copied 172 MB in 28s"). Hard for users to understand performance or bandwidth impact.
No Platform Awareness
For multi-platform images (like ubuntu:24.04), there's no grouping or indication of which platform each layer belongs to.
Hard to Validate
Users can't tell whether the copy was complete or how many platforms/architecture were transferred successfully. Which tag or repository the artifact belongs to.
Are you willing to submit PRs to contribute to this feature?