Migrate Git HTTP traffic to Git HTTP rate limiter

What does this MR do and why?

Contributes to https://gitlab.com/gitlab-org/gitlab/-/issues/581142

Problem

This change removes the feature flag and permanently excludes Git HTTP requests from the web rate limiter, preventing them from being throttled twice (once by the web limiter and once by the Git HTTP limiter).

Changes

  • Remove exclude_git_http_from_web_rate_limiter feature flag
  • Update throttle_authenticated_web? to always exclude Git HTTP paths
  • Add migration to backfill Git HTTP throttle settings from web throttle settings for instances with web throttling enabled
  • Use code-based fallback to mimic the migration before it's executed.

The migration copies existing web throttle configuration to the Git HTTP throttle settings when:

  • Web throttling is enabled
  • Git HTTP throttle is not already configured or is disabled

This ensures a smooth transition without disrupting existing rate limiting behavior.

References

https://gitlab.com/gitlab-org/gitlab/-/issues/581142

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #581142

Edited by Vasilii Iakliushin

Merge request reports

Loading