Consider softening mirroring rate limit

We currently hard-code 2 separate rate limits for mirroring: https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/models/remote_mirror.rb#L10-11

As far as I can tell, these throttles are used for both push and pull mirroring.

When only protected branches are mirrored, the throttle is once per minute per repo. When all branches are mirrored, the throttle is once per 5 minutes per repo.

From a denial of service perspective, nothing stops a malicious user from creating many repos with many protected branches, so if I've understood it correctly once per minute per repo is our real "hard" throttle.

On the GitLab.com SaaS infrastructure team, we make heavy use of mirroring. This is so that we can develop in the open, with public merge requests linked to public issues, but run our CI pipelines in private mirrors (often on another server), to avoid accidental leaking of sensitive information in deployment logs.

Once per repo per minute would make everyday life much easier for us. We frequently work around the throttle by pushing to multiple remotes, but this is a bit clunky.

Would we consider making this throttle configurable at the installation level? We could also consider making more generous rate limits for mirroring on gitlab.com a premium plan feature, if that helps.