Breaking change: Container registry API updates
endpoint_id
: GET /api/:version/groups/:id/registry/repositories
Context
You can use the container registry API to return a list of container image repositories and their associated tags for a given groupID.
Problem to solve
Returning a list of tags for every image repository is an expensive query and can result in slow response times that are beyond GitLab's tolerated apdex threshold of 1 second.
This endpoint continues to display very poor performance - the p75 is over 5 seconds, with p99 sometimes spiking up to over 20 seconds.
Proposal
Update the API to only return a list of image repositories. The tags can be pulled for a specific image repository rather than generating every tag for every group.
This means that the GET /groups/:id/registry/repositories
endpoint will no longer support the tags
and tags_count
parameters. To obtain the tag count/list, users can use the GET /registry/repositories/:id
endpoint, which will continue to support the tags
and tags_count
options as it does today.
Since this may introduce a breaking change, we'll need to consider this change for milestone 15.0