Skip to content

core: add support for Oras(-py) as a 3rd backend#164

Merged
tarilabs merged 4 commits intocontainers:mainfrom
tarilabs:tarilabs-20260312
Mar 18, 2026
Merged

core: add support for Oras(-py) as a 3rd backend#164
tarilabs merged 4 commits intocontainers:mainfrom
tarilabs:tarilabs-20260312

Conversation

@tarilabs
Copy link
Copy Markdown
Member

in addition to existing Skopeo, Oras (Go CP)

@tarilabs tarilabs marked this pull request as draft March 12, 2026 22:20
@tarilabs tarilabs force-pushed the tarilabs-20260312 branch 2 times, most recently from 3cb3037 to 59e07bb Compare March 12, 2026 22:25
in addition to existing Skopeo, Oras (Go CP)

Signed-off-by: tarilabs <matteo.mortari@gmail.com>
@tarilabs tarilabs force-pushed the tarilabs-20260312 branch from 59e07bb to 5940d86 Compare March 13, 2026 05:39
@tarilabs tarilabs marked this pull request as ready for review March 13, 2026 06:09
Copy link
Copy Markdown
Collaborator

@jonburdo jonburdo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! I didn't get to go through every detail, but makes sense overall. I mentioned one issue I ran into with auth.

I wonder if in the future we'd want to have some parametrized tests that do the exact same thing with oras and with oras-py since they should behave pretty much the same.

Comment thread olot/backend/oras_py.py Outdated
Comment thread pyproject.toml
Comment thread olot/backend/oras_py.py
registry = Registry(insecure=insecure, tls_verify=tls_verify)
_setup_auth(registry, oci_ref)
layout = NewLayout(src)
layout.push_to_registry(provider=registry, target=oci_ref, tag="latest")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran into an issue testing this on quay.io

A combination of manual testing and trying to debug with claude resulted in this: tarilabs#1
(not trying to merge that just for info in case anything there is useful)

Seems it's an upstream oras-py issue and I think different registries have different quirks, so it may not be something to address here, but I wanted to share what I ran into.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems I just needed to make sure I was creating an empty repo first: tarilabs#1 (comment)

Sorry for the confusion 😬 😆

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for the extra care

@tarilabs tarilabs force-pushed the tarilabs-20260312 branch 2 times, most recently from 76510e1 to 63e4f1c Compare March 14, 2026 07:02
Co-authored-by: Jon Burdo <jon@jonburdo.com>
Signed-off-by: tarilabs <matteo.mortari@gmail.com>
@tarilabs tarilabs force-pushed the tarilabs-20260312 branch from 63e4f1c to 4c4737e Compare March 14, 2026 07:07
tarilabs and others added 2 commits March 14, 2026 08:20
Co-authored-by: Jon Burdo <jon@jonburdo.com>
Signed-off-by: tarilabs <matteo.mortari@gmail.com>
Signed-off-by: tarilabs <matteo.mortari@gmail.com>
Copy link
Copy Markdown
Collaborator

@jonburdo jonburdo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Confirmed with the small test script

@tarilabs
Copy link
Copy Markdown
Member Author

Looks great! Confirmed with the small test script

indeed which is incorporated with attribution in this PR 👍 I'm going to merge this.

@tarilabs tarilabs merged commit f0b2c2c into containers:main Mar 18, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants