2015-01-08 03:22:50 -05:00
= form_for @application_setting, url: admin_application_settings_path, html: { class: 'form-horizontal fieldset-form' } do |f|
2016-04-04 21:25:38 -04:00
= form_errors(@application_setting)
2015-01-08 03:22:50 -05:00
2015-01-08 12:53:35 -05:00
%fieldset
2015-06-23 17:39:04 -04:00
%legend Visibility and Access Controls
2015-01-08 12:53:35 -05:00
.form-group
2015-06-23 17:39:04 -04:00
= f.label :default_branch_protection, class: 'control-label col-sm-2'
.col-sm-10
= f.select :default_branch_protection, options_for_select(Gitlab::Access.protection_options, @application_setting.default_branch_protection), {}, class: 'form-control'
.form-group.project-visibility-level-holder
= f.label :default_project_visibility, class: 'control-label col-sm-2'
.col-sm-10
2016-01-26 03:36:13 -05:00
= render('shared/visibility_radios', model_method: :default_project_visibility, form: f, selected_level: @application_setting.default_project_visibility, form_model: Project.new)
2015-06-23 17:39:04 -04:00
.form-group.project-visibility-level-holder
= f.label :default_snippet_visibility, class: 'control-label col-sm-2'
.col-sm-10
2016-01-26 03:36:13 -05:00
= render('shared/visibility_radios', model_method: :default_snippet_visibility, form: f, selected_level: @application_setting.default_snippet_visibility, form_model: ProjectSnippet.new)
2016-06-22 02:27:28 -04:00
.form-group.project-visibility-level-holder
2016-03-08 19:01:33 -05:00
= f.label :default_group_visibility, class: 'control-label col-sm-2'
.col-sm-10
= render('shared/visibility_radios', model_method: :default_group_visibility, form: f, selected_level: @application_setting.default_group_visibility, form_model: Group.new)
2015-06-23 17:39:04 -04:00
.form-group
= f.label :restricted_visibility_levels, class: 'control-label col-sm-2'
.col-sm-10
- data_attrs = { toggle: 'buttons' }
.btn-group{ data: data_attrs }
- restricted_level_checkboxes('restricted-visibility-help').each do |level|
= level
2016-04-07 16:44:46 -04:00
%span.help-block#restricted-visibility-help
Selected levels cannot be used by non-admin users for projects or snippets.
2016-04-12 11:04:33 -04:00
If the public level is restricted, user profiles are only visible to logged in users.
2015-08-12 02:13:20 -04:00
.form-group
= f.label :import_sources, class: 'control-label col-sm-2'
.col-sm-10
- data_attrs = { toggle: 'buttons' }
.btn-group{ data: data_attrs }
- import_sources_checkboxes('import-sources-help').each do |source|
= source
%span.help-block#import-sources-help
Enabled sources for code import during project creation. OmniAuth must be configured for GitHub
= link_to "(?)", help_page_path("integration", "github")
, Bitbucket
= link_to "(?)", help_page_path("integration", "bitbucket")
and GitLab.com
= link_to "(?)", help_page_path("integration", "gitlab")
2015-01-08 12:53:35 -05:00
.form-group
2015-03-10 15:59:39 -04:00
.col-sm-offset-2.col-sm-10
.checkbox
2015-06-23 17:39:04 -04:00
= f.label :version_check_enabled do
= f.check_box :version_check_enabled
Version check enabled
2016-01-26 08:34:42 -05:00
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :email_author_in_body do
= f.check_box :email_author_in_body
Include author name in notification email body
.help-block
Some email servers do not support overriding the email sender name.
Enable this option to include the name of the author of the issue,
merge request or comment in the email body instead.
2015-10-08 11:13:28 -04:00
.form-group
= f.label :admin_notification_email, class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :admin_notification_email, class: 'form-control'
2015-10-18 05:59:07 -04:00
.help-block
Abuse reports will be sent to this address if it is set. Abuse reports are always available in the admin area.
2015-06-23 17:39:04 -04:00
%fieldset
%legend Account and Limit Settings
2015-01-08 12:53:35 -05:00
.form-group
2015-03-10 15:59:39 -04:00
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :gravatar_enabled do
= f.check_box :gravatar_enabled
Gravatar enabled
2015-01-08 12:53:35 -05:00
.form-group
2015-03-02 18:11:39 -05:00
= f.label :default_projects_limit, class: 'control-label col-sm-2'
2015-01-08 12:53:35 -05:00
.col-sm-10
= f.number_field :default_projects_limit, class: 'form-control'
2015-01-25 10:33:54 -05:00
.form-group
2015-06-23 17:39:04 -04:00
= f.label :max_attachment_size, 'Maximum attachment size (MB)', class: 'control-label col-sm-2'
2015-04-26 01:01:52 -04:00
.col-sm-10
2015-06-23 17:39:04 -04:00
= f.number_field :max_attachment_size, class: 'form-control'
.form-group
= f.label :session_expire_delay, 'Session duration (minutes)', class: 'control-label col-sm-2'
2015-04-26 01:01:52 -04:00
.col-sm-10
2015-06-23 17:39:04 -04:00
= f.number_field :session_expire_delay, class: 'form-control'
%span.help-block#session_expire_delay_help_block GitLab restart is required to apply changes
2015-03-01 10:06:46 -05:00
.form-group
2015-06-23 17:39:04 -04:00
= f.label :user_oauth_applications, 'User OAuth applications', class: 'control-label col-sm-2'
2015-03-01 10:06:46 -05:00
.col-sm-10
2015-06-23 17:39:04 -04:00
.checkbox
= f.label :user_oauth_applications do
= f.check_box :user_oauth_applications
Allow users to register any application to use GitLab as an OAuth provider
%fieldset
%legend Sign-in Restrictions
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
2015-06-23 18:54:33 -04:00
= f.label :signup_enabled do
= f.check_box :signup_enabled
Sign-up enabled
2016-04-21 14:55:54 -04:00
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
2016-05-06 16:59:45 -04:00
= f.label :send_user_confirmation_email do
2016-04-28 16:09:15 -04:00
= f.check_box :send_user_confirmation_email
2016-05-06 16:59:45 -04:00
Send confirmation email on sign-up
2015-06-23 17:39:04 -04:00
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :signin_enabled do
= f.check_box :signin_enabled
Sign-in enabled
2016-05-10 11:46:40 -04:00
- if omniauth_enabled? && button_based_providers.any?
2016-05-09 12:38:07 -04:00
.form-group
2016-05-10 04:29:19 -04:00
= f.label :enabled_oauth_sign_in_sources, 'Enabled OAuth Sign-In sources', class: 'control-label col-sm-2'
2016-05-09 12:38:07 -04:00
.col-sm-10
2016-05-10 11:53:02 -04:00
.btn-group{ data: { toggle: 'buttons' } }
2016-05-12 06:43:12 -04:00
- oauth_providers_checkboxes.each do |source|
2016-05-09 12:38:07 -04:00
= source
2015-12-24 01:18:34 -05:00
.form-group
2016-01-31 20:34:51 -05:00
= f.label :two_factor_authentication, 'Two-factor authentication', class: 'control-label col-sm-2'
2015-12-24 01:18:34 -05:00
.col-sm-10
.checkbox
= f.label :require_two_factor_authentication do
= f.check_box :require_two_factor_authentication
2016-01-31 20:34:51 -05:00
Require all users to setup Two-factor authentication
2015-12-24 01:18:34 -05:00
.form-group
2016-01-31 20:34:51 -05:00
= f.label :two_factor_authentication, 'Two-factor grace period (hours)', class: 'control-label col-sm-2'
2015-12-24 01:18:34 -05:00
.col-sm-10
= f.number_field :two_factor_grace_period, min: 0, class: 'form-control', placeholder: '0'
.help-block Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication
2015-06-23 18:54:33 -04:00
.form-group
= f.label :restricted_signup_domains, 'Restricted domains for sign-ups', class: 'control-label col-sm-2'
.col-sm-10
= f.text_area :restricted_signup_domains_raw, placeholder: 'domain.com', class: 'form-control'
.help-block Only users with e-mail addresses that match these domain(s) will be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com
2015-01-16 19:01:15 -05:00
.form-group
2015-07-26 05:21:10 -04:00
= f.label :home_page_url, 'Home page URL', class: 'control-label col-sm-2'
2015-01-16 19:01:15 -05:00
.col-sm-10
2015-03-02 18:11:39 -05:00
= f.text_field :home_page_url, class: 'form-control', placeholder: 'http://company.example.com', :'aria-describedby' => 'home_help_block'
%span.help-block#home_help_block We will redirect non-logged in users to this page
2015-05-29 11:42:27 -04:00
.form-group
= f.label :after_sign_out_path, class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :after_sign_out_path, class: 'form-control', placeholder: 'http://company.example.com', :'aria-describedby' => 'after_sign_out_path_help_block'
%span.help-block#after_sign_out_path_help_block We will redirect users to this page after they sign out
2015-01-08 12:53:35 -05:00
.form-group
2015-03-02 18:11:39 -05:00
= f.label :sign_in_text, class: 'control-label col-sm-2'
2015-01-08 12:53:35 -05:00
.col-sm-10
2015-02-10 12:30:39 -05:00
= f.text_area :sign_in_text, class: 'form-control', rows: 4
.help-block Markdown enabled
2016-05-09 11:12:53 -04:00
.form-group
= f.label :after_sign_up_text, class: 'control-label col-sm-2'
.col-sm-10
= f.text_area :after_sign_up_text, class: 'form-control', rows: 4
.help-block Markdown enabled
2015-09-16 07:51:42 -04:00
.form-group
= f.label :help_page_text, class: 'control-label col-sm-2'
.col-sm-10
= f.text_area :help_page_text, class: 'form-control', rows: 4
.help-block Markdown enabled
2015-03-20 08:11:12 -04:00
2015-11-03 08:45:41 -05:00
%fieldset
%legend Continuous Integration
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :shared_runners_enabled do
= f.check_box :shared_runners_enabled
2016-01-01 07:32:24 -05:00
Enable shared runners for new projects
2016-04-15 09:51:41 -04:00
.form-group
= f.label :shared_runners_text, class: 'control-label col-sm-2'
.col-sm-10
= f.text_area :shared_runners_text, class: 'form-control', rows: 4
.help-block Markdown enabled
2015-10-12 17:47:32 -04:00
.form-group
= f.label :max_artifacts_size, 'Maximum artifacts size (MB)', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :max_artifacts_size, class: 'form-control'
2016-05-30 11:12:50 -04:00
- if Gitlab.config.registry.enabled
%fieldset
%legend Container Registry
.form-group
= f.label :container_registry_token_expire_delay, 'Authorization token duration (minutes)', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :container_registry_token_expire_delay, class: 'form-control'
2015-12-28 12:00:32 -05:00
%fieldset
%legend Metrics
%p
These settings require a restart to take effect.
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :metrics_enabled do
= f.check_box :metrics_enabled
Enable InfluxDB Metrics
.form-group
= f.label :metrics_host, 'InfluxDB host', class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :metrics_host, class: 'form-control', placeholder: 'influxdb.example.com'
.form-group
2015-12-29 07:40:42 -05:00
= f.label :metrics_port, 'InfluxDB port', class: 'control-label col-sm-2'
2015-12-28 12:00:32 -05:00
.col-sm-10
2015-12-29 07:40:42 -05:00
= f.text_field :metrics_port, class: 'form-control', placeholder: '8089'
2015-12-28 12:00:32 -05:00
.help-block
2015-12-29 07:40:42 -05:00
The UDP port to use for connecting to InfluxDB. InfluxDB requires that
your server configuration specifies a database to store data in when
sending messages to this port, without it metrics data will not be
saved.
2015-12-28 12:00:32 -05:00
.form-group
= f.label :metrics_pool_size, 'Connection pool size', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :metrics_pool_size, class: 'form-control'
.help-block
The amount of InfluxDB connections to open. Connections are opened
lazily. Users using multi-threaded application servers should ensure
enough connections are available (at minimum the amount of application
server threads).
.form-group
= f.label :metrics_timeout, 'Connection timeout', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :metrics_timeout, class: 'form-control'
.help-block
The amount of seconds after which an InfluxDB connection will time
out.
.form-group
= f.label :metrics_method_call_threshold, 'Method Call Threshold (ms)', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :metrics_method_call_threshold, class: 'form-control'
.help-block
A method call is only tracked when it takes longer to complete than
the given amount of milliseconds.
2016-01-13 06:29:48 -05:00
.form-group
= f.label :metrics_sample_interval, 'Sampler Interval (sec)', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :metrics_sample_interval, class: 'form-control'
.help-block
The sampling interval in seconds. Sampled data includes memory usage,
retained Ruby objects, file descriptors and so on.
2016-04-19 08:27:08 -04:00
.form-group
= f.label :metrics_packet_size, 'Metrics per packet', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :metrics_packet_size, class: 'form-control'
.help-block
The amount of points to store in a single UDP packet. More points
results in fewer but larger UDP packets being sent.
2015-12-28 12:00:32 -05:00
2015-12-28 15:21:34 -05:00
%fieldset
%legend Spam and Anti-bot Protection
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :recaptcha_enabled do
= f.check_box :recaptcha_enabled
Enable reCAPTCHA
2016-01-09 14:30:34 -05:00
%span.help-block#recaptcha_help_block Helps prevent bots from creating accounts
2015-12-28 15:21:34 -05:00
.form-group
= f.label :recaptcha_site_key, 'reCAPTCHA Site Key', class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :recaptcha_site_key, class: 'form-control'
.help-block
2016-01-09 14:30:34 -05:00
Generate site and private keys at
%a{ href: 'http://www.google.com/recaptcha', target: 'blank'} http://www.google.com/recaptcha
2015-12-28 15:21:34 -05:00
.form-group
= f.label :recaptcha_private_key, 'reCAPTCHA Private Key', class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :recaptcha_private_key, class: 'form-control'
2016-01-09 14:30:34 -05:00
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :akismet_enabled do
= f.check_box :akismet_enabled
Enable Akismet
%span.help-block#akismet_help_block Helps prevent bots from creating issues
.form-group
= f.label :akismet_api_key, 'Akismet API Key', class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :akismet_api_key, class: 'form-control'
.help-block
Generate API key at
%a{ href: 'http://www.akismet.com', target: 'blank'} http://www.akismet.com
2016-01-18 11:15:10 -05:00
%fieldset
%legend Error Reporting and Logging
%p
These settings require a restart to take effect.
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :sentry_enabled do
= f.check_box :sentry_enabled
Enable Sentry
2016-01-20 03:48:38 -05:00
.help-block
Sentry is an error reporting and logging tool which is currently not shipped with GitLab, get it here:
2016-01-20 10:18:42 -05:00
%a{ href: 'https://getsentry.com', target: '_blank' } https://getsentry.com
2016-01-18 11:15:10 -05:00
.form-group
= f.label :sentry_dsn, 'Sentry DSN', class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :sentry_dsn, class: 'form-control'
2016-06-29 23:35:00 -04:00
%fieldset
%legend Repository Storage
.form-group
= f.label :repository_storage, 'Storage path for new projects', class: 'control-label col-sm-2'
.col-sm-10
= f.select :repository_storage, repository_storage_options_for_select, {}, class: 'form-control'
.help-block
You can manage the repository storage paths in your gitlab.yml configuration file
2016-04-12 11:07:54 -04:00
%fieldset
%legend Repository Checks
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
= f.label :repository_checks_enabled do
= f.check_box :repository_checks_enabled
Enable Repository Checks
.help-block
2016-04-19 08:27:08 -04:00
GitLab will periodically run
2016-04-12 11:07:54 -04:00
%a{ href: 'https://www.kernel.org/pub/software/scm/git/docs/git-fsck.html', target: 'blank' } 'git fsck'
in all project and wiki repositories to look for silent disk corruption issues.
2016-04-12 11:32:58 -04:00
.form-group
.col-sm-offset-2.col-sm-10
= link_to 'Clear all repository checks', clear_repository_check_states_admin_application_settings_path, data: { confirm: 'This will clear repository check states for ALL projects in the database. This cannot be undone. Are you sure?' }, method: :put, class: "btn btn-sm btn-remove"
.help-block
2016-04-12 12:15:15 -04:00
If you got a lot of false alarms from repository checks you can choose to clear all repository check information from the database.
2016-04-19 08:27:08 -04:00
2016-04-12 11:07:54 -04:00
2015-01-08 03:22:50 -05:00
.form-actions
2016-01-26 03:45:12 -05:00
= f.submit 'Save', class: 'btn btn-save'