Skip to content

Instance settings

Configuring instance settings

gitlab_settings_instance.application holds instance-level application settings. Sections are organizational only: scalar keys inside each section are flattened into one application-settings request, so related settings can be grouped for readability without affecting API behavior.

GitLab field names

Field names and types below follow GitLab's Application settings API.

Example instance definition

gitlab_settings_instance:
  application:
    account:
      signup_enabled: false
      require_admin_approval_after_user_signup: true
    defaults:
      default_project_visibility: private
      default_group_visibility: private
      default_snippet_visibility: private
    repository:
      repository_checks_enabled: true
      repository_size_limit: 0
      default_branch_name: main
    rate_limits:
      throttle_authenticated_api_enabled: true
      throttle_authenticated_api_requests_per_period: 7200
  system_hooks: []   # see 3. system-hooks.md

Instance Settings Spec

GitLab API reference

GitLab's API documentation defines the available fields and types:

  1. Application settings API

applicationobject

Instance application settings. GitLab application-setting fields are declared inside the organizational sections below.

Organizational sections of application

Setting keys inside these sections are flattened into the application-settings request. The section names carry no meaning to GitLab; they exist so large configurations stay readable.

account — sign-up, approval, and account policy

defaults — default visibilities and branch names

limits — size and count limits

ci_cd — instance CI/CD behavior

repository — repository checks, sizes, defaults

imports — import sources and controls

outbound_requests — webhook and service egress policy

rate_limits — API and web throttles

email — email confirmation and notification policy

duo — GitLab Duo feature toggles

feature_flags — instance feature toggles

pages — GitLab Pages settings

packages — package registry settings

security — security-related policy

Application setting properties

Every field below can be placed in exactly one organizational section. Expand a range to see each field's type, accepted values, bounds, and GitLab behavior.

force_secret_updateboolean

Force a write when a declared write-only secret must be rotated and no readable field has drifted. Default: false.


A–D application fields

abuse_notification_emailstring

If set, abuse reports are sent to this address. Abuse reports are always available in the Admin area.


active_context_pause_indexingboolean

Pause ActiveContext indexing


admin_modeboolean

Require administrators to enable Admin Mode by re-authenticating for administrative tasks.


after_sign_out_pathstring

Where to redirect users after logout.


after_sign_up_textstring

Text shown to the user after signing up.


ai_action_api_rate_limitinteger

Maximum number of requests allowed to the aiAction GraphQL mutation per user per eight hours. Default: 160. Set to 0 to disable the rate limit.


ai_audit_events_streaming_enabledstring


akismet_api_keystring

API key for Akismet spam protection.


akismet_enabledboolean

(If enabled, requires: akismet_api_key) Enable or disable Akismet spam protection.


allow_account_deletionboolean

Set to true to allow users to delete their accounts. Premium and Ultimate only.


allow_all_integrationsboolean

When false, only integrations in allowed_integrations are allowed on the instance. Ultimate only.


allow_bypass_placeholder_confirmationboolean

Skip confirmation when administrators reassign placeholder users. Introduced in GitLab 18.0.


allow_contribution_mapping_to_adminsstring


allow_deploy_tokens_and_keys_with_external_authnstring


allow_group_owners_to_manage_ldapboolean

Set to true to allow group owners to manage LDAP. Premium and Ultimate only.


allow_local_requests_from_system_hooksboolean

Allow requests to the local network from system hooks.


allow_local_requests_from_web_hooks_and_servicesboolean

Allow requests to the local network from webhooks and integrations.


allow_possible_spamstring


allow_project_creation_for_guest_and_belowboolean

Indicates whether users assigned up to the Guest role can create groups and personal projects. Defaults to true.


allow_runner_registration_tokenboolean

Allow using a registration token to create a runner. Defaults to true.


allow_s3_compatible_storage_for_offline_transferboolean

Allow S3-compatible object storage for offline transfer. Introduced in GitLab 18.9.


allow_top_level_group_owners_to_create_service_accountsstring


allowed_integrationsarray of strings

When allow_all_integrations is false, lists the integrations allowed on the instance. Every item must be a known GitLab integration name. Ultimate only.


anonymous_searches_allowedstring


archive_builds_in_human_readablestring

Set the duration for which the jobs are considered as old and expired. After that time passes, the jobs are archived and no longer able to be retried. Make it empty to never expire jobs. It has to be no less than 1 day, for example: 15 days, 1 month, 2 years.


asciidoc_max_includesinteger

Maximum limit of AsciiDoc include directives being processed in any one document. Default: 32. Maximum: 64.


asset_proxy_enabledboolean

(If enabled, requires: asset_proxy_url) Enable proxying of assets. GitLab restart is required to apply changes.


asset_proxy_secret_keystring

Shared secret with the asset proxy server. GitLab restart is required to apply changes.


asset_proxy_urlstring

URL of the asset proxy server. GitLab restart is required to apply changes.


authn_data_retention_cleanup_enabledboolean

If true, runs cleanup workers that permanently delete authentication login history older than one year, and previously revoked OAuth access tokens and grants older than one month. Default value: false. Introduced in GitLab 18.7.


authorized_keys_enabledboolean

By default, the authorized_keys file supports Git over SSH without additional configuration. GitLab can be optimized to authenticate SSH keys via the database file. Only disable this if you have configured your OpenSSH server to use the AuthorizedKeysCommand.


auto_ban_user_on_excessive_projects_downloadboolean

When enabled, users will get automatically banned from the application when they download more than the maximum number of unique projects in the time period specified by max_number_of_repository_downloads and max_number_of_repository_downloads_within_time_period. GitLab Self-Managed, Ultimate only.


auto_devops_domainstring

Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages.


auto_devops_enabledboolean

Enable Auto DevOps for projects by default. It automatically builds, tests, and deploys applications based on a predefined CI/CD configuration.


auto_duo_code_review_enabledboolean

Enable automatic reviews by GitLab Duo on merge requests


autocomplete_users_limitinteger

Rate limit for authenticated requests to users autocomplete endpoint


autocomplete_users_unauthenticated_limitinteger

Rate limit for authenticated requests to users autocomplete endpoint


automatic_purchased_storage_allocationboolean

Enabling this permits automatic allocation of purchased storage in a namespace. Relevant only to EE distributions.


background_operations_max_jobsstring


built_in_project_templates_enabledboolean

Enable built-in project templates when users create projects. Premium and Ultimate only. Introduced in GitLab 19.0 with a feature flag named use_built_in_project_templates_enabled. Disabled by default. Generally available in GitLab 19.2. Feature flag use_built_in_project_templates_enabled removed.


bulk_import_concurrent_pipeline_batch_limitinteger

Maximum simultaneous direct transfer batch exports to process.


bulk_import_enabledboolean

Enable migrating GitLab groups by direct transfer. Setting also available in the Admin area.


bulk_import_max_download_fileinteger

Maximum download file size in MB when importing from source GitLab instances by direct transfer


bulk_import_max_download_file_sizeinteger

Maximum download file size when importing from source GitLab instances by direct transfer. Introduced in GitLab 16.3.


can_create_groupboolean

Indicates whether users can create top-level groups. Defaults to true.


can_create_organizationstring


check_namespace_planboolean

Enabling this makes only licensed EE features available to projects if the project namespace's plan includes the feature or if the project is public. Premium and Ultimate only.


ci_cd_catalog_projects_allowliststring


ci_cd_catalog_projects_allowlist_rawstring


ci_delete_pipelines_in_seconds_limit_human_readablestring

Maximum value that is allowed for configuring pipeline retention. Defaults to 1 year.


ci_job_live_trace_enabledboolean

Turns on incremental logging for job logs. When turned on, archived job logs are incrementally uploaded to object storage. Object storage must be configured. You can also configure this setting in the Admin area.


ci_job_telemetry_sampling_ratenumber

Sampling rate for CI job telemetry (0.0 to 1.0)


ci_lint_limit_per_userinteger

Maximum number of CI Lint requests per minute per user. Disabled by default.


ci_max_caches_per_jobinteger

Maximum number of caches that can be defined in a single CI/CD job


ci_max_includesinteger

The maximum number of includes per pipeline. Default is 150.


ci_max_total_yaml_size_bytesinteger

The maximum amount of memory, in bytes, that can be allocated for the pipeline configuration, with all included YAML configuration files.


ci_partitions_in_seconds_limit_human_readablestring

The time window before new CI partitions are created and the system switches to the next set of partitions. Must be between 1 month and 6 months. Defaults to 1 month.


ci_telemetry_otel_endpointstring

OTEL Collector endpoint URL for CI job telemetry


code_suggestions_api_rate_limitinteger

Maximum requests a user can make per minute to code suggestions endpoint


commit_email_hostnamestring

Custom hostname (for private commit emails).


concurrent_bitbucket_import_jobs_limitinteger

Maximum number of simultaneous import jobs for the Bitbucket Cloud importer. Default is 100. Introduced in GitLab 16.11.


concurrent_bitbucket_server_import_jobs_limitinteger

Maximum number of simultaneous import jobs for the Bitbucket Server importer. Default is 100. Introduced in GitLab 16.11.


concurrent_github_import_jobs_limitinteger

Maximum number of simultaneous import jobs for the GitHub importer. Default is 1000. Introduced in GitLab 16.11.


concurrent_relation_batch_export_limitinteger

Maximum number of simultaneous batch export jobs to process. Introduced in GitLab 17.6.


container_expiration_policies_enable_historic_entriesboolean

Enable cleanup policies for all projects.


container_registry_cleanup_tags_service_max_list_sizeinteger

The maximum number of tags that can be deleted in a single execution of cleanup policies.


container_registry_delete_tags_service_timeoutinteger

The maximum time, in seconds, that the cleanup process can take to delete a batch of tags for cleanup policies.


container_registry_expiration_policies_cachingboolean

Caching during the execution of cleanup policies.


container_registry_expiration_policies_worker_capacityinteger

Number of workers for cleanup policies.


container_registry_token_expire_delayinteger

Container registry token duration in minutes.


create_organization_api_limitstring


cube_api_base_urlstring


cube_api_keystring


custom_http_clone_url_rootstring

Set a custom Git clone URL for HTTP(S).


deactivate_dormant_usersboolean

Enable automatic deactivation of dormant users.


deactivate_dormant_users_periodinteger

Length of time (in days) after which a user is considered dormant.


deactivation_email_additional_textstring


decompress_archive_file_timeoutinteger

Default timeout for decompressing archived files, in seconds. Set to 0 to disable timeouts. Introduced in GitLab 16.4.


default_artifacts_expire_instring

Set the default expiration time for each job's artifacts.


default_branch_namestring

Set the initial branch name for all projects in an instance.


default_ci_config_pathstring

Default CI/CD configuration file and path for new projects (.gitlab-ci.yml if not set).


default_dark_syntax_highlighting_themeinteger

Default dark mode syntax highlighting theme for users who are new or not signed in. See IDs of available themes.


default_group_visibilitystring

What visibility level new groups receive. Can take private, internal and public as a parameter. Default is private. Changed in GitLab 16.4: cannot be set to any levels in restricted_visibility_levels. Can be one of: private, internal, public.


default_preferred_languagestring

Default preferred language for users who are not logged in.


default_project_creationinteger

Default minimum role required to create projects. Can take: 0 _(No one)_, 1 _(Maintainers)_, 2 _(Developers)_, 3 _(Administrators)_ or 4 _(Owners)_. Can be one of: 0, 3, 4, 1, 2.


default_project_deletion_protectionboolean

Enable default project deletion protection so only administrators can delete projects. Default is false. GitLab Self-Managed, Premium and Ultimate only.


default_project_visibilitystring

What visibility level new projects receive. Can take private, internal and public as a parameter. Default is private. Changed in GitLab 16.4: cannot be set to any levels in restricted_visibility_levels. Can be one of: private, internal, public.


default_projects_limitinteger

Project limit per user. Default is 100000.


default_search_scopestring


default_snippet_visibilitystring

What visibility level new snippets receive. Can take private, internal and public as a parameter. Default is private. Can be one of: private, internal, public.


default_syntax_highlighting_themeinteger

Default syntax highlighting theme for users who are new or not signed in. See IDs of available themes.


delay_user_account_self_deletionstring


delete_inactive_projectsboolean

Enable dormant project deletion. Default is false. Became operational without feature flag in GitLab 15.4.


delete_unconfirmed_usersboolean

Specifies whether users who have not confirmed their email should be deleted. Default is false. When set to true, unconfirmed users are deleted after unconfirmed_users_delete_after_days days. Introduced in GitLab 16.1. GitLab Self-Managed, Premium and Ultimate only.


deletion_adjourned_periodinteger

Number of days to wait before deleting a project or group that is marked for deletion. Value must be between 1 and 90. Defaults to 30.


deny_all_requests_except_allowedstring


dependency_firewall_policies_per_configuration_limitstring


dependency_scanning_sbom_scan_api_download_limitstring


dependency_scanning_sbom_scan_api_upload_limitstring


description_and_note_max_sizeinteger

Maximum work item, merge request, and vulnerability description and comment content size in bytes. Default is 1048576.


diagramsnet_enabledboolean

(If enabled, requires diagramsnet_url) Enable Diagrams.net integration. Default is true.


diagramsnet_urlstring

The Diagrams.net instance URL for integration.


diff_max_commitsinteger

Maximum number of diff commits per merge request.


diff_max_filesinteger

Maximum files in a diff.


diff_max_linesinteger

Maximum lines in a diff.


diff_max_patch_bytesinteger

Maximum diff patch size, in bytes.


diff_max_versionsinteger

Maximum number of diff versions per merge request.


disable_admin_oauth_scopesboolean

Stops administrators from connecting their GitLab accounts to non-trusted OAuth 2.0 applications that have the api, read_api, read_repository, write_repository, read_registry, write_registry, or sudo scopes.


disable_feed_tokenboolean

Disable display of RSS/Atom and calendar feed tokens.


disable_invite_membersboolean

Disable invite members functionality for group.


disable_overriding_approvers_per_merge_requestboolean

Prevent editing approval rules in projects and merge requests


disable_password_authentication_for_users_with_sso_identitiesboolean

Disable password authentication in the web interface for users with an SSO identity. This does not affect Git operations over HTTP(S). Default is false.


disable_personal_access_tokensboolean

Disable personal access tokens. GitLab Self-Managed, Premium and Ultimate only. There is no method available to enable a personal access token that's been disabled through the API. This is a known issue. For more information about available workarounds, see Workaround.


disabled_direct_code_suggestionsboolean

Indicates if direct connection for Code Suggestions is disabled for users


display_gitlab_credits_user_datastring


dns_rebinding_protection_enabledboolean

Enforce DNS-rebinding attack protection.


domain_allowlist_rawstring


domain_denylist_enabledboolean

(If enabled, requires: domain_denylist) Allows you to block new user accounts with emails from specific domains.


domain_denylist_rawstring


downstream_pipeline_trigger_limit_per_project_user_shainteger

Maximum downstream pipeline trigger rate. Default: 0 (no restriction). Introduced in GitLab 16.10.


dsa_key_restrictioninteger

The minimum allowed bit length of an uploaded DSA key. Default is 0 (no restriction). -1 disables DSA keys. Can be one of: 0, 1024, 2048, 3072, -1.


duo_agent_platform_enabledstring


duo_availabilitystring


duo_chat_expiration_columnstring


duo_chat_expiration_daysstring


duo_cli_enabledstring


duo_custom_agents_availabilitystring


duo_custom_agents_enabledboolean

Indicates whether custom agents are allowed for this instance. Default: true. GitLab Self-Managed, Premium and Ultimate only. Introduced in GitLab 19.0.


duo_custom_flows_availabilitystring


duo_custom_flows_enabledboolean

Indicates whether custom flows are allowed for this instance. Default: true. GitLab Self-Managed, Premium and Ultimate only. Introduced in GitLab 19.0.


duo_external_agents_availabilitystring


duo_external_agents_enabledboolean

Indicates whether external agents are allowed for this instance. Default: true. GitLab Self-Managed, Premium and Ultimate only. Introduced in GitLab 19.0.


duo_features_enabledboolean

Indicates whether GitLab Duo features are enabled for this instance. Introduced in GitLab 16.10. GitLab Self-Managed, Premium and Ultimate only.


duo_foundational_flows_availabilitystring


duo_foundational_flows_enabledstring


duo_remote_flows_availabilitystring


duo_remote_flows_enabledboolean

Indicates whether GitLab Duo remote flows are enabled for the instance


duo_template_project_idinteger

The ID of a project to use as the Duo Code Review custom instructions template for this instance


duo_workflow_oauth_application_idstring


duo_workflows_default_image_registrystring

Default container registry for Duo Agent Platform foundational flow images

E–H application fields

ecdsa_key_restrictioninteger

The minimum allowed curve size (in bits) of an uploaded ECDSA key. Default is 0 (no restriction). -1 disables ECDSA keys. Can be one of: 0, 256, 384, 521, -1.


ecdsa_sk_key_restrictioninteger

The minimum allowed curve size (in bits) of an uploaded ECDSA_SK key. Default is 0 (no restriction). -1 disables ECDSA_SK keys. Can be one of: 0, 256, -1.


ed25519_key_restrictioninteger

The minimum allowed curve size (in bits) of an uploaded ED25519 key. Default is 0 (no restriction). -1 disables ED25519 keys. Can be one of: 0, 256, -1.


ed25519_sk_key_restrictioninteger

The minimum allowed curve size (in bits) of an uploaded ED25519_SK key. Default is 0 (no restriction). -1 disables ED25519_SK keys. Can be one of: 0, 256, -1.


eks_access_key_idstring

AWS IAM access key ID.


eks_account_idstring

Amazon account ID.


eks_integration_enabledboolean

Enable integration with Amazon EKS.


eks_secret_access_keystring

AWS IAM secret access key.


elastic_migration_worker_enabledstring


elasticsearch_advanced_search_pause_indexingboolean

Pause advanced search indexing


elasticsearch_analyzers_kuromoji_enabledstring


elasticsearch_analyzers_kuromoji_searchstring


elasticsearch_analyzers_smartcn_enabledstring


elasticsearch_analyzers_smartcn_searchstring


elasticsearch_awsboolean

Enable the use of AWS hosted Elasticsearch. Premium and Ultimate only.


elasticsearch_aws_access_keystring

AWS IAM access key. Premium and Ultimate only.


elasticsearch_aws_regionstring

The AWS region the Elasticsearch domain is configured. Premium and Ultimate only.


elasticsearch_aws_role_arnstring


elasticsearch_aws_secret_access_keystring

AWS IAM secret access key. Premium and Ultimate only.


elasticsearch_client_adapterstring

The Faraday adapter used by the Elasticsearch Ruby Client. Defaults to typhoeus. Possible values are typhoeus and net_http. Introduced in GitLab 18.5. Premium and Ultimate only.


elasticsearch_client_request_timeoutstring


elasticsearch_code_scopestring


elasticsearch_indexed_field_length_limitinteger

Maximum size of text fields to index by Elasticsearch. 0 value means no limit. This does not apply to repository and wiki indexing. Premium and Ultimate only.


elasticsearch_indexed_file_size_limit_kbinteger

Maximum size of repository and wiki files that are indexed by Elasticsearch. Premium and Ultimate only.


elasticsearch_indexingboolean

Turn on indexing for advanced search. Premium and Ultimate only.


elasticsearch_indexing_timeout_minutesstring


elasticsearch_limit_indexingboolean

Limit Elasticsearch to index certain namespaces and projects. Premium and Ultimate only.


elasticsearch_max_bulk_concurrencyinteger

Maximum concurrency of Elasticsearch bulk requests per indexing operation. This only applies to repository indexing operations. Premium and Ultimate only.


elasticsearch_max_bulk_size_mbinteger

Maximum size of Elasticsearch bulk indexing requests in MB. This only applies to repository indexing operations. Premium and Ultimate only.


elasticsearch_max_code_indexing_concurrencyinteger

Maximum concurrency of Elasticsearch code indexing background jobs. This only applies to repository indexing operations. Premium and Ultimate only.


elasticsearch_passwordstring

The password of your Elasticsearch instance. Premium and Ultimate only.


elasticsearch_pause_indexingboolean

Pause Elasticsearch indexing (global control for both Advanced Search and ActiveContext)


elasticsearch_replicasinteger or object

Number of replicas for Elasticsearch indices. An integer applies to every index; an object assigns an integer to each named index. When using the object form, provide both elasticsearch_replicas and elasticsearch_shards for every index. An index missing either value is skipped. Premium and Ultimate only.

Object form of elasticsearch_replicas

<index_name>integer

Replica count for the named Elasticsearch index, for example gitlab-production: 1.


elasticsearch_requeue_workersboolean

Enable automatic requeuing of indexing workers. This improves non-code indexing throughput by enqueuing Sidekiq jobs until all documents are processed. Premium and Ultimate only.


elasticsearch_retry_on_failureinteger

Maximum number of possible retries for Elasticsearch search requests. Premium and Ultimate only.


elasticsearch_searchboolean

Enable Elasticsearch search. Premium and Ultimate only.


elasticsearch_shardsinteger or object

Number of shards for Elasticsearch indices. An integer applies to every index; an object assigns an integer to each named index. When using the object form, provide both elasticsearch_shards and elasticsearch_replicas for every index. An index missing either value is skipped. Premium and Ultimate only.

Object form of elasticsearch_shards

<index_name>integer

Shard count for the named Elasticsearch index, for example gitlab-production: 5.


elasticsearch_urlstring or array of strings

URL used to connect to Elasticsearch. For a cluster, use either a comma-separated string such as http://localhost:9200, http://localhost:9201 or an array of URL strings. Premium and Ultimate only.


elasticsearch_usernamestring

The username of your Elasticsearch instance. Premium and Ultimate only.


elasticsearch_worker_number_of_shardsinteger

Number of indexing worker shards. This improves non-code indexing throughput by enqueuing more parallel Sidekiq jobs. Default is 2. Premium and Ultimate only.


email_additional_textstring

Additional text added to the bottom of every email for legal/auditing/compliance reasons. Premium and Ultimate only.


email_author_in_bodyboolean

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.


email_confirmation_settingstring

Specifies whether users must confirm their email before sign in. Possible values are off, soft, and hard. Can be one of: off, soft, hard.


email_otp_enabledboolean

Enable Email-based one-time passwords (OTP) as a multi-factor authentication method. Disabled by default. Requires require_email_verification_on_account_locked to be true.


email_restrictionsstring

Regular expression that is checked against the email used during registration.


email_restrictions_enabledboolean

Prevent new users from creating an account by email.


enable_artifact_external_redirect_warning_pageboolean

Show the external redirect page that warns you about user-generated content in GitLab Pages.


enable_language_server_restrictionsboolean

Enables enforcing language server restrictions


enable_member_promotion_managementstring


enabled_expanded_loggingstring


enabled_git_access_protocolstring

Enabled protocols for Git access. Allowed values are: ssh, http, and all to allow both protocols. all value introduced in GitLab 16.9. Can be one of: ssh, http, all.


enforce_ci_inbound_job_token_scope_enabledstring


enforce_email_subaddress_restrictionsstring


enforce_granular_tokensstring


enforce_namespace_storage_limitboolean

Enabling this permits enforcement of namespace storage limits.


enforce_pipl_complianceboolean

Sets whether pipl compliance is enforced for the saas application or not


enforce_termsboolean

(If enabled, requires: terms) Enforce application ToS to all users.


error_tracking_api_urlstring


error_tracking_enabledstring


external_auth_client_certstring

(If enabled, requires: external_auth_client_key) The certificate to use to authenticate with the external authorization service.


external_auth_client_keystring

Private key for the certificate when authentication is required for the external authorization service, this is encrypted when stored.


external_auth_client_key_passstring

Passphrase to use for the private key when authenticating with the external service this is encrypted when stored.


external_authorization_service_default_labelstring

The default classification label to use when requesting authorization and no classification label has been specified on the project.


external_authorization_service_enabledboolean

(If enabled, requires: external_authorization_service_default_label, external_authorization_service_timeout and external_authorization_service_url) Enable using an external authorization service for accessing projects.


external_authorization_service_timeoutnumber

The timeout after which an authorization request is aborted, in seconds. When a request times out, access is denied to the user. (min: 0.001, max: 10, step: 0.001).


external_authorization_service_urlstring

URL to which authorization requests are directed.


external_pipeline_validation_service_timeoutinteger

How long to wait for a response from the pipeline validation service. Assumes OK if it times out.


external_pipeline_validation_service_tokenstring

Optional. Token to include as the X-Gitlab-Token header in requests to the URL in external_pipeline_validation_service_url.


external_pipeline_validation_service_urlstring

URL to use for pipeline validation requests.


failed_login_attempts_unlock_period_in_minutesinteger

Time period in minutes after which the user is unlocked when maximum number of failed sign-in attempts reached.


fetch_observability_alerts_from_cloudstring


file_template_project_idinteger

The ID of a project to load custom file templates from. Premium and Ultimate only.


first_day_of_weekinteger

Start day of the week for calendar views and date pickers. Valid values are 0 (default) for Sunday, 1 for Monday, and 6 for Saturday.


floc_enabledboolean

Enable FloC (Federated Learning of Cohorts)


force_pages_access_controlstring


foundational_agents_default_enabledstring


foundational_agents_statusesstring


geo_node_allowed_ipsstring

Comma-separated list of IPs and CIDRs of allowed secondary nodes. For example, 1.1.1.1, 2.2.2.0/24. GitLab Self-Managed, Premium and Ultimate only.


geo_status_timeoutinteger

The amount of seconds after which a request to get a secondary node status times out. GitLab Self-Managed, Premium and Ultimate only.


git_push_pipeline_limitinteger

Set the maximum number of tag or branch pipelines that can be triggered by a single Git push. For more information about this limit, see number of pipelines per Git push.


git_two_factor_session_expiryinteger

Maximum duration (in minutes) of a session for Git operations when 2FA is enabled. Premium and Ultimate only.


gitaly_timeout_defaultinteger

Default Gitaly timeout, in seconds. This timeout is not enforced for Git fetch/push operations or Sidekiq jobs. Set to 0 to disable timeouts.


gitaly_timeout_fastinteger

Gitaly fast operation timeout, in seconds. Some Gitaly operations are expected to be fast. If they exceed this threshold, there may be a problem with a storage shard and 'failing fast' can help maintain the stability of the GitLab instance. Set to 0 to disable timeouts.


gitaly_timeout_mediuminteger

Medium Gitaly timeout, in seconds. This should be a value between the Fast and the Default timeout. Set to 0 to disable timeouts.


gitlab_dedicated_instanceboolean

Indicates whether the instance was provisioned for GitLab Dedicated.


gitlab_environment_toolkit_instanceboolean

Indicates whether the instance was provisioned with the GitLab Environment Toolkit for Service Ping reporting.


gitlab_product_usage_data_enabledboolean

Indicates if product usage data collection is enabled. When the GITLAB_PRODUCT_USAGE_DATA_ENABLED environment variable is set, the API returns the effective value from the environment variable.


gitlab_shell_operation_limitinteger

Maximum number of Git operations per minute a user can perform. Default: 600. Introduced in GitLab 16.2.


gitpod_enabledboolean

(If enabled, requires: gitpod_url) Enable Ona integration. Default is false.


gitpod_urlstring

The Ona instance URL for integration.


global_search_block_anonymous_searches_enabledstring


global_search_code_enabledstring


global_search_commits_enabledstring


global_search_limited_indexing_enabledstring


global_search_merge_requests_enabledstring


global_search_snippet_titles_enabledstring


global_search_users_enabledstring


global_search_wiki_enabledstring


global_search_work_items_enabledstring


globally_allowed_ipsstring

Comma-separated list of IP addresses and CIDRs always allowed for inbound traffic. For example, 1.1.1.1, 2.2.2.0/24.


grafana_enabledboolean

Enable Grafana.


grafana_urlstring

Grafana URL.


granular_tokens_enforced_afterstring


gravatar_enabledboolean

Enable Gravatar.


group_api_limitstring


group_archive_unarchive_api_limitstring


group_download_export_limitstring


group_export_limitstring


group_import_limitstring


group_invited_groups_api_limitstring


group_owners_can_manage_default_branch_protectionboolean

Prevent overrides of default branch protection. GitLab Self-Managed, Premium and Ultimate only.


group_projects_api_limitstring


group_runner_token_expiration_intervalinteger

Set the expiration time (in seconds) of authentication tokens of newly registered group runners. Minimum value is 7200 seconds. For more information, see Automatically rotate authentication tokens.


group_secrets_limitinteger

Maximum number of secrets allowed per group in Secrets Manager. Default: 500. To disable the limit, set to 0. Ultimate only. Introduced in GitLab 18.9.


group_shared_groups_api_limitstring


groups_api_limitstring


hashed_storage_enabledboolean

Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled in GitLab versions 13.0 and later, configuration is scheduled for removal in 14.0)


helm_max_packages_countinteger

Maximum number of Helm packages that can be listed per channel. Must be at least 1. Default is 1000.


help_page_documentation_base_urlstring

Alternate documentation pages URL.


help_page_hide_commercial_contentboolean

Hide marketing-related entries from help.


help_page_support_urlstring

Alternate support URL for help page and help dropdown list.


help_page_textstring

Custom text displayed on the help page.


hide_third_party_offersboolean

Do not display offers from third parties in GitLab.


home_page_urlstring

Redirect to this URL when not logged in.


housekeeping_enabledboolean

Enable or disable Git housekeeping. Requires additional fields to be set.


housekeeping_optimize_repository_periodinteger

Number of Git pushes after which an incremental git repack is run.


html_emails_enabledboolean

Enable HTML emails.

I–L application fields

iframe_rendering_allowlist_rawstring

Raw newline- or comma-separated list of allowed iframe src host[:port] entries.


iframe_rendering_enabledboolean

Allow rendering of iframes in Markdown. Disabled by default.


inactive_projects_delete_after_monthsinteger

If delete_inactive_projects is true, the time (in months) to wait before deleting dormant projects. Default is 2. Became operational in GitLab 15.0.


inactive_projects_min_size_mbinteger

If delete_inactive_projects is true, the minimum repository size for projects to be checked for inactivity. Default is 0. Became operational in GitLab 15.0.


inactive_projects_send_warning_email_after_monthsinteger

If delete_inactive_projects is true, sets the time (in months) to wait before emailing Maintainers that the project is scheduled be deleted because it is dormant. Default is 1. Became operational in GitLab 15.0.


inactive_resource_access_tokens_delete_after_daysinteger

Specifies retention period for inactive project and group access tokens. Default is 30.


include_optional_metrics_in_service_pingboolean

Whether or not optional metrics are enabled in Service Ping. Introduced in GitLab 16.10.


instance_level_ai_beta_features_enabledstring


instance_token_prefixstring


invisible_captcha_enabledboolean

Enable Invisible CAPTCHA spam detection during account creation. Disabled by default.


invitation_flow_enforcementstring


issues_create_limitinteger

Maximum number of issue creation requests per minute per user. Disabled by default.


jira_connect_additional_audience_urlstring


jira_connect_application_keystring

ID of the OAuth application used to authenticate with the GitLab for Jira Cloud app.


jira_connect_proxy_urlstring

URL of the GitLab instance used as a proxy for the GitLab for Jira Cloud app.


jira_connect_public_key_storage_enabledboolean

Enable public key storage for the GitLab for Jira Cloud app.


jira_forge_app_idstring

Atlassian Forge app ID (ARI) of the GitLab for Jira Cloud app, used to verify inbound Forge Invocation Tokens.


keep_latest_artifactboolean

Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time. Enabled by default.


kroki_diagram_proxy_enabledboolean

Enable Kroki diagram proxy. Default is false.


kroki_enabledboolean

(If enabled, requires: kroki_url) Enable Kroki integration. Default is false.


kroki_formatsobject

Additional formats supported by the Kroki instance.

Properties of kroki_formats

bpmnboolean

Enable or disable BPMN diagrams.


blockdiagboolean

Enable or disable BlockDiag diagrams.


excalidrawboolean

Enable or disable Excalidraw diagrams.


mermaidboolean

Enable or disable Mermaid diagrams.


kroki_urlstring

The Kroki instance URL for integration.


local_markdown_versioninteger

Increase this value when any cached Markdown should be invalidated.


lock_built_in_project_templates_enabledboolean

Enforce the built_in_project_templates_enabled setting for all groups. Premium and Ultimate only. Introduced in GitLab 19.0 with a feature flag named use_built_in_project_templates_enabled. Disabled by default. Generally available in GitLab 19.2. Feature flag use_built_in_project_templates_enabled removed.


lock_duo_custom_agents_enabledboolean

Indicates whether the custom agents enabled setting is enforced for all groups. Default: false. GitLab Self-Managed, Premium and Ultimate only. Introduced in GitLab 19.0.


lock_duo_custom_flows_enabledboolean

Indicates whether the custom flows enabled setting is enforced for all groups. Default: false. GitLab Self-Managed, Premium and Ultimate only. Introduced in GitLab 19.0.


lock_duo_external_agents_enabledboolean

Indicates whether the external agents enabled setting is enforced for all groups. Default: false. GitLab Self-Managed, Premium and Ultimate only. Introduced in GitLab 19.0.


lock_duo_features_enabledboolean

Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Introduced in GitLab 16.10. GitLab Self-Managed, Premium and Ultimate only.


lock_duo_remote_flows_enabledboolean

Indicates if the GitLab Duo remote flows enabled setting is enforced for all subgroups


lock_memberships_to_ldapstring


lock_memberships_to_samlboolean

Enforce a global lock on SAML group memberships.


lock_model_prompt_cache_enabledstring


lock_require_sha_for_mergestring


lock_resource_access_token_notify_inheritedstring


logging_field_dual_emit_targetinteger

Version to dual-emit alongside schema_version. Must be strictly greater than schema_version, or omit/null to disable. Can be one of: 1.


logging_field_schema_versioninteger

Logging field schema version (v0, v1, …). Cannot be downgraded. Can be one of: 0, 1.


login_recaptcha_protection_enabledboolean

Enable reCAPTCHA for login.

M–P application fields

mailgun_events_enabledboolean

Enable Mailgun event receiver.


mailgun_signing_keystring

The Mailgun HTTP webhook signing key for receiving events from webhook.


maintenance_modeboolean

When instance is in maintenance mode, non-administrative users can sign in with read-only access and make read-only API requests. Premium and Ultimate only.


maintenance_mode_messagestring

Message displayed when instance is in maintenance mode. Premium and Ultimate only.


make_profile_privateboolean

Flag indicating if users are permitted to make their profiles private


math_rendering_limits_enabledstring


maven_package_requests_forwardingboolean

Use repo.maven.apache.org as a default remote repository when the package is not found in the GitLab package registry for Maven. Premium and Ultimate only.


max_artifacts_content_include_sizestring


max_artifacts_sizeinteger

Maximum artifacts size in MB.


max_attachment_sizeinteger

Limit attachment size in MB.


max_decompressed_archive_sizeinteger

Maximum decompressed file size for imported archives in MB. Set to 0 for unlimited. Default is 25600.


max_export_sizeinteger

Maximum export size in MB. 0 for unlimited. Default = 0 (unlimited).


max_github_response_json_value_countinteger

Maximum allowed value count for GitHub API responses. 0 for unlimited. Count is an estimate based on the number of :, ,, { and [ occurrences in the response.


max_github_response_size_limitinteger

Maximum allowed GitHub API response size in MB. 0 for unlimited.


max_http_decompressed_sizeinteger

Maximum allowed size in MiB for Gzip-compressed HTTP responses from outbound requests after decompression. 0 for unlimited.


max_http_response_csv_structural_charsinteger

Maximum allowed object count in CSV HTTP responses from outbound requests. Count is an estimate based on the number of ,, ;, \t and \n occurrences in the response. Introduced in GitLab 18.4.


max_http_response_json_depthinteger

Maximum allowed nesting depth in JSON HTTP responses from outbound requests.


max_http_response_json_structural_charsinteger

Maximum allowed object count in JSON HTTP responses from outbound requests. Count is an estimate based on the number of :, ,, { and [ occurrences in the response. Introduced in GitLab 18.4.


max_http_response_size_limitinteger

Maximum allowed size in MiB for HTTP responses from outbound requests. 0 for unlimited. Applicable for integrations, importers and webhooks. Introduced in GitLab 18.4.


max_http_response_xml_structural_charsinteger

Maximum allowed object count in XML HTTP responses from outbound requests. Count is an estimate based on the number of <, and = occurrences in the response. Introduced in GitLab 18.4.


max_import_remote_file_sizeinteger

Maximum remote file size for imports from external object storages. Introduced in GitLab 16.3.


max_import_sizeinteger

Maximum import size in MB. 0 for unlimited. Default = 0 (unlimited).


max_login_attemptsinteger

Maximum number of sign-in attempts before locking out the user.


max_number_of_repository_downloadsinteger

Maximum number of unique repositories a user can download in the specified time period before they are banned. Default: 0, Maximum: 10,000 repositories. GitLab Self-Managed, Ultimate only.


max_number_of_repository_downloads_within_time_periodinteger

Reporting time period (in seconds). Default: 0, Maximum: 864000 seconds (10 days). GitLab Self-Managed, Ultimate only.


max_pages_custom_domains_per_projectinteger

Maximum number of GitLab Pages custom domains per project


max_pages_sizeinteger

Maximum size of pages repositories in MB.


max_personal_access_token_lifetimeinteger

Maximum allowable lifetime for access tokens in days. When left blank, default value of 365 is applied. When set, value must be 365 or less. When changed, existing access tokens with an expiration date beyond the maximum allowable lifetime are revoked. GitLab Self-Managed, Ultimate only. In GitLab 17.6 or later, the maximum lifetime limit can be extended to 400 days by enabling a feature flag named buffered_token_expiration_limit.


max_ssh_key_lifetimeinteger

Maximum allowable lifetime for SSH keys in days. GitLab Self-Managed, Ultimate only. In GitLab 17.6 or later, the maximum lifetime limit can be extended to 400 days by enabling a feature flag named buffered_token_expiration_limit.


max_terraform_state_size_bytesinteger

Maximum size in bytes of the Terraform state files. Set this to 0 for unlimited file size.


max_yaml_depthinteger

The maximum depth of nested CI/CD configuration added with the include keyword. Default: 100.


max_yaml_size_bytesinteger

The maximum size in bytes of a single CI/CD configuration file. Default: 2097152.


mcp_server_enabledstring


members_delete_limitstring


metrics_method_call_thresholdinteger

A method call is only tracked when it takes longer than the given amount of milliseconds.


minimum_language_server_versionstring

The minimum language server version to accept requests from


minimum_password_lengthinteger

Indicates whether passwords require a minimum length. Premium and Ultimate only.


mirror_availableboolean

Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring.


mirror_capacity_thresholdinteger

Minimum capacity to be available before scheduling more mirrors preemptively. Premium and Ultimate only.


mirror_max_capacityinteger

Maximum number of mirrors that can be synchronizing at the same time. Premium and Ultimate only.


mirror_max_delayinteger

Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. Premium and Ultimate only.


model_prompt_cache_enabledstring


namespace_aggregation_schedule_lease_duration_in_secondsinteger

Maximum duration (in seconds) between refreshes of namespace statistics (Default: 300)


notes_create_limitstring


notes_create_limit_allowlist_rawstring


notify_on_unknown_sign_inboolean

Enable sending notification if sign in from unknown IP address happens.


npm_package_requests_forwardingboolean

Use npmjs.org as a default remote repository when the package is not found in the GitLab package registry for npm. Premium and Ultimate only.


nuget_skip_metadata_url_validationboolean

Indicates whether to skip metadata URL validation for the NuGet package. Introduced in GitLab 17.0.


oauth_access_token_expires_ininteger

Maximum lifetime in seconds of all new OAuth access tokens issued by the instance. Minimum value: 300 (5 minutes). Default value: 7200 (2 hours). If blank or null, uses default value. Does not affect existing OAuth access tokens.


observability_backend_ssl_verification_enabledstring


organization_cluster_agent_authorization_enabledstring


outbound_local_requests_allowlist_rawstring


package_metadata_purl_typesarray of integers

Package registry metadata types to synchronize. GitLab Self-Managed, Ultimate only.


package_registry_allow_anyone_to_pull_optionboolean

Enable to allow anyone to pull from package registry visible and changeable.


package_registry_cleanup_policies_worker_capacityinteger

Number of workers assigned to the packages cleanup policies.


pages_domain_verification_enabledboolean

Require users to prove ownership of custom domains. Domain verification is an essential security measure for public GitLab sites. Users are required to demonstrate they control a domain before it is enabled.


pages_extra_deployments_default_expiry_secondsstring


pages_unique_domain_default_enabledboolean

Enable unique domains by default for Pages sites to avoid cookie sharing between sites under a given namespace. Default is true.


password_authentication_enabledboolean

Flag indicating if password authentication is enabled for the web interface


password_authentication_enabled_for_gitboolean

Enable authentication for Git over HTTP(S) via a GitLab account password. Default is true.


password_authentication_enabled_for_webboolean

Enable authentication for the web interface via a GitLab account password. Default is true.


password_lowercase_requiredboolean

Indicates whether passwords require at least one lowercase letter. Premium and Ultimate only.


password_number_requiredboolean

Indicates whether passwords require at least one number. Premium and Ultimate only.


password_symbol_requiredboolean

Indicates whether passwords require at least one symbol character. Premium and Ultimate only.


password_uppercase_requiredboolean

Indicates whether passwords require at least one uppercase letter. Premium and Ultimate only.


performance_bar_allowed_group_pathstring

Path of the group that is allowed to toggle the performance bar.


personal_access_token_prefixstring

Prefix for all generated personal access tokens.


pipeline_execution_policies_per_configuration_limitstring


pipeline_limit_per_project_user_shainteger

Maximum number of pipeline creation requests per minute per user and commit. Disabled by default.


pipeline_limit_per_userinteger

Maximum number of pipeline creation requests per minute per user.


plantuml_diagram_proxy_enabledboolean

Enable PlantUML diagram proxy. Default is false.


plantuml_enabledboolean

(If enabled, requires: plantuml_url) Enable PlantUML integration. Default is false.


plantuml_urlstring

The PlantUML instance URL for integration.


policy_store_experiment_enabledstring


polling_interval_multipliernumber

Interval multiplier used by endpoints that perform polling. Set to 0 to disable polling.


prevent_merge_requests_author_approvalboolean

Prevent approval by merge request creator (author)


prevent_merge_requests_committers_approvalboolean

Prevent approval by committers to merge requests


product_analytics_configurator_connection_stringstring


product_analytics_data_collector_hoststring


product_analytics_enabledstring


project_api_limitstring


project_download_export_limitstring


project_export_enabledboolean

Enable project export.


project_export_limitstring


project_import_limitstring


project_invited_groups_api_limitstring


project_jobs_api_rate_limitinteger

Maximum authenticated requests to /project/:id/jobs per minute. Introduced in GitLab 16.5. Default: 600.


project_members_api_limitstring


project_runner_token_expiration_intervalinteger

Set the expiration time (in seconds) of authentication tokens of newly registered project runners. Minimum value is 7200 seconds. For more information, see Automatically rotate authentication tokens.


project_secrets_limitinteger

Maximum number of secrets allowed per project in Secrets Manager. Default: 100. To disable the limit, set to 0. Ultimate only. Introduced in GitLab 18.9.


projects_api_limitstring


projects_api_rate_limit_unauthenticatedinteger

Maximum number of requests per 10 minutes per IP address for unauthenticated requests to the list all projects API. Default: 400. To disable throttling, set to 0.


prometheus_metrics_enabledboolean

Enable Prometheus metrics.


protected_ci_variablesboolean

CI/CD variables are protected by default.


protected_paths_for_get_request_rawstring


protected_paths_rawstring


push_event_activities_limitinteger

Maximum number of changes (branches or tags) in a single push above which a bulk push event is created. Setting to 0 does not disable throttling.


push_event_hooks_limitinteger

Maximum number of changes (branches or tags) in a single push above which webhooks and integrations are not triggered. Setting to 0 does not disable throttling. Default: 3.


pypi_package_requests_forwardingboolean

Use pypi.org as a default remote repository when the package is not found in the GitLab package registry for PyPI. Premium and Ultimate only.

Q–T application fields

rate_limiting_response_textstring

When rate limiting is enabled via the throttle_* settings, send this plain text response when a rate limit is exceeded. 'Retry later' is sent if this is blank.


raw_blob_request_limitinteger

Maximum number of requests per minute for each raw path (default is 300). Set to 0 to disable throttling.


raw_blob_request_limit_unauthenticatedinteger

Maximum number of unauthenticated requests per minute across all raw paths in a project (default is 800). Set to 0 to disable throttling.


recaptcha_enabledboolean

(If enabled, requires: recaptcha_private_key and recaptcha_site_key) Enable reCAPTCHA.


recaptcha_private_keystring

Private key for reCAPTCHA.


recaptcha_site_keystring

Site key for reCAPTCHA.


receive_max_input_sizeinteger

Maximum push size (MB).


receptive_cluster_agents_enabledboolean

Enable receptive mode for GitLab agents for Kubernetes.


reindexing_minimum_index_sizestring


reindexing_minimum_relative_bloat_sizestring


relation_export_batch_sizeinteger

The size of each batch when exporting batched relations. Introduced in GitLab 18.2.


remember_me_enabledboolean

Enable Remember me setting. Introduced in GitLab 16.0.


repository_checks_enabledboolean

GitLab periodically runs git fsck in all project and wiki repositories to look for silent disk corruption issues.


repository_size_limitinteger

Size limit per repository (MB). Premium and Ultimate only.


require_admin_approval_after_user_signupboolean

When enabled, any user that signs up for an account using the registration form is placed under a Pending approval state and has to be explicitly approved by an administrator.


require_admin_two_factor_authenticationboolean

Allow administrators to require 2FA for all administrators on the instance.


require_email_verification_on_account_lockedboolean

If true, all users on the instance must verify their identity after suspicious sign-in activity is detected.


require_personal_access_token_expiryboolean

When enabled, users must set an expiration date when creating a group or project access token, or a personal access token owned by a non-service account.


require_sha_for_mergestring


require_two_factor_authenticationboolean

(If enabled, requires: two_factor_grace_period) Require all users to set up two-factor authentication.


resource_access_token_notify_inheritedstring


root_moved_permanently_redirectionboolean

Return 301 Moved Permanently, rather than 302 Found, when redirecting the instance root to another site such as the configured home page URL.


rsa_key_restrictioninteger

The minimum allowed bit length of an uploaded RSA key. Default is 0 (no restriction). -1 disables RSA keys. Can be one of: 0, 1024, 2048, 3072, 4096, -1.


runner_jobs_endpoints_api_limitinteger

Maximum number of requests per minute per job token for requests to /jobs/* requests to the runner jobs API endpoints. Default: 200. To disable throttling, set to 0. Introduced in GitLab 18.5.


runner_jobs_patch_trace_api_limitinteger

Maximum number of requests per minute per runner token for requests to the PATCH /jobs/:id/trace runner jobs API endpoint. Default: 2000. To disable throttling, set to 0. Introduced in GitLab 18.5.


runner_jobs_request_api_limitinteger

Maximum number of requests per minute per runner token for requests to the /jobs/request runner jobs API endpoint. Default: 2000. To disable throttling, set to 0. Introduced in GitLab 18.5.


runner_token_expiration_intervalinteger

Set the expiration time (in seconds) of authentication tokens of newly registered instance runners. Minimum value is 7200 seconds. For more information, see Automatically rotate authentication tokens.


scan_execution_policies_action_limitinteger

Maximum number of actions per scan execution policy. Default: 0. Maximum: 20


scan_execution_policies_per_configuration_limitstring


scan_execution_policies_schedule_limitinteger

Maximum number of type: schedule rules per scan execution policy. Default: 0. Maximum: 20


search_max_docs_denominatorstring


search_max_shard_size_gbstring


search_min_docs_before_rolloverstring


search_rate_limitinteger

Maximum number of requests per minute for performing a search while authenticated. Default: 30. To disable throttling, set to 0.


search_rate_limit_allowlist_rawstring


search_rate_limit_unauthenticatedinteger

Maximum number of requests per minute for performing a search while unauthenticated. Default: 10. To disable throttling, set to 0.


secret_detection_revocation_token_types_urlstring

The configured Secret Detection Revocation Token Types instance URL


secret_detection_service_auth_tokenstring


secret_detection_service_urlstring


secret_detection_token_revocation_enabledboolean

Enable Secret Detection Token Revocation


secret_detection_token_revocation_tokenstring


secret_detection_token_revocation_urlstring

The configured Secret Detection Token Revocation instance URL


secret_push_protection_availableboolean

Allow projects to enable secret push protection. This does not enable secret push protection. Ultimate only.


security_approval_policies_limitinteger

Maximum number of active merge request approval policies per security policy project. Default: 5. Maximum: 20


security_mr_report_cache_lifetime_minutesinteger

Number of minutes to cache security reports on merge requests (10-60). Default: 10. Premium and Ultimate only. Introduced in GitLab 18.10.


security_policy_global_group_approvers_enabledboolean

Whether to look up merge request approval policy approval groups globally or within project hierarchies.


security_scan_stale_after_daysinteger

Number of days to retain security scan data before purging. Must be between 7 and 90 days. Default: 30 days for GitLab.com, 90 days for self-managed. Premium and Ultimate only. Introduced in GitLab 18.9.


security_txt_contentstring

Public security contact information. Introduced in GitLab 16.7.


sentry_clientside_dsnstring


sentry_clientside_traces_sample_ratestring


sentry_dsnstring


sentry_enabledstring


sentry_environmentstring


service_access_tokens_expiration_enforcedboolean

Flag to indicate if token expiry date can be optional for service account users. Premium and Ultimate only.


session_expire_delayinteger

Session duration in minutes. GitLab restart is required to apply changes.


session_expire_from_initboolean

If true, sessions expire a number of minutes after the session was created rather than after the last activity. This lifetime of a session is defined by session_expire_delay.


shared_runners_enabledboolean

(If enabled, requires: shared_runners_text and shared_runners_minutes) Enable instance runners for new projects.


shared_runners_minutesinteger

Set the maximum number of compute minutes that a group can use on instance runners per month. Premium and Ultimate only.


shared_runners_textstring

Instance runners text.


show_migrate_from_jenkins_bannerboolean

Enable Jenkins migration banner


sidekiq_job_limiter_compression_threshold_bytesinteger

The threshold in bytes at which Sidekiq jobs are compressed before being stored in Redis. Default: 100,000 bytes (100 KB).


sidekiq_job_limiter_limit_bytesinteger

The threshold in bytes at which Sidekiq jobs are rejected. Default: 0 bytes (doesn't reject any job).


sidekiq_job_limiter_modestring

track or compress. Sets the behavior for Sidekiq job size limits. Default: 'compress'.


sign_in_restrictionsobject

Application sign-in restrictions.

Properties of sign_in_restrictions

disable_password_authentication_for_users_with_sso_identitiesboolean

Require users with one or more associated SSO identities to sign in through SSO instead of using password authentication.


root_moved_permanently_redirectionboolean

Return 301 Moved Permanently, rather than 302 Found, when redirecting the instance root to another site such as the configured home page URL.


session_expire_from_initboolean

Expire sessions after the configured lifetime measured from session creation, even while a session remains active. These sessions cannot be extended.


require_minimum_email_based_otp_for_users_with_passwordsboolean

Require users who sign in with a password to use at least email-based OTP. Email OTP is optional when another two-factor method is enabled. Requires email_otp_enabled.


email_otp_enabledboolean

Make email-based one-time passwords available as a multi-factor authentication method. Requires working outbound email delivery.


signup_enabledboolean

Enable registration. Default is true.


silent_admin_exports_enabledboolean

Enable Silent admin exports. Default is false.


silent_mode_enabledboolean

Enable Silent mode. Default is false.


slack_app_enabledboolean

(If enabled, requires: slack_app_id, slack_app_secret, slack_app_signing_secret, and slack_app_verification_token) Enable the GitLab for Slack app.


slack_app_idstring

The client ID of the GitLab for Slack app.


slack_app_secretstring

The client secret of the GitLab for Slack app. Used for authenticating OAuth requests from the app.


slack_app_signing_secretstring

The signing secret of the GitLab for Slack app. Used for authenticating API requests from the app.


snippet_size_limitinteger

Maximum snippet content size in bytes. Default: 52428800 Bytes (50 MB).


snowplow_app_idstring

The Snowplow site name / application ID. (for example, gitlab)


snowplow_collector_hostnamestring

The Snowplow collector hostname. (for example, snowplowprd.trx.gitlab.net)


snowplow_cookie_domainstring

The Snowplow cookie domain. (for example, .gitlab.com)


snowplow_database_collector_hostnamestring

The Snowplow collector for database events hostname. (for example, db-snowplow.trx.gitlab.net)


snowplow_enabledboolean

Enable snowplow tracking.


sourcegraph_enabledboolean

Enables Sourcegraph integration. Default is false. If enabled, requires sourcegraph_url.


sourcegraph_public_onlyboolean

Blocks Sourcegraph from being loaded on private and internal projects. Default is true.


sourcegraph_urlstring

The Sourcegraph instance URL for integration.


spam_check_api_keystring

API key used by GitLab for accessing the Spam Check service endpoint.


spam_check_endpoint_enabledboolean

Enables spam checking using external Spam Check API endpoint. Default is false.


spam_check_endpoint_urlstring

URL of the external Spamcheck service endpoint. Valid URI schemes are grpc or tls. Specifying tls forces communication to be encrypted.


static_objects_external_storage_auth_tokenstring

Authentication token for the external storage linked in static_objects_external_storage_url.


static_objects_external_storage_urlstring

URL to an external storage for repository static objects.


suggest_pipeline_enabledboolean

Enable pipeline suggestion banner.


terminal_max_session_timeinteger

Maximum time for web terminal websocket connection (in seconds). Set to 0 for unlimited time.


termsstring

(Required by: enforce_terms) Markdown content for the ToS.


terraform_state_encryption_enabledboolean

Enable encryption for Terraform state files


throttle_authenticated_api_enabledboolean

(If enabled, requires: throttle_authenticated_api_period_in_seconds and throttle_authenticated_api_requests_per_period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots).


throttle_authenticated_api_period_in_secondsinteger

Rate limit period (in seconds).


throttle_authenticated_api_requests_per_periodinteger

Maximum requests per period per user.


throttle_authenticated_deprecated_api_enabledstring


throttle_authenticated_deprecated_api_period_in_secondsstring


throttle_authenticated_deprecated_api_requests_per_periodstring


throttle_authenticated_files_api_enabledstring


throttle_authenticated_files_api_period_in_secondsstring


throttle_authenticated_files_api_requests_per_periodstring


throttle_authenticated_git_http_enabledboolean

If true, enforces the authenticated Git HTTP request rate limit. Default value: false.


throttle_authenticated_git_http_period_in_secondsinteger

Rate limit period in seconds. throttle_authenticated_git_http_enabled must be true. Default value: 3600.


throttle_authenticated_git_http_requests_per_periodinteger

Maximum requests per period per user. throttle_authenticated_git_http_enabled must be true. Default value: 3600.


throttle_authenticated_git_lfs_enabledstring


throttle_authenticated_git_lfs_period_in_secondsstring


throttle_authenticated_git_lfs_requests_per_periodstring


throttle_authenticated_packages_api_enabledboolean

(If enabled, requires: throttle_authenticated_packages_api_period_in_seconds and throttle_authenticated_packages_api_requests_per_period) Enable authenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View package registry rate limits for more details.


throttle_authenticated_packages_api_period_in_secondsinteger

Rate limit period (in seconds). View package registry rate limits for more details.


throttle_authenticated_packages_api_requests_per_periodinteger

Maximum requests per period per user. View package registry rate limits for more details.


throttle_authenticated_web_enabledboolean

(If enabled, requires: throttle_authenticated_web_period_in_seconds and throttle_authenticated_web_requests_per_period) Enable authenticated web request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots).


throttle_authenticated_web_period_in_secondsinteger

Rate limit period (in seconds).


throttle_authenticated_web_requests_per_periodinteger

Maximum requests per period per user.


throttle_incident_management_notification_enabledstring


throttle_incident_management_notification_per_periodstring


throttle_incident_management_notification_period_in_secondsstring


throttle_protected_paths_enabledstring


throttle_protected_paths_period_in_secondsstring


throttle_protected_paths_requests_per_periodstring


throttle_unauthenticated_api_enabledboolean

(If enabled, requires: throttle_unauthenticated_api_period_in_seconds and throttle_unauthenticated_api_requests_per_period) Enable unauthenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots).


throttle_unauthenticated_api_period_in_secondsinteger

Rate limit period in seconds.


throttle_unauthenticated_api_requests_per_periodinteger

Maximum requests per period per IP.


throttle_unauthenticated_deprecated_api_enabledstring


throttle_unauthenticated_deprecated_api_period_in_secondsstring


throttle_unauthenticated_deprecated_api_requests_per_periodstring


throttle_unauthenticated_files_api_enabledstring


throttle_unauthenticated_files_api_period_in_secondsstring


throttle_unauthenticated_files_api_requests_per_periodstring


throttle_unauthenticated_git_http_enabledboolean

If true, enforces the unauthenticated Git HTTP request rate limit. Default value: false.


throttle_unauthenticated_git_http_period_in_secondsinteger

Rate limit period in seconds. throttle_unauthenticated_git_http_enabled must be true. Default value: 3600.


throttle_unauthenticated_git_http_requests_per_periodinteger

Maximum requests per period per IP. throttle_unauthenticated_git_http_enabled must be true. Default value: 3600.


throttle_unauthenticated_packages_api_enabledboolean

(If enabled, requires: throttle_unauthenticated_packages_api_period_in_seconds and throttle_unauthenticated_packages_api_requests_per_period) Enable unauthenticated API request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots). View package registry rate limits for more details.


throttle_unauthenticated_packages_api_period_in_secondsinteger

Rate limit period (in seconds). View package registry rate limits for more details.


throttle_unauthenticated_packages_api_requests_per_periodinteger

Maximum requests per period per user. View package registry rate limits for more details.


throttle_unauthenticated_web_enabledboolean

(If enabled, requires: throttle_unauthenticated_web_period_in_seconds and throttle_unauthenticated_web_requests_per_period) Enable unauthenticated web request rate limit. Helps reduce request volume (for example, from crawlers or abusive bots).


throttle_unauthenticated_web_period_in_secondsinteger

Rate limit period in seconds.


throttle_unauthenticated_web_requests_per_periodinteger

Maximum requests per period per IP.


time_tracking_limit_to_hoursboolean

Limit display of time tracking units to hours. Default is false.


tool_approval_for_session_availabilitystring


tool_approval_for_session_enabledstring


top_level_group_creation_enabledboolean

Allows a user to create top-level-groups. Default is true.


two_factor_grace_periodinteger

Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication.

U–Z application fields

unconfirmed_users_delete_after_daysinteger

Specifies how many days after account creation to delete users who have not confirmed their email. Only applicable if delete_unconfirmed_users is set to true. Must be 1 or greater. Default is 7. Introduced in GitLab 16.1. GitLab Self-Managed, Premium and Ultimate only.


unique_ips_limit_enabledboolean

(If enabled, requires: unique_ips_limit_per_user and unique_ips_limit_time_window) Limit sign in from multiple IPs.


unique_ips_limit_per_userinteger

Maximum number of IPs per user.


unique_ips_limit_time_windowinteger

How many seconds an IP is counted towards the limit.


update_runner_versions_enabledboolean

Fetch GitLab Runner release version data from GitLab.com. For more information, see how to determine which runners need to be upgraded.


updating_name_disabled_for_usersboolean

Disable user profile name changes.


usage_ping_enabledboolean

Every week GitLab reports license usage back to GitLab, Inc.


usage_ping_features_enabledstring


usage_ping_generation_enabledstring


use_clickhouse_for_analyticsboolean

Enables ClickHouse as a data source for analytics reports. ClickHouse must be configured for this setting to take effect. Available on Premium and Ultimate only.


user_contributed_projects_api_limitstring


user_deactivation_emails_enabledboolean

Send an email to users upon account deactivation.


user_default_externalboolean

Newly registered users are external by default.


user_default_internal_regexstring

Specify an email address regex pattern to identify default internal users.


user_defaults_to_private_profileboolean

Newly created users have private profile by default. Defaults to false.


user_oauth_applicationsboolean

Allow users to register any application to use GitLab as an OAuth provider. This setting does not affect group-level OAuth applications.


user_projects_api_limitstring


user_show_add_ssh_key_messageboolean

When set to false disable the You won't be able to pull or push repositories via SSH until you add an SSH key to your profile warning shown to users with no uploaded SSH key.


user_starred_projects_api_limitstring


users_api_limit_followersinteger

Maximum number of requests per minute, per user or IP address. Default: 100. Set to 0 to disable limits. Introduced in GitLab 17.10.


users_api_limit_followinginteger

Maximum number of requests per minute, per user or IP address. Default: 100. Set to 0 to disable limits. Introduced in GitLab 17.10.


users_api_limit_gpg_keyinteger

Maximum number of requests per minute, per user or IP address. Default: 120. Set to 0 to disable limits. Introduced in GitLab 17.10.


users_api_limit_gpg_keysinteger

Maximum number of requests per minute, per user or IP address. Default: 120. Set to 0 to disable limits. Introduced in GitLab 17.10.


users_api_limit_ssh_keystring


users_api_limit_ssh_keysstring


users_api_limit_statusinteger

Maximum number of requests per minute, per user or IP address. Default: 240. Set to 0 to disable limits. Introduced in GitLab 17.10.


users_get_by_id_limitinteger

Maximum number of calls to the /users/:id API per 10 minutes per user. Set to 0 for unlimited requests.


users_get_by_id_limit_allowlist_rawstring


vac_project_ids_rawstring


version_check_enabledboolean

Let GitLab inform you when an update is available.


virtual_registries_endpoints_api_limitinteger

Maximum number of requests on virtual registries endpoints, per IP address, per 15 seconds. Default: 4000. To disable limits, set to 0. Introduced in GitLab 17.11.


vscode_extension_marketplace_enabledstring


vscode_extension_marketplace_extension_host_domainstring


vscode_extension_marketplace_single_origin_fallback_enabledstring


vulnerability_management_policies_per_configuration_limitstring


whats_new_variantstring

What's new variant, possible values: all_tiers, current_tier, and disabled. Can be one of: all_tiers, current_tier, disabled.


wiki_asciidoc_allow_uri_includesboolean

Allow URI includes for AsciiDoc wiki pages


wiki_page_max_content_bytesinteger

Maximum wiki page content size in bytes. Default: 5242880 Bytes (5 MB). The minimum value is 1024 bytes.


zoekt_auto_index_root_namespacestring


zoekt_cache_responsestring


zoekt_cpu_to_tasks_ratiostring


zoekt_default_number_of_replicasstring


zoekt_force_reindexing_percentagestring


zoekt_indexed_file_size_limitstring


zoekt_indexing_enabledstring


zoekt_indexing_parallelismstring


zoekt_indexing_pausedstring


zoekt_indexing_timeoutstring


zoekt_lost_node_thresholdstring


zoekt_max_projects_for_legacy_searchstring


zoekt_max_restarts_15mstring


zoekt_maximum_filesstring


zoekt_rollout_batch_sizestring


zoekt_rollout_retry_intervalstring


zoekt_search_enabledstring


zoekt_trigram_maxstring

Additional structured GitLab application settings

GitLab's application-settings endpoint also defines the object and array properties below.

asset_proxy_allowlistarray of strings

Assets that match these domains are not proxied. Wildcards allowed. Your GitLab installation URL is automatically allowlisted. GitLab restart is required to apply changes.


default_branch_protection_defaultsobject

Default access rules for newly created default branches.

Properties of default_branch_protection_defaults

allowed_to_pusharray of objects

Access levels allowed to push to a default branch.

Properties of each allowed_to_push entry

access_levelintegerRequired

 Can be one of: 0 (no access), 30 (Developer), 40 (Maintainer), or 60 (Administrator).


allowed_to_mergearray of objects

Access levels allowed to merge into a default branch.

Properties of each allowed_to_merge entry

access_levelintegerRequired

 Can be one of: 0 (no access), 30 (Developer), 40 (Maintainer), or 60 (Administrator).


allow_force_pushboolean

Allow force pushes by users who have push access.


code_owner_approval_requiredboolean

Require approval from Code Owners.


developer_can_initial_pushboolean

Allow a Developer to make the initial push to an empty repository.


dependency_management_settingsobject

Dependency management settings. Ultimate only.

Properties of dependency_management_settings

security_update_scheduler_max_concurrencyinteger

Maximum security-update scheduler jobs that can run concurrently across the Sidekiq fleet. Minimum: 0. Default: 30. Maximum: 200. Set to 0 to pause scheduling.


disabled_oauth_sign_in_sourcesarray of strings

Disabled OAuth sign-in sources.


domain_allowlistarray of strings

Force people to use only corporate emails when creating accounts. Default is null, meaning there is no restriction.


domain_denylistarray of strings

Users with email addresses that match these domains cannot sign up. Wildcards allowed. Enter multiple entries on separate lines. For example: domain.com, *.domain.com.


duo_namespace_access_rulesarray of objects

AI entity access rules controlling Duo feature access.

Properties of each duo_namespace_access_rules entry

through_namespaceobject

Namespace through which feature access is granted.

Properties of through_namespace

idintegerRequired

 Namespace ID.


namestring

 Namespace name.


full_pathstring

 Full namespace path.


featuresarray of stringsRequired

Duo features accessible through the namespace.


elasticsearch_namespace_idsarray of integers

The namespaces to index via Elasticsearch if elasticsearch_limit_indexing is enabled. Premium and Ultimate only.


elasticsearch_project_idsarray of integers

The projects to index via Elasticsearch if elasticsearch_limit_indexing is enabled. Premium and Ultimate only.


git_rate_limit_users_alertlistarray of integers

List of user IDs that are emailed when the Git abuse rate limit is exceeded. Default: [], Maximum: 100 user IDs. GitLab Self-Managed, Ultimate only.


git_rate_limit_users_allowlistarray of strings

List of usernames excluded from Git anti-abuse rate limits. Default: [], Maximum: 100 usernames. GitLab Self-Managed, Ultimate only.


iframe_rendering_allowlistarray of strings

List of allowed iframe src host[:port] entries used for Content Security Policy and sanitization.


import_sourcesarray of strings

Sources to allow project import from, possible values: github, bitbucket, bitbucket_server, fogbugz, git, gitlab_project, gitea, and manifest.


outbound_local_requests_whitelistarray of strings

Define a list of trusted domains or IP addresses to which local requests are allowed when local requests for webhooks and integrations are disabled. Currently, this attribute can not be updated. For details, see issue 569729.


repository_storages_weightedobject

Maps repository storage names from gitlab.yml to weights. New projects are assigned by weighted random selection.

Properties of repository_storages_weighted

<storage_name>integer

Weight for the named repository storage. Minimum: 0. Maximum: 100.


resource_usage_limitsobject

JSON object defining resource-usage limits enforced in Sidekiq workers. GitLab does not publish fixed child properties for this object. GitLab.com only.

Shape of resource_usage_limits

GitLab accepts a JSON object but does not define named child properties in the Application settings API schema.


restricted_visibility_levelsarray of strings

Selected levels cannot be used by non-Administrator users for groups, projects or snippets. Can take private, internal and public as a parameter. Default is null which means there is no restriction.Changed in GitLab 16.4: cannot select levels that are set as default_project_visibility and default_group_visibility.


valid_runner_registrarsarray of strings

List of types which are allowed to register a GitLab Runner. Can be [], ['group'], ['project'] or ['group', 'project'].


vscode_extension_marketplaceobject

Settings for VS Code Extension Marketplace. Used by Web IDE and Workspaces.

Properties of vscode_extension_marketplace

enabledboolean

Enable the VS Code Extension Marketplace for Web IDE and Workspaces. Default: false.


extension_host_domainstring

Wildcard domain, optionally with a port, for the server hosting Web IDE VS Code workbench assets. Default: cdn.web-ide.gitlab-static.net.


presetstring

Can be one of: open_vsx or custom. Default: open_vsx.


custom_valuesobject

Marketplace URLs. Required when preset is custom.

Properties of custom_values

service_urlstring (HTTP or HTTPS URL)Required

 Marketplace service URL.


item_urlstring (HTTP or HTTPS URL)Required

 Marketplace item URL.


resource_url_templatestring (HTTP or HTTPS URL)Required

 Template used to resolve extension resource URLs.


single_origin_fallback_enabledboolean

Use the single-origin fallback when the extension-host domain is unreachable. Default: true.

Example:
gitlab_settings_instance:
  application:
    account:
      signup_enabled: false
    defaults:
      default_branch_name: main
...

system_hooksarray of objects

Instance-level system hooks with full lifecycle management. The cross-scope behavior and examples are documented in System Hooks.

Properties of each system_hooks entry

idinteger

Optional server-assigned lookup identity. Lookup-only; omit when creating a hook.


namestring

Hook display name and preferred identity. When id is omitted, declare name or url.


urlstringRequired on create

Destination URL and fallback identity when name is absent. Treated as a private value.


descriptionstring

Human-readable hook description.


tokenstring

Write-only shared secret sent with hook deliveries.


signing_tokenstring

Write-only payload-signing secret.


enable_ssl_verificationboolean

Verify the destination's TLS certificate.


push_eventsboolean

Deliver the hook for repository push events.


push_events_branch_filterstring

Restrict push deliveries to matching branches.


branch_filter_strategystring

Can be one of: wildcard, regex, all_branches.


tag_push_eventsboolean

Deliver the hook when tags are pushed.


merge_requests_eventsboolean

Deliver the hook for merge-request events.


repository_update_eventsboolean

Deliver the hook when a repository is updated.


custom_webhook_templatestring

Custom template used to construct the request payload.


url_variablesobject or array

Write-only URL variables in map form, map-with-state form, or {key, value, state} list form.

Properties of each url_variables entry

keystringRequired in list form

Child identity. In map form, the map key supplies it.


valuestringRequired when state is present

Write-only value. It is required when this entry's state is present (the default). Omit it when state: absent; deletion uses the entry's key.


force_secret_updateboolean

Rewrite the value when no readable child attribute drifted. Default: false.


statestring

Can be one of: present, absent. Default: present.


custom_headersobject or array

Write-only request headers in map form, map-with-state form, or {key, value, state} list form.

Properties of each custom_headers entry

keystringRequired in list form

Child identity. In map form, the map key supplies it.


valuestringRequired when state is present

Write-only value. It is required when this entry's state is present (the default). Omit it when state: absent; deletion uses the entry's key.


force_secret_updateboolean

Rewrite the value when no readable child attribute drifted. Default: false.


statestring

Can be one of: present, absent. Default: present.


force_secret_updateboolean

Force rotation of declared write-only secrets when no readable field drifted. Default: false.


statestring

Can be one of: present, absent. Default: present.

Example:
gitlab_settings_instance:
  system_hooks:
    - name: audit-forwarder
      url: https://hooks.example.com/gitlab/system
...

Organization settings

gitlab_settings_instance.organization converges one existing GitLab organization's settings. This surface is GraphQL-only (backends: [graphql]) and converge-only: it updates one existing organization and never creates or deletes it (structural lifecycle is out of scope). Available organization settings are listed below.

Properties of gitlab_settings_instance.organization

pathstring

Organization path. Declare exactly one of path or id.


idstring

Organization GraphQL id. Declare exactly one of path or id; declaring both or neither is a named failure.


namestring

Organization display name; reconciles with drift detection.


descriptionstring

Organization description; reconciles with drift detection.


work_item_typesarray of objects

Organization-scoped custom work item types (GitLab 19.1+ rejects group-level custom-type creation by name). Each entry declares name (required identity), icon_name, and state (present/absent). GitLab exposes no hard delete: declared absence archives the type, and archived rows are excluded from the read so absence stays convergent. Built-in type names (Issue, Incident, Task, …) are lock-guarded.

gitlab_settings_instance:
  organization:
    path: gid://gitlab/Organizations::Organization/1
    name: Acme Platform
    description: The platform engineering organization
    work_item_types:
      - name: Deployment
        icon_name: work-item-feature

Secrets and private URLs inside application settings

A number of application fields are write-only secrets (for example elasticsearch_password, slack_app_secret, akismet_api_key): GitLab never returns them, so they are carried on writes but never compared or displayed, and an existing value is rewritten only when the declaring section sets force_secret_update: true. A further set of URL fields that can embed credentials (for example sentry_dsn, elasticsearch_url) are private values: fingerprinted for comparison and never shown in diffs. The classifications live in the resource policy (APPLICATION_SECRET_FIELDS, APPLICATION_SENSITIVE_URL_FIELDS) and apply automatically — declare the fields normally.

Restore interplay

When gitlab_settings_restore_file points at a snapshot captured by the discover entry point, the applied value for each declared application field is taken from the snapshot instead of the declared value. Restore never applies snapshot fields you did not declare — declare the fields you want restored.

Restore fails closed, with the field named, in three cases rather than guessing: the restore file is set but no application fields are declared (nothing scopes the restore, so an apply declaring only groups or projects fails, it does not no-op); the snapshot is missing a declared field; or the snapshot holds null for a declared field — it had no value at capture time, so the original cannot be proven. Converge a baseline before snapshotting, the same order an operator uses anyway.