Add ability to delete items / purge from dependency proxy
Problem to solve
The GitLab Dependency Proxy for the Container Registry currently does not support deleting blobs, or purging the proxy entirely. We need to give administrators the ability to delete and purge from the proxy as needed so that they support and maintain the proxy.
Sydney the Systems Administrator: Needs the ability to maintain the cache by deleting items and purging entirely if necessary.
- From the command line, a user logs into GitLab and the Proxy and deletes a specific blob or set of blobs.
- From the command line, a user logs into GitLab and the Proxy and purges the Proxy entirely.
- A user references the GitLab API and establishes a programmatic way to purge their dependency proxy every 'n' days
- We should first add the ability to delete a specific item or set of items via the command line. A user should be able to set the parameters of what they want to delete based on name and any other meta data that is available.
- Next, we should give the ability to purge the entire proxy from the command line. Since this will be purging everything, we should add a confirmation message, ensuring that they want to purge.
- Then, we should add API's to support admin doing this (delete and purge) programmatically.
Permissions and Security
- From the command line: Developers, Maintainers and Owners
- From the API: Developers, Maintainer, Owner
- First we will need to update the dependency proxy documentation to include instructions on how to delete blobs individually and many at once.
- We will also need to extend our API documentation to include APIs for the dependency proxy.
We need to make sure that deleting something from the proxy doesn't delete it from the registry.
What does success look like, and how can we measure that?
Success looks like we give our users the ability to clean and manage their storage usage. Initially, we can measure this by the # of tickets requesting the ability to delete blobs.
Future Priorities (in priority order)
- Authentication: so we can support private projects
- Default to on for groups:
- Improve discovery and navigation of GitLab Package features
- Purge cache functionality
- Add limits to dependency proxy
- Unicorn support: This will allow for rollout to a broader audience
- Add ability to search the proxy