Multiple tag cleanup policies per project
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem to solve
Users are building many Docker images as part of their pipelines. Many of these images are only needed for a short time. There isn't a good way for developers to delete these images, so they frequently don't. This results in either ballooning storage costs, or the Admin trying to remove images manually via the Container Registry API, which is error prone and inefficient.
User stories
- I as a systems administrator, need to ensure that my development teams are expiring unused images, so that I can run garbage collection, delete them from storage and lower the cost of storage.
- I as a developer, need the ability to check my project's and Docker repositories' expiration policy, so that I can ensure that my important images (ones required for a given release) are not accidentally removed.
Intended users
Proposal
From #390096 (closed):
- Allow creating multiple cleanup policies per project;
- When creating or editing policies, allow selecting to which container repository(ies) a policy applies;
- Show the list of repositories that a policy applies to;
- A container repository cannot have more than one assigned policy;
- It should be possible to "move" repositories between policies;
- A default cleanup policy should always exist (disabled by default) and apply to all repositories (if no other policies exist) or a subset of those (not covered by a custom policy).
MVC
Add a new element to the project's Container Registry that exposes the project's cleanup policy and allow developers (and above) to disable or adjust the rule at the repository level.
- Developers (and above) can disable or update the policy at the repository level
User Interface (These designs are still in motion and are subject to change)
Links
Related to #15398 (closed)
Original comment: #15398 (comment 249247990)
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
