API endpoint to list the Docker images/tags of a group
Problem to solve
The GitLab Container Registry allows users to build and push docker images/tags to their project from the command line, CI/CD or from an API. However, we do not currently give the user any ability to view which images/tags exist at the Group level. This presents a challenge For teams with many projects and many images across their projects, as they often have to duplicate work and it creates risk that an image will be replicated incorrectly.
Intended users
Proposal
Expand the Container Registry API to include "List Group Tags" and allow users to leverage the API to view all tags at the group level.
Example
GET /groups/:id/registry/repositories
- returns a list of all container repositories within a group
GET /groups/:id/registry/repositories?tags=true
- returns a list of all container repositories including their tags:
[
{
"id": 8,
"name": "foo",
"path": "my_group/my_docker_project",
"project_id": 1,
"location": "gitlab.com/my_group/my_docker_project",
"created_at": "2019-07-16T18:44:27.467Z",
"tags": [
{
"name": "latest",
"path": "my_group/my_docker_project:latest",
"location": "gitlab.com/my_group/my_docker_project:latest"
},
{
"name": "stable",
"path": "my_group/my_docker_project:stable",
"location": "gitlab.com/my_group/my_docker_project:stable"
}
]
},
...
]
Permissions and Security
Developers, maintainers and owners, will all have the ability to list the images/tags at the group level. This is consistent with the Container Registry API
Documentation
Testing
- Ensure that images/tags in private projects can not be seen by users that may be a part of the group, but not have access to that private project.
What does success look like, and how can we measure that?
Success looks like we allow users to view their group level images and that we are able to add this functionality to the user interface.
Metrics
- Measure number of API calls for listing group level images
What is the type of buyer?
This feature is aimed at heavy users of the Container Registry. A typical customer will have many projects nested within a group and many images/tags across projects. The Container Registry is available at all pricing tiers, making this a Core
feature