diff options
Diffstat (limited to 'doc/security/rate_limits.md')
-rw-r--r-- | doc/security/rate_limits.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/security/rate_limits.md b/doc/security/rate_limits.md index cdf99e8377d..ac532ee491a 100644 --- a/doc/security/rate_limits.md +++ b/doc/security/rate_limits.md @@ -70,6 +70,26 @@ For configuration information, see ## Non-configurable limits +### Git operations using SSH + +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78373) in GitLab 14.7. +> - [Enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79419) in GitLab 14.8. + +GitLab rate limits Git operations using SSH by user account and project. If a request from a user for a Git operation +on a project exceeds the rate limit, GitLab drops further connection requests from that user for the project. + +The rate limit applies at the Git command ([plumbing](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain)) level. +Each command has a rate limit of 600 per minute. For example: + +- `git push` has a rate limit of 600 per minute. +- `git pull` has its own rate limit of 600 per minute. + +Because the same commands are shared by `git-upload-pack`, `git pull`, and `git clone`, they share a rate limit. + +The requests/minute threshold for this rate limit is not configurable. Self-managed customers can disable this +rate limit by [disabling the feature flag](../administration/feature_flags.md#enable-or-disable-the-feature) +with `Feature.disable(:rate_limit_gitlab_shell)`. + ### Repository archives > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25750) in GitLab 12.9. |