Container Registry storage visibility project vs. namespace
Context
The GitLab container registry is used to publish, share, and discover Docker images/tags. Images and tags are published to a GitLab project and can be viewed using the API or the UI.
This highly used feature can also have a significant impact on storage costs. As such, we calculate and display storage usage for the container registry in the usage quotas page.
Problem to solve
The problem is that the GitLab.com container registry deduplicates data. For example, in the below diagram we can see 4 images that share a base image but have made minor adjustments. We don't duplicate the shared layers. This means that the project-level storage will not add up to the namespace-level storage.
This is a problem because it can be confusing to users when viewing the usage quotas page.
Proposal
Add a note to the usage quotas page explaining that the project-level storage statistics to say that the size for container registry in that list is an estimate and does not include savings for site-wide deduplication. The data does not add up to the total project size and is not used to calculate total namespace storage.
- On sub-group/project pages:
- Display text indicating that the container registry value does not include all deduplication savings, for both the total size/bar char as well as the detail list
- On root namespaces:
- Include container registry in namespace size statistic
- Display the text for sub-groups / project detail list if they still do not show deduplicated savings
Proposed copy
- On project-level usage quotas page:
The project-level storage statistics for the Container Registry are directional only and do not include savings for instance-wide deduplication.
- On root namespace-level usage quotas page:
This project-level storage statistic does not include savings for site-wide deduplication and is not used to calculate total namespace storage.
Proposed design
See this issue for the design: UX: Container Registry storage visibility - siz... (#367959 - closed)
