| `after_sign_out_path` | string | no | Where to redirect users after logout |
| `container_registry_token_expire_delay` | integer | no | Container Registry token duration in minutes |
| `repository_storages` | array of strings | no | A list of names of enabled storage paths, taken from `gitlab.yml`. New projects will be created in one of these stores, chosen at random. |
| `repository_storage` | string | no | The first entry in `repository_storages`. Deprecated, but retained for compatibility reasons |
| `enabled_git_access_protocol` | string | no | Enabled protocols for Git access. Allowed values are: `ssh`, `http`, and `nil` to allow both protocols. |
| `koding_enabled` | boolean | no | Enable Koding integration. Default is `false`. |
| `koding_url` | string | yes (if `koding_enabled` is `true`) | The Koding instance URL for integration. |
- Renamed `branch_name` to `branch` on DELETE `id/repository/branches/:branch` response [!8936](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8936)
- Remove `public` param from create and edit actions of projects [!8736](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8736)
- Remove the ProjectGitHook API. Use the ProjectPushRule API instead [!1301](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1301)
- Notes do not return deprecated field `upvote` and `downvote`[!9384](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9384)
#### EE-specific
- Remove the ProjectGitHook API. Use the ProjectPushRule API instead [!1301](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1301)
- Removed `repository_storage` from `PUT /application/settings` and `GET /application/settings` (use `repository_storages` instead) [!1307](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1307)
requires:elasticsearch_port,type: Integer,desc: 'The TCP/IP port that Elasticsearch listens to. The default value is 9200'
end
optional:usage_ping_enabled,type: Boolean,desc: 'Every week GitLab will report license usage back to GitLab, Inc.'
# TODO: Remove repository_storage in 9.0
optional:repository_storage,type: String,desc: 'The first entry in `repository_storages`. Deprecated, but retained for compatibility reasons'
optional:repository_storages,type: Array[String],desc: 'A list of names of enabled storage paths, taken from `gitlab.yml`. New projects will be created in one of these stores, chosen at random.'
optional:repository_size_limit,type: Integer,desc: 'Size limit per repository (MB)'
optional:default_branch_protection,type: Integer,values: [0,1,2],desc: 'Determine if developers can push to master'
optional:default_project_visibility,type: Integer,values: Gitlab::VisibilityLevel.values,desc: 'The default project visibility'
optional:default_snippet_visibility,type: Integer,values: Gitlab::VisibilityLevel.values,desc: 'The default snippet visibility'
optional:default_group_visibility,type: Integer,values: Gitlab::VisibilityLevel.values,desc: 'The default group visibility'
optional:restricted_visibility_levels,type: Array[String],desc: 'Selected levels cannot be used by non-admin users for projects or snippets. If the public level is restricted, user profiles are only visible to logged in users.'
desc: 'Enabled sources for code import during project creation. OmniAuth must be configured for GitHub, Bitbucket, and GitLab.com'
optional:disabled_oauth_sign_in_sources,type: Array[String],desc: 'Disable certain OAuth sign-in sources'
optional:enabled_git_access_protocol,type: String,values: %w[ssh http nil],desc: 'Allow only the selected protocols to be used for Git access.'
optional:gravatar_enabled,type: Boolean,desc: 'Flag indicating if the Gravatar service is enabled'
optional:default_projects_limit,type: Integer,desc: 'The maximum number of personal projects'
optional:max_attachment_size,type: Integer,desc: 'Maximum attachment size in MB'
optional:session_expire_delay,type: Integer,desc: 'Session duration in minutes. GitLab restart is required to apply changes.'
optional:user_oauth_applications,type: Boolean,desc: 'Allow users to register any application to use GitLab as an OAuth provider'
optional:user_default_external,type: Boolean,desc: 'Newly registered users will by default be external'
optional:signup_enabled,type: Boolean,desc: 'Flag indicating if sign up is enabled'
optional:send_user_confirmation_email,type: Boolean,desc: 'Send confirmation email on sign-up'
optional:domain_whitelist,type: String,desc: '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'
optional:domain_blacklist_enabled,type: Boolean,desc: 'Enable domain blacklist for sign ups'
givendomain_blacklist_enabled: ->(val){val}do
requires:domain_blacklist,type: String,desc: 'Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'
end
optional:after_sign_up_text,type: String,desc: 'Text shown after sign up'
optional:signin_enabled,type: Boolean,desc: 'Flag indicating if sign in is enabled'
optional:require_two_factor_authentication,type: Boolean,desc: 'Require all users to setup Two-factor authentication'
requires:two_factor_grace_period,type: Integer,desc: 'Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication'
end
optional:home_page_url,type: String,desc: 'We will redirect non-logged in users to this page'
optional:after_sign_out_path,type: String,desc: 'We will redirect users to this page after they sign out'
optional:sign_in_text,type: String,desc: 'The sign in text of the GitLab application'
optional:help_page_text,type: String,desc: 'Custom text displayed on the help page'
optional:shared_runners_enabled,type: Boolean,desc: 'Enable shared runners for new projects'
givenshared_runners_enabled: ->(val){val}do
requires:shared_runners_text,type: String,desc: 'Shared runners text '
end
optional:max_artifacts_size,type: Integer,desc: "Set the maximum file size each build's artifacts can have"
optional:max_pages_size,type: Integer,desc: 'Maximum size of pages in MB'
optional:metrics_enabled,type: Boolean,desc: 'Enable the InfluxDB metrics'
givenmetrics_enabled: ->(val){val}do
requires:metrics_host,type: String,desc: 'The InfluxDB host'
requires:metrics_port,type: Integer,desc: 'The UDP port to use for connecting to InfluxDB'
requires:metrics_pool_size,type: Integer,desc: 'The amount of InfluxDB connections to open'
requires:metrics_timeout,type: Integer,desc: 'The amount of seconds after which an InfluxDB connection will time out'
requires:metrics_method_call_threshold,type: Integer,desc: 'A method call is only tracked when it takes longer to complete than the given amount of milliseconds.'
requires:metrics_sample_interval,type: Integer,desc: 'The sampling interval in seconds'
requires:metrics_packet_size,type: Integer,desc: 'The amount of points to store in a single UDP packet'
requires:sidekiq_throttling_queus,type: Array[String],desc: 'Choose which queues you wish to throttle'
requires:sidekiq_throttling_factor,type: Float,desc: 'The factor by which the queues should be throttled. A value between 0.0 and 1.0, exclusive.'
end
optional:recaptcha_enabled,type: Boolean,desc: 'Helps prevent bots from creating accounts'
givenrecaptcha_enabled: ->(val){val}do
requires:recaptcha_site_key,type: String,desc: 'Generate site key at http://www.google.com/recaptcha'
requires:recaptcha_private_key,type: String,desc: 'Generate private key at http://www.google.com/recaptcha'
end
optional:akismet_enabled,type: Boolean,desc: 'Helps prevent bots from creating issues'
givenakismet_enabled: ->(val){val}do
requires:akismet_api_key,type: String,desc: 'Generate API key at http://www.akismet.com'
end
optional:admin_notification_email,type: String,desc: 'Abuse reports will be sent to this address if it is set. Abuse reports are always available in the admin area.'
optional:sentry_enabled,type: Boolean,desc: 'Sentry is an error reporting and logging tool which is currently not shipped with GitLab, get it here: https://getsentry.com'
givensentry_enabled: ->(val){val}do
requires:sentry_dsn,type: String,desc: 'Sentry Data Source Name'
end
optional:repository_storage,type: String,desc: 'Storage paths for new projects'
optional:repository_checks_enabled,type: Boolean,desc: "GitLab will periodically run 'git fsck' in all project and wiki repositories to look for silent disk corruption issues."
requires:plantuml_url,type: String,desc: 'The PlantUML server URL'
end
optional:version_check_enabled,type: Boolean,desc: 'Let GitLab inform you when an update is available.'
optional:email_author_in_body,type: Boolean,desc: '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.'
optional:html_emails_enabled,type: Boolean,desc: 'By default GitLab sends emails in HTML and plain text formats so mail clients can choose what format to use. Disable this option if you only want to send emails in plain text format.'
requires:housekeeping_bitmaps_enabled,type: Boolean,desc: "Creating pack file bitmaps makes housekeeping take a little longer but bitmaps should accelerate 'git clone' performance."
requires:housekeeping_incremental_repack_period,type: Integer,desc: "Number of Git pushes after which an incremental 'git repack' is run."
requires:housekeeping_full_repack_period,type: Integer,desc: "Number of Git pushes after which a full 'git repack' is run."
requires:housekeeping_gc_period,type: Integer,desc: "Number of Git pushes after which 'git gc' is run."
end
optional:terminal_max_session_time,type: Integer,desc: 'Maximum time for web terminal websocket connection (in seconds). Set to 0 for unlimited time.'
# GitLab-EE specific settings
optional:help_text,type: String,desc: 'GitLab server administrator information'
requires:elasticsearch_host,type: String,desc: 'The TCP/IP host to use for connecting to Elasticsearch. Use a comma-separated list to support clustering (e.g., "host1, host2")'
requires:elasticsearch_port,type: Integer,desc: 'The TCP/IP port that Elasticsearch listens to. The default value is 9200'
end
optional:usage_ping_enabled,type: Boolean,desc: 'Every week GitLab will report license usage back to GitLab, Inc.'
optional:repository_storage,type: String,desc: 'The first entry in `repository_storages`. Deprecated, but retained for compatibility reasons'
optional:repository_storages,type: Array[String],desc: 'A list of names of enabled storage paths, taken from `gitlab.yml`. New projects will be created in one of these stores, chosen at random.'
optional:repository_size_limit,type: Integer,desc: 'Size limit per repository (MB)'