File: _ip_limits.html.haml

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (74 lines) | stat: -rw-r--r-- 4,787 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
= gitlab_ui_form_for @application_setting, url: network_admin_application_settings_path(anchor: 'js-ip-limits-settings'), html: { class: 'fieldset-form' } do |f|
  = form_errors(@application_setting)

  %fieldset
    = _("Rate limits can help reduce request volume (like from crawlers or abusive bots).")

  %fieldset
    .form-group
      = f.gitlab_ui_checkbox_component :throttle_unauthenticated_api_enabled,
        _("Enable unauthenticated API request rate limit"),
        checkbox_options: { data: { testid: 'throttle-unauthenticated-api-checkbox' } },
        label_options: { class: 'label-bold' }
    .form-group
      = f.label :throttle_unauthenticated_api_requests_per_period, _('Maximum unauthenticated API requests per rate limit period per IP'), class: 'label-bold'
      = f.number_field :throttle_unauthenticated_api_requests_per_period, class: 'form-control gl-form-input'
    .form-group
      = f.label :throttle_unauthenticated_api_period_in_seconds, _('Unauthenticated API rate limit period in seconds'), class: 'label-bold'
      = f.number_field :throttle_unauthenticated_api_period_in_seconds, class: 'form-control gl-form-input'

  %fieldset
    .form-group
      = f.gitlab_ui_checkbox_component :throttle_unauthenticated_enabled,
        _("Enable unauthenticated web request rate limit"),
        checkbox_options: { data: { testid: 'throttle-unauthenticated-web-checkbox' } },
        label_options: { class: 'label-bold' }
    .form-group
      = f.label :throttle_unauthenticated_requests_per_period, _('Maximum unauthenticated web requests per rate limit period per IP'), class: 'label-bold'
      = f.number_field :throttle_unauthenticated_requests_per_period, class: 'form-control gl-form-input'
    .form-group
      = f.label :throttle_unauthenticated_period_in_seconds, _('Unauthenticated web rate limit period in seconds'), class: 'label-bold'
      = f.number_field :throttle_unauthenticated_period_in_seconds, class: 'form-control gl-form-input'

  %fieldset
    .form-group
      = f.gitlab_ui_checkbox_component :throttle_authenticated_api_enabled,
        _("Enable authenticated API request rate limit"),
        checkbox_options: { data: { testid: 'throttle-authenticated-api-checkbox' }},
        label_options: { class: 'label-bold' }
    .form-group
      = f.label :throttle_authenticated_api_requests_per_period, _('Maximum authenticated API requests per rate limit period per user'), class: 'label-bold'
      = f.number_field :throttle_authenticated_api_requests_per_period, class: 'form-control gl-form-input', data: { testid: 'throttle-authenticated-api-requests-per-user' }
    .form-group
      = f.label :throttle_authenticated_api_period_in_seconds, _('Authenticated API rate limit period in seconds'), class: 'label-bold'
      = f.number_field :throttle_authenticated_api_period_in_seconds, class: 'form-control gl-form-input', data: { testid: 'throttle-authenticated-api-requests-per-seconds' }

  %fieldset
    .form-group
      = f.gitlab_ui_checkbox_component :throttle_authenticated_web_enabled,
        _("Enable authenticated web request rate limit"),
        checkbox_options: { data: { testid: 'throttle-authenticated-web-checkbox' } },
        label_options: { class: 'label-bold' }
    .form-group
      = f.label :throttle_authenticated_web_requests_per_period, _('Maximum authenticated web requests per rate limit period per user'), class: 'label-bold'
      = f.number_field :throttle_authenticated_web_requests_per_period, class: 'form-control gl-form-input'
    .form-group
      = f.label :throttle_authenticated_web_period_in_seconds, _('Authenticated web rate limit period in seconds'), class: 'label-bold'
      = f.number_field :throttle_authenticated_web_period_in_seconds, class: 'form-control gl-form-input'

  %fieldset
    .form-group
      = f.label :project_jobs_api_rate_limit, safe_format('Maximum authenticated requests to %{open}project/:id/jobs%{close} per minute', tag_pair(tag.code, :open, :close)), class: 'label-bold'
      = f.number_field :project_jobs_api_rate_limit, class: 'form-control gl-form-input'

  %fieldset
    %legend.h5.gl-border-none
      = _('Response text')
    .form-group
      = f.label :rate_limiting_response_text, class: 'label-bold' do
        = _('Plain-text response to send to clients that hit a rate limit')
      = f.text_area :rate_limiting_response_text, placeholder: ::Gitlab::Throttle::DEFAULT_RATE_LIMITING_RESPONSE_TEXT, class: 'form-control gl-form-input', rows: 5
      .form-text.gl-text-subtle
        = html_escape(_("If blank, defaults to %{code_open}Retry later%{code_close}.")) % { code_open: '<code>'.html_safe, code_close: '</code>'.html_safe }

  = f.submit _('Save changes'), data: { testid: 'save-changes-button' }, pajamas_button: true