Use the new ocidir-rs archive support - #315
Merged
Merged
Conversation
alexlarsson
marked this pull request as draft
June 17, 2026 16:13
Collaborator
|
Looks sane offhand, but let's get releases of the dependent crates out. |
Contributor
Author
|
@cgwalters I really thought there would be something like the BlockingReader helper somewhere already, but I was unable to find it... |
cgwalters
reviewed
Jun 18, 2026
alexlarsson
force-pushed
the
delta-archive
branch
from
June 18, 2026 13:27
d221d9c to
a9577de
Compare
alexlarsson
force-pushed
the
delta-archive
branch
from
September 7, 2026 12:27
a9577de to
336dd03
Compare
Contributor
Author
|
I refreshed this, including some fixes for test failures and (hopefully) enabling the delta tests in CI. |
alexlarsson
force-pushed
the
delta-archive
branch
from
September 7, 2026 12:29
336dd03 to
fc6a349
Compare
alexlarsson
marked this pull request as ready for review
September 7, 2026 12:30
…n boot If boot is not enabled (for instance if you run just cargo test -o composefs-oci) it is not, and this test fails. Signed-off-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
This will be useful later when we start using OciDir for this, as it needs the full descriptor, including the size. Signed-off-by: Alexander Larsson <alexl@redhat.com> Assisted-by: Claude Code (Opus 4.6) Signed-off-by: Alexander Larsson <alexl@redhat.com>
The implementation copies the data from a blocking thread via a tokio::io::duplex, with a oneshot side channel for partial read errors. Signed-off-by: Alexander Larsson <alexl@redhat.com>
This makes the checks slighly more robust, and will allow us to reuse this in two codepaths later on. Signed-off-by: Alexander Larsson <alexl@redhat.com>
This way we can later support reading delta parts directly from streams that are not files, such as those inside an oci archive. This uses BlockingReader to convert the sync stream to an async reader instead of tokio::fs::File::from_std(). Signed-off-by: Alexander Larsson <alexl@redhat.com>
This applies to both pulling deltas and regular images and uses OciArchive::open() if the source is an uncompressed tar file. This relies on OciDir now supprrting this, as well as earlier work to generalize handling of stream types. Note: For compressed tar archives we fall back to the skopeo proxy like we did before, as this supports automatic uncompression. Signed-off-by: Alexander Larsson <alexl@redhat.com>
alexlarsson
force-pushed
the
delta-archive
branch
from
September 8, 2026 14:06
fc6a349 to
c8a2cc2
Compare
Contributor
Author
|
rebased on main |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With this we can pull (both regular and delta) images directly from an oci-archive without using the container image proxy.
NOTE: This is draft, because the first commit updates some dependencies to random commits. We really need a new release of oci-dir and containers-image-proxy for this to be clean.