Pushing and pulling arbitrary data as OCI artefacts (on macOS and Linux) #23421
Replies: 5 comments 8 replies
-
We want to implement a solution like this (we had the same idea, which is normal, consolidating on the same ideas, realized LocalAI does it already on Linux): Linux support is just "podman build" but would like a macOS compatible solution. bootc has similar requirements. And this could be useful for any type of arbitrary files data that wants to use OCI registries. |
Beta Was this translation helpful? Give feedback.
-
The imaginary feature: podman --runtime noruntime build is sort of the main crux right now (for macOS). At least for https://github.com/containers/ramalama |
Beta Was this translation helpful? Give feedback.
-
Do you really want to store it as a container image? Wouldn't this be better as an OCI artifact? In which case, oras already meets the requirements I think. |
Beta Was this translation helpful? Give feedback.
-
One key feature needed for this tool if it will not use skopeo for pulling/pushing, would be to use containers/image. We need to make sure that mirror systems continue to work with the same configuration as podman, buildah and skopeo support. I like the idea of just using artifacts rather then container images with |
Beta Was this translation helpful? Give feedback.
-
If we're debating artifacts my proposal is to close this discussion and go back to using containers/buildah#5091 as there are too many threads and that one I thought was most clear/technical/actionable. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Objective:
Develop a tool to create container artefacts from scratch without using a container runtime. So we can push/pull from quay.io
Key Requirements:
Tool should run natively on macOS/Linux.
The ability to store and handle large files (hundreds of GB).
Eliminate the need for intermediate tarball copies to save disk space. (nice to have, stream/create the artefact on the fly to avoid duplicating data on disk, this is probably a long-term goal, not for initial implementation)
Doesn't necessarily have to be part of podman (for example skopeo does pushing/pulling)
Some initial thoughts:
Create a tarball as the layer, digest it to get a diffID, and populate the config and manifest blobs with these details.
ocidir-rs and skopeo could be part of the solution.
Tagging @rhatdan @cgwalters @mtrmac @nalind
Beta Was this translation helpful? Give feedback.
All reactions