Skip to content

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

Links / references

Edited by Steve Abrams