-
Notifications
You must be signed in to change notification settings - Fork 261
Containers image registry implementation with opt-in caching #1626
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
Containers image registry implementation with opt-in caching #1626
Conversation
|
Skipping CI for Draft Pull Request. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1626 +/- ##
==========================================
+ Coverage 46.79% 55.15% +8.36%
==========================================
Files 135 136 +1
Lines 15888 15911 +23
==========================================
+ Hits 7435 8776 +1341
+ Misses 7412 5982 -1430
- Partials 1041 1153 +112 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
a88e1e3 to
07676d6
Compare
07676d6 to
caec04f
Compare
Signed-off-by: Joe Lanford <[email protected]>
Signed-off-by: Joe Lanford <[email protected]>
Signed-off-by: Joe Lanford <[email protected]>
Signed-off-by: Joe Lanford <[email protected]>
caec04f to
3f5bbe0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This used to be in pkg/lib/image, but it is only used by tests. Given that its implicit intention is as a test utility, I think it is reasonable to move this into internal/testutil to make that intention explicit.
This is technically a breaking change, but one that I am comfortable with because a reasonable person would not expect this to actually be part of the public API surface of operator-registry.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: grokspawn, joelanford The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/lgtm |
eb14d38
into
operator-framework:master
Description of the change:
This change adds a new
containers/image-based registry client and updates various (non-deprecated) commands to use it. Specificallyrender(and other commands that useaction.Render) andalpha bundle validate. Deprecated sqlite based commands are not updated.The intent of the PR is to keep essentially full compatibility with the
containerdimplementation, and to additionally gain the features of containers/image-based clients.This PR also includes the ability to opt into caching (and reusing) downloaded blobs (when
OLM_CACHE_DIRis set). The behavior around the cache is essentially--pull-policy=Always, where existing layers do not need to be redownloaded. While this PR does garbage collect unused blobs in the cache after each image pull, specifically cleaning up the cache is (for now at least) left as an exercise for the user.Motivation for the change:
Improves alignment of
opmwith the ecosystem of tools it is often used with. The main benefit here is thatopmcalls that use this client will now honor user's existingcontainers/image-based configuration, includingregistries.confCAs and image mappings.Reviewer Checklist
/docs