Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement export of OCI Image Manifests as Tarballs #609

Open
Tracked by #584
baronfel opened this issue Dec 16, 2024 · 0 comments
Open
Tracked by #584

Implement export of OCI Image Manifests as Tarballs #609

baronfel opened this issue Dec 16, 2024 · 0 comments
Assignees
Labels
Area: Task Partner request Things that internal or external teams have explicitly requested

Comments

@baronfel
Copy link
Member

baronfel commented Dec 16, 2024

In dotnet/sdk#43085 we implemented multi-arch image publishing to registries, with tarball exports of the single images as Docker-formatted tarballs. We should instead export these as OCI Image Manifest tarballs so that annotations and platform metadata can be preserved in the single unit of transfer. While this can be stitched back together, there is risk of data loss and the UX is not great.

Most tools (docker/podman/etc) understand this format today (Docker as long as the containerd backend is in use, which is the default).

Spec

When

  • a project is being targeted for multiple RuntimeIdentifiers, AND
  • the project is being exported to a local directory, THEN
  • instead of exporting a Docker tarball layout per-RID (today's behavior) we should output a single, multi-architecture OCI Image Manifest.

The format of the tarball should be as described in the Image Layout specification.

@baronfel baronfel added Area: Task Partner request Things that internal or external teams have explicitly requested labels Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Task Partner request Things that internal or external teams have explicitly requested
Projects
None yet
Development

No branches or pull requests

2 participants