-
Notifications
You must be signed in to change notification settings - Fork 5
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
Feature: add API to get metadata of images from a registry. #801
Comments
Can you draft an ideal endpoint definition from your point of view? How the request and response would be? |
This comment has been minimized.
This comment has been minimized.
I think it would be good for wave to be completely agnostic about the specific needs, eg the label names. Ideally we want to issue a
{
"images": [
{
"repository": "registry/namespace/image:tag",
"labels": [
{ "name": "io.seqera.example.label", "value": "example-value"}
...
]
},
....
],
}
|
Your plan is to list all repos and images in a registry? |
For our specific use case the images are all in a single namespace, but I understand that would be to much. We can instead use:
And use pagination to further limit the amount of retrieved tags. This is not ideal, because if we want to add a new studio, we will still need to reconfigure platform. I don't think there is any standard search functionality offered by the registry API to find only the repositories we are interested in. We also intend to cache the results for long periods, but wave cannot make this assumption, but we can rate limit these endpoints. |
Also we can move all the images we are interested in from their original location Eg:
But again we cannot assume that the number of images tags will be small. |
Let's agree on definition
You need to list images in a namespace of repository? |
Ideally we need to list images in a namespace. We can list images for specific repository, with the caveat that than we cannot add a new studio type without reconfiguration. |
I think Registry APIs allows you to list repositories and tags per repo. Therefore what you are suggesting would require a combination of both of them, and seems a bit overkilling. Could not be enough listing labels per repository? |
Yes:
|
Ok, we have already an inspect endpoint, I'd suggest considering an extension of that functionality and add
where What do you think? |
If we settle to request specific images (without tags) does this endpoint need to be extended? |
Inspect currently requires the tag/reference to be specified if i'm not wrong |
Just realised the current implementation fallback to I'd propose to add a new endpoint similar to list image tags, but returning also all labels. Something like
The problem the resulting payload could be large and there's no good way to paginate it on backend side |
Description
Seqera platform needs a way to dynamically define the list of available images for studio templates, so that these can be dynamically updated when a new image is released, or when it is no longer supported, without the need of changing configuration and restarting the application.
The proposed solution is to expose an API from wave that allows to retrieve the list of images, given a registry/repository, with their annotations (
LABELS
).A set of well known labels will be used to define relevant information about the specific
image:tag
,The immediate goal, is to expose the support status of data studio templates, so that they can be tagged with:
deprecated
preferred
experimental
The text was updated successfully, but these errors were encountered: