Register EE rate-limit keys via labkit adapter for cohort 6
Summary
The EE registry at ee/lib/ee/gitlab/application_rate_limiter/labkit_adapter/supported_rate_limits.rb documented five EE keys as having "no current call site", but all five have live callers in master. This MR wires those keys through the labkit adapter under a new cohort 6 flag pair and trims the exclusion comment to the genuinely deferred sub-second partner_{aws,gcp,postman}_api keys.
Keys registered (under flag_scope: :cohort_6)
| Key | Characteristics | Call site |
|---|---|---|
container_scanning_for_registry_scans |
%i[project] |
ee/app/services/app_sec/container_scanning/scan_image_service.rb:60 (scope: project) |
dependency_scanning_sbom_scan_api_download |
%i[project] |
ee/lib/api/security/vulnerability_scanning/sbom_scans.rb:188 (scope: job.project) |
dependency_scanning_sbom_scan_api_upload |
%i[project] |
ee/lib/api/security/vulnerability_scanning/sbom_scans.rb:69 (scope: job.project) |
semantic_code_search_ad_hoc_indexing |
%i[namespace] |
ee/lib/ai/active_context/concerns/rate_limiting.rb:14 (`scope: [project.root_namespace]`) |
semantic_search_rate_limit |
%i[user] |
ee/lib/ee/api/search/semantic_code_search.rb:22 (`scope: [current_user]`) |
Changes
ee/lib/ee/gitlab/application_rate_limiter/labkit_adapter/supported_rate_limits.rb: add 5 entries (alphabetically ordered); update exclusion comment so only the sub-second partner API deferral remains.ee/spec/lib/ee/gitlab/application_rate_limiter/labkit_adapter/supported_rate_limits_spec.rb: include the new keys in the "merges EE-only keys" expectation; add a cohort 6 flag-scope tagging example.config/feature_flags/wip/rate_limiter_use_labkit_cohort_6.yml(new): shadow flag for cohort 6, default off.config/feature_flags/wip/rate_limiter_use_labkit_cohort_6_enforce.yml(new): enforce flag for cohort 6, default off.
Test plan
-
bundle exec rspec ee/spec/lib/ee/gitlab/application_rate_limiter/labkit_adapter/supported_rate_limits_spec.rbpasses (7 examples, 0 failures). - CI green on the full pipeline.
References
- Work item: gitlab-com/gl-infra/production-engineering#29077
- Parent epic: gitlab-com/gl-infra&2021