-
Notifications
You must be signed in to change notification settings - Fork 226
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
Image repository monitoring libary #653
Comments
For additional context, here is @jessesuen 's opinion (I personally 100% agree ) about how Kargo & Image Updater are related: #645 (comment) TLDR: projects are not competing and targeting different use cases. Extracting shared functionality into the library would help both Kargo & Image Updater. |
+1 for |
Proposing |
+1 for |
How about |
@jannfis wouldn't we want the library to continue working with registry v1 and v2? (Ok... maybe v1 can go.) |
Is your feature request related to a problem? Please describe.
The image registry monitoring is a generic functionality required in multiple projects. I propose extracting this functionality into a separate Git repository and making it available as a library.
Describe the solution you'd like
The library should provide the following features:
Finding a tag of a given image that meets criteria such as pattern match constraints, semver constraints, time constraints (newest), etc. The existing functionality already covers all these requirements, and no semantic changes are required.
Ability to extract the image digest along with the tag that is found.
Caching of extracted image information. I propose considering two different strategies:
Support for different registries: the ability to interact with various registries, including those that do not fully comply with the Docker Registry HTTP API V2.
The library's source code should be hosted under the argoproj-labs organization. Alternatively, we might consider argoproj. The following repository names are proposed:
container-registry-scanner
,oci-scanner
,oci-utils
,oci-go-sdk
,registry-scanner
. Please vote in the comments!As a summary we need functionality of packages below. Minimal changes are required - just one request to support caching using digests in addition to tags. Packages (list may be incomplete - listing packages here just to explain the idea) :
Describe alternatives you've considered
Import the Image Updater itself as a library. This is not ideal since it also introduces all transitive dependencies. Another issue is introducing changes: the Image Updater is a product that provides end-to-end functionality for a specific use case, so it has its own release cycle, which makes it difficult to release changes specific to image registry monitoring functionality.
Additional context
The first customer of the library would be https://github.com/akuity/kargo!
The text was updated successfully, but these errors were encountered: