Git object / tag filtering for Repository Pull Mirroring
Problem to solve
Gitlab currently creates a few autodeploy-tags /day in the CNG chart repo, which is understandable. The pull mirroring feature though always pulls tags (including these autodeploy-tags), even though some or most have no value for community contributors developing the chart.
Intended users
Developers that use the pull mirroring feature, on a project that has an upstream which (ab)uses the git repository as a metadata store for project management or other issues not directly related to code deployment.
User experience goal
An easy way to exclude or explicitly include a pattern of tags / branches / refs from pull mirroring. Protected branches is an incomplete solution, as currently tags seem to be pulled always.
Proposal
I believe the best way to fix this is to allow git ref filtering (allow / ignore) for pull mirroring, similar to how protected branches are set up.
Further details
Note that this is generally useful for projects that use pull mirroring, but do not want/need all of the git history and structure of the upstream repository. It is further useful to decrease the amount of refs in a repository, which should increase the performance of gitlab handling that repository.
Permissions and Security
No changes in the rights for pull mirroring.
Documentation
The following page needs updating when this feature is implemented: https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html#pulling-from-a-remote-repository-starter
Availability & Testing
What does success look like, and how can we measure that?
What is the type of buyer?
Current users of pull mirroring
Is this a cross-stage feature?
Links / references
This is comparable to #1355 (closed), but different in that we need tag filters as well.