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.
-
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