-
Notifications
You must be signed in to change notification settings - Fork 253
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
containerd
implementation, 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_DIR
is 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
opm
with the ecosystem of tools it is often used with. The main benefit here is thatopm
calls that use this client will now honor user's existingcontainers/image
-based configuration, includingregistries.conf
CAs and image mappings.Reviewer Checklist
/docs