Percentage based rollout of the Cleanup policy for tags
Problem to solve
The GitLab Cleanup policy for tags has been rolled out to all new projects, however, it does not cover existing projects. This prevents admin from doing automated clean-up on existing projects and from truly lowering the cost of their container registry.
We recently added throttling to the feature to improve its performance and scalability. Now, prior to enabling the feature for all projects on GitLab.com, we will test with internal-GitLab projects and a subset of customers that have volunteered to be part of the initial rollout.
This work has become more important as we consider the deployment and migration of a major new version of the container registry. We want to ensure that GitLab.com customers have a seamless, fast migration to the new registry. But, if your project has many thousands of container images in the registry, it will take longer to migrate which introduces greater risk to your workflows.
So, prior to the migration, GitLab is going to drive as much adoption of the cleanup policies as possible. This will make the migration much easier and hopefully allow us to deliver some really exciting new container registry features.
Proposal
Over the past several milestones, we've enabled cleanup policies for historical projects by request. Thank you to those of you who have helped us to beta test this feature at scale.
Now that we've seen the policies working, we will begin to enable the policies for more and more projects on a percentage basis.
One important note is that once the policy is enabled for those projects, we'll need a way to alert the Project Admin that they should turn them on.
Rollout
The below represents our planned percentage-based rollout.
- 1%
- 2%
- 3%
- 4%
- 5%
- 10%
- 15%
- 25%
- 40%
- 60%
- 80%
- 100%
Metrics
There are a variety of metrics that will be used during the rollout of the feature. This section will focus on activity metrics:
- What % of GitLab.com Projects have a Cleanup policy enabled
- What % of the above are active
We can also reference the Package activity dashboard to view:
- Submit vs. Cancel in Cleanup policy UI
- Number of projects with cleanup policies enabled
- Number of projects with cleanup policies disabled
Links / references
- This all falls under the epic &2270 (closed)
- This issue will allow us to enable the feature for all projects on GitLab.com