Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2024-10-01 18:11:50 +00:00
parent 39e728a681
commit cb49a8c472
568 changed files with 7885 additions and 357 deletions

View File

@ -167,3 +167,11 @@ db:rollback geo:
script:
- bundle exec rake db:migrate:geo VERSION=20170627195211
- bundle exec rake db:migrate:geo
db:docs-up-to-date:
extends:
- .db-job-base
- .db:rules:docs-up-to-date
script:
- bundle exec rake gitlab:db:dictionary:generate
- git diff --exit-code db/docs

View File

@ -358,6 +358,10 @@
.lib-gitlab-patterns: &lib-gitlab-patterns
- "{,ee/,jh/}lib/{,ee/,jh/}gitlab/**/*"
.db-docs-patterns: &db-docs-patterns
- "{,ee/,jh/}{app/models}/**/*"
- "db/docs/**/*"
# Patterns to match pure Ruby code
.ruby-patterns: &ruby-patterns
- "**/Rakefile"
@ -930,6 +934,19 @@
- !reference [".rails:rules:predictive-default-rules", rules]
- !reference [".rails:rules:system:predictive-default-rules", rules]
######################
# DB rules #
######################
.db:rules:docs-up-to-date:
rules:
- <<: *if-not-ee
when: never
- <<: *if-merge-request-labels-pipeline-expedite
when: never
- <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request
changes: *db-docs-patterns
################
# Shared rules #
################

View File

@ -45,7 +45,6 @@ Gitlab/NoFindInWorkers:
- 'app/workers/merge_worker.rb'
- 'app/workers/namespaces/root_statistics_worker.rb'
- 'app/workers/namespaces/schedule_aggregation_worker.rb'
- 'app/workers/onboarding/user_added_worker.rb'
- 'app/workers/packages/go/sync_packages_worker.rb'
- 'app/workers/packages/npm/deprecate_package_worker.rb'
- 'app/workers/project_destroy_worker.rb'

View File

@ -2,12 +2,6 @@
# Cop supports --autocorrect.
Layout/LineEndStringConcatenationIndentation:
Exclude:
- 'app/components/diffs/overflow_warning_component.rb'
- 'app/controllers/concerns/controller_with_cross_project_access_check.rb'
- 'app/controllers/import/github_controller.rb'
- 'app/controllers/projects/google_cloud/databases_controller.rb'
- 'app/controllers/projects/merge_requests/conflicts_controller.rb'
- 'app/graphql/mutations/achievements/update_user_achievement_priorities.rb'
- 'app/graphql/mutations/award_emojis/toggle.rb'
- 'app/graphql/mutations/boards/issues/issue_move_list.rb'
- 'app/graphql/mutations/ci/job_token_scope/add_project.rb'

View File

@ -3506,7 +3506,6 @@ RSpec/NamedSubject:
- 'spec/workers/object_pool/destroy_worker_spec.rb'
- 'spec/workers/object_pool/join_worker_spec.rb'
- 'spec/workers/object_storage/delete_stale_direct_uploads_worker_spec.rb'
- 'spec/workers/onboarding/issue_created_worker_spec.rb'
- 'spec/workers/packages/cleanup/delete_orphaned_dependencies_worker_spec.rb'
- 'spec/workers/packages/cleanup_package_file_worker_spec.rb'
- 'spec/workers/packages/debian/cleanup_dangling_package_files_worker_spec.rb'

View File

@ -178,10 +178,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
- 'app/workers/object_pool/join_worker.rb'
- 'app/workers/object_pool/schedule_join_worker.rb'
- 'app/workers/object_storage/migrate_uploads_worker.rb'
- 'app/workers/onboarding/issue_created_worker.rb'
- 'app/workers/onboarding/pipeline_created_worker.rb'
- 'app/workers/onboarding/progress_worker.rb'
- 'app/workers/onboarding/user_added_worker.rb'
- 'app/workers/packages/cleanup/execute_policy_worker.rb'
- 'app/workers/packages/cleanup_package_file_worker.rb'
- 'app/workers/packages/cleanup_package_registry_worker.rb'

View File

@ -1,13 +1,4 @@
import Vue from 'vue';
import { __ } from '~/locale';
import addExtraTokensForMergeRequests from 'ee_else_ce/filtered_search/add_extra_tokens_for_merge_requests';
import { createFilteredSearchTokenKeys } from '~/filtered_search/issuable_filtered_search_token_keys';
import { FILTERED_SEARCH } from '~/filtered_search/constants';
import initFilteredSearch from '~/pages/search/init_filtered_search';
import { initNewResourceDropdown } from '~/vue_shared/components/new_resource_dropdown/init_new_resource_dropdown';
import { RESOURCE_TYPE_MERGE_REQUEST } from '~/vue_shared/components/new_resource_dropdown/constants';
import searchUserProjectsWithMergeRequestsEnabled from '~/vue_shared/components/new_resource_dropdown/graphql/search_user_projects_with_merge_requests_enabled.query.graphql';
import ActionDropdown from '~/merge_request_dashboard/components/action_dropdown.vue';
import { initMergeRequestsDashboard } from './page';
const el = document.getElementById('js-merge-request-dashboard');
@ -18,41 +9,5 @@ if (el) {
initMergeRequestDashboard(el);
});
} else {
const actionDropdownEl = document.querySelector('.js-action-dropdown');
if (actionDropdownEl) {
// eslint-disable-next-line no-new
new Vue({
el: actionDropdownEl,
provide: {
switchDashboardPath: actionDropdownEl.dataset.switchdashboardpath,
dashboardLinkText: __('Switch to new dashboard'),
experimentEnabled: false,
},
render(createElement) {
return createElement(ActionDropdown);
},
});
}
const IssuableFilteredSearchTokenKeys = createFilteredSearchTokenKeys({
disableReleaseFilter: true,
});
addExtraTokensForMergeRequests(IssuableFilteredSearchTokenKeys, {
disableBranchFilter: true,
disableReleaseFilter: true,
disableEnvironmentFilter: true,
});
initFilteredSearch({
page: FILTERED_SEARCH.MERGE_REQUESTS,
filteredSearchTokenKeys: IssuableFilteredSearchTokenKeys,
useDefaultState: true,
});
initNewResourceDropdown({
resourceType: RESOURCE_TYPE_MERGE_REQUEST,
query: searchUserProjectsWithMergeRequestsEnabled,
});
initMergeRequestsDashboard();
}

View File

@ -0,0 +1,50 @@
import Vue from 'vue';
import { __ } from '~/locale';
import addExtraTokensForMergeRequests from 'ee_else_ce/filtered_search/add_extra_tokens_for_merge_requests';
import { createFilteredSearchTokenKeys } from '~/filtered_search/issuable_filtered_search_token_keys';
import { FILTERED_SEARCH } from '~/filtered_search/constants';
import initFilteredSearch from '~/pages/search/init_filtered_search';
import { initNewResourceDropdown } from '~/vue_shared/components/new_resource_dropdown/init_new_resource_dropdown';
import { RESOURCE_TYPE_MERGE_REQUEST } from '~/vue_shared/components/new_resource_dropdown/constants';
import searchUserProjectsWithMergeRequestsEnabled from '~/vue_shared/components/new_resource_dropdown/graphql/search_user_projects_with_merge_requests_enabled.query.graphql';
import ActionDropdown from '~/merge_request_dashboard/components/action_dropdown.vue';
export const initMergeRequestsDashboard = () => {
const actionDropdownEl = document.querySelector('.js-action-dropdown');
if (actionDropdownEl) {
// eslint-disable-next-line no-new
new Vue({
el: actionDropdownEl,
provide: {
switchDashboardPath: actionDropdownEl.dataset.switchdashboardpath,
dashboardLinkText: __('Switch to new dashboard'),
experimentEnabled: false,
},
render(createElement) {
return createElement(ActionDropdown);
},
});
}
const IssuableFilteredSearchTokenKeys = createFilteredSearchTokenKeys({
disableReleaseFilter: true,
});
addExtraTokensForMergeRequests(IssuableFilteredSearchTokenKeys, {
disableBranchFilter: true,
disableReleaseFilter: true,
disableEnvironmentFilter: true,
});
initFilteredSearch({
page: FILTERED_SEARCH.MERGE_REQUESTS,
filteredSearchTokenKeys: IssuableFilteredSearchTokenKeys,
useDefaultState: true,
});
initNewResourceDropdown({
resourceType: RESOURCE_TYPE_MERGE_REQUEST,
query: searchUserProjectsWithMergeRequestsEnabled,
});
};

View File

@ -0,0 +1,3 @@
import { initMergeRequestsDashboard } from '../merge_requests/page';
initMergeRequestsDashboard();

View File

@ -4,10 +4,6 @@
width: 640px;
}
.rule-control {
width: 240px;
}
.rule-close-icon {
right: 1rem;
}

View File

@ -55,7 +55,7 @@ module Diffs
def message_text
_(
"For a faster browsing experience, only %{strong_open}%{display_size} of %{real_size}%{strong_close} " \
"files are shown. Download one of the files below to see all changes."
"files are shown. Download one of the files below to see all changes."
)
end
end

View File

@ -17,7 +17,7 @@ module ControllerWithCrossProjectAccessCheck
rejection_message = _(
"This page is unavailable because you are not allowed to read information "\
"across multiple projects."
"across multiple projects."
)
access_denied!(rejection_message)
end

View File

@ -6,7 +6,7 @@ module IssuableCollectionsAction
include IssuesCalendar
included do
before_action :check_search_rate_limit!, only: [:issues, :merge_requests], if: -> {
before_action :check_search_rate_limit!, only: [:issues, :merge_requests, :search_merge_requests], if: -> {
params[:search].present?
}
end
@ -24,17 +24,11 @@ module IssuableCollectionsAction
format.atom { render layout: 'xml' }
end
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables
def merge_requests
@merge_requests = issuables_collection.page(params[:page])
@issuable_meta_data = Gitlab::IssuableMetadata.new(current_user, @merge_requests).data
rescue ActiveRecord::QueryCanceled => exception # rubocop:disable Database/RescueQueryCanceled
log_exception(exception)
@search_timeout_occurred = true
render_merge_requests
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables
def issues_calendar
render_issues_calendar(issuables_collection)
@ -46,7 +40,7 @@ module IssuableCollectionsAction
case action_name
when 'issues'
Issue::SORTING_PREFERENCE_FIELD
when 'merge_requests'
when 'merge_requests', 'search_merge_requests'
MergeRequest::SORTING_PREFERENCE_FIELD
end
end
@ -55,7 +49,7 @@ module IssuableCollectionsAction
case action_name
when 'issues', 'issues_calendar'
IssuesFinder
when 'merge_requests'
when 'merge_requests', 'search_merge_requests'
MergeRequestsFinder
end
end
@ -68,4 +62,16 @@ module IssuableCollectionsAction
issue_types: issue_types
)
end
# rubocop:disable Gitlab/ModuleWithInstanceVariables
def render_merge_requests
@merge_requests = issuables_collection.page(params[:page])
@issuable_meta_data = Gitlab::IssuableMetadata.new(current_user, @merge_requests).data
rescue ActiveRecord::QueryCanceled => exception # rubocop:disable Database/RescueQueryCanceled
log_exception(exception)
@search_timeout_occurred = true
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables
end

View File

@ -8,15 +8,15 @@ class DashboardController < Dashboard::ApplicationController
prepend_before_action(only: [:issues_calendar]) { authenticate_sessionless_user!(:ics) }
before_action :event_filter, only: :activity
before_action :projects, only: [:issues, :merge_requests]
before_action :set_show_full_reference, only: [:issues, :merge_requests]
before_action :check_filters_presence!, only: [:issues, :merge_requests]
before_action :projects, only: [:issues, :merge_requests, :search_merge_requests]
before_action :set_show_full_reference, only: [:issues, :merge_requests, :search_merge_requests]
before_action :check_filters_presence!, only: [:issues, :merge_requests, :search_merge_requests]
before_action only: :issues do
push_frontend_feature_flag(:frontend_caching)
end
before_action only: :merge_requests do
before_action only: [:merge_requests, :search_merge_requests] do
push_frontend_feature_flag(:mr_approved_filter, type: :ops)
end
@ -24,9 +24,9 @@ class DashboardController < Dashboard::ApplicationController
feature_category :user_profile, [:activity]
feature_category :team_planning, [:issues, :issues_calendar]
feature_category :code_review_workflow, [:merge_requests]
feature_category :code_review_workflow, [:merge_requests, :search_merge_requests]
urgency :low, [:merge_requests, :activity]
urgency :low, [:merge_requests, :activity, :search_merge_requests]
urgency :low, [:issues, :issues_calendar]
def activity
@ -40,6 +40,10 @@ class DashboardController < Dashboard::ApplicationController
end
end
def search_merge_requests
render_merge_requests
end
protected
def load_events

View File

@ -261,7 +261,7 @@ class Import::GithubController < Import::BaseController
alert_message = safe_format(
s_(
"GithubImport|Your GitHub personal access token does not have the required scope to import. " \
"%{link_start}Learn More%{link_end}."
"%{link_start}Learn More%{link_end}."
),
tag_pair_docs_link
)

View File

@ -136,16 +136,16 @@ module Projects
case product
when :postgres
s_('CloudSeed|Cloud SQL instances are fully managed, relational PostgreSQL databases. '\
'Google handles replication, patch management, and database management '\
'to ensure availability and performance.')
'Google handles replication, patch management, and database management '\
'to ensure availability and performance.')
when :mysql
s_('Cloud SQL instances are fully managed, relational MySQL databases. '\
'Google handles replication, patch management, and database management '\
'to ensure availability and performance.')
'Google handles replication, patch management, and database management '\
'to ensure availability and performance.')
else
s_('Cloud SQL instances are fully managed, relational SQL Server databases. ' \
'Google handles replication, patch management, and database management ' \
'to ensure availability and performance.')
'Google handles replication, patch management, and database management ' \
'to ensure availability and performance.')
end
end
end

View File

@ -25,13 +25,13 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap
elsif @merge_request.can_be_merged?
render json: {
message: _('The merge conflicts for this merge request have already been resolved. ' \
'Please return to the merge request.'),
'Please return to the merge request.'),
type: 'error'
}
else
render json: {
message: _('The merge conflicts for this merge request cannot be resolved through GitLab. ' \
'Please try to resolve them locally.'),
'Please try to resolve them locally.'),
type: 'error'
}
end

View File

@ -14,7 +14,7 @@ module Mutations
[::Types::GlobalIDType[::Achievements::UserAchievement]],
required: true,
description: 'Global IDs of the user achievements being prioritized, ' \
'ordered from highest to lowest priority.'
'ordered from highest to lowest priority.'
def resolve(args)
user_achievements = args.delete(:user_achievement_ids).map { |id| find_object(id) }

View File

@ -7,7 +7,7 @@
- c.with_body do
= render 'shared/registration_features_discovery_message', feature_title: s_('RegistrationFeatures|send emails to users')
.gl-flex.gl-items-start.gl-flex-wrap.md:gl-flex-nowrap.gl-gap-4.row-content-block.gl-border-0{ data: { testid: "filtered-search-block" } }
.gl-flex.gl-items-start.gl-flex-wrap.md:gl-flex-nowrap.gl-gap-4.gl-py-4.gl-border-0{ data: { testid: "filtered-search-block" } }
#js-admin-users-filter-app
.gl-shrink-0
= gl_redirect_listbox_tag admin_users_sort_options(filter: params[:filter], search_query: params[:search_query]), @sort, data: { placement: 'right' }

View File

@ -6,10 +6,28 @@
= render_if_exists 'admin/users/admin_export_user_permissions'
= render Pajamas::ButtonComponent.new(variant: :confirm, href: new_admin_user_path) do
= s_('AdminUsers|New user')
.top-area
= render 'tabs'
.tab-content
.tab-pane.active
.gl-grid.gl-gap-5.gl-mt-4.md:gl-grid-cols-3
= render Pajamas::CardComponent.new do |c|
- c.with_body do
%div
= render Pajamas::SingleStatComponent.new(title: s_('AdminUsers|Pending approval'), stat_value: limited_counter_with_delimiter(User.blocked_pending_approval))
= render Pajamas::ButtonComponent.new(size: :small, button_options: { class: 'gl-w-max' }, variant: :link, block: false, href: admin_users_path(filter: "blocked_pending_approval")) do
= s_('AdminUsers|Filter list')
= render Pajamas::CardComponent.new do |c|
- c.with_body do
%div
= render Pajamas::SingleStatComponent.new(title: s_('AdminUsers|Without two-factor authentication'), stat_value: limited_counter_with_delimiter(User.without_two_factor))
= render Pajamas::ButtonComponent.new(size: :small, button_options: { class: 'gl-w-max' }, variant: :link, block: false, href: admin_users_path(filter: "two_factor_disabled")) do
= s_('AdminUsers|Filter list')
= render Pajamas::CardComponent.new do |c|
- c.with_body do
%div
= render Pajamas::SingleStatComponent.new(title: s_('AdminUsers|Administrators'), stat_value: limited_counter_with_delimiter(User.admins))
= render Pajamas::ButtonComponent.new(size: :small, button_options: { class: 'gl-w-max' }, variant: :link, block: false, href: admin_users_path(filter: "admins")) do
= s_('AdminUsers|Filter list')
= render 'users'

View File

@ -0,0 +1 @@
= render template: 'dashboard/merge_requests'

View File

@ -3711,42 +3711,6 @@
:weight: 2
:idempotent: false
:tags: []
- :name: onboarding_issue_created
:worker_name: Onboarding::IssueCreatedWorker
:feature_category: :onboarding
:has_external_dependencies: false
:urgency: :low
:resource_boundary: :unknown
:weight: 1
:idempotent: true
:tags: []
- :name: onboarding_pipeline_created
:worker_name: Onboarding::PipelineCreatedWorker
:feature_category: :onboarding
:has_external_dependencies: false
:urgency: :low
:resource_boundary: :unknown
:weight: 1
:idempotent: true
:tags: []
- :name: onboarding_progress
:worker_name: Onboarding::ProgressWorker
:feature_category: :onboarding
:has_external_dependencies: false
:urgency: :low
:resource_boundary: :cpu
:weight: 1
:idempotent: true
:tags: []
- :name: onboarding_user_added
:worker_name: Onboarding::UserAddedWorker
:feature_category: :onboarding
:has_external_dependencies: false
:urgency: :low
:resource_boundary: :unknown
:weight: 1
:idempotent: true
:tags: []
- :name: pages
:worker_name: PagesWorker
:feature_category: :pages

View File

@ -1,22 +0,0 @@
# frozen_string_literal: true
module Onboarding
class IssueCreatedWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
feature_category :onboarding
urgency :low
deduplicate :until_executing
idempotent!
def perform(_namespace_id)
# Deprecating per guide: https://docs.gitlab.com/ee/development/sidekiq/compatibility_across_updates.html#removing-worker-classes
# TODO: cleanup in https://gitlab.com/gitlab-org/gitlab/-/issues/472664
end
end
end

View File

@ -1,22 +0,0 @@
# frozen_string_literal: true
module Onboarding
class PipelineCreatedWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
feature_category :onboarding
urgency :low
deduplicate :until_executing
idempotent!
def perform(_namespace_id)
# Deprecating per guide: https://docs.gitlab.com/ee/development/sidekiq/compatibility_across_updates.html#removing-worker-classes
# TODO: cleanup in https://gitlab.com/gitlab-org/gitlab/-/issues/472664
end
end
end

View File

@ -1,23 +0,0 @@
# frozen_string_literal: true
module Onboarding
class ProgressWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
feature_category :onboarding
worker_resource_boundary :cpu
urgency :low
deduplicate :until_executed
idempotent!
def perform(_namespace_id, _action)
# Deprecating per guide: https://docs.gitlab.com/ee/development/sidekiq/compatibility_across_updates.html#removing-worker-classes
# TODO: remove in https://gitlab.com/gitlab-org/gitlab/-/issues/472664
end
end
end

View File

@ -1,21 +0,0 @@
# frozen_string_literal: true
module Onboarding
class UserAddedWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
feature_category :onboarding
urgency :low
idempotent!
def perform(_namespace_id)
# Deprecating per guide: https://docs.gitlab.com/ee/development/sidekiq/compatibility_across_updates.html#removing-worker-classes
# TODO: cleanup in https://gitlab.com/gitlab-org/gitlab/-/issues/472664
end
end
end

View File

@ -0,0 +1,13 @@
---
api_type: string
attr: abuse_notification_email
clusterwide: true
column: abuse_notification_email
db_type: character
default:
description: If set, [abuse reports](../administration/review_abuse_reports.md) are
sent to this address. Abuse reports are always available in the **Admin** area.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: admin_mode
clusterwide: false
column: admin_mode
db_type: boolean
default: 'false'
description: Require administrators to enable Admin Mode by re-authenticating for
administrative tasks.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: string
attr: after_sign_out_path
clusterwide: true
column: after_sign_out_path
db_type: character
default:
description: Where to redirect users after logout.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type: string
attr: after_sign_up_text
clusterwide: true
column: after_sign_up_text
db_type: text
default:
description: Text shown to the user after signing up.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: ai_action_api_rate_limit
clusterwide: false
column: ai_action_api_rate_limit
db_type: integer
default: '160'
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: string
attr: akismet_api_key
clusterwide: false
column: encrypted_akismet_api_key
db_type: text
default:
description: API key for Akismet spam protection.
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: akismet_enabled
clusterwide: false
column: akismet_enabled
db_type: boolean
default: 'false'
description: "(**If enabled, requires:** `akismet_api_key`) Enable or disable Akismet
spam protection."
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: allow_account_deletion
clusterwide: false
column: allow_account_deletion
db_type: boolean
default: 'true'
description: Set to `true` to allow users to delete their accounts. Premium and Ultimate
only.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: allow_deploy_tokens_and_keys_with_external_authn
clusterwide: false
column: allow_deploy_tokens_and_keys_with_external_authn
db_type: boolean
default: 'false'
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: allow_group_owners_to_manage_ldap
clusterwide: false
column: allow_group_owners_to_manage_ldap
db_type: boolean
default: 'true'
description: Set to `true` to allow group owners to manage LDAP. Premium and Ultimate
only.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: boolean
attr: allow_local_requests_from_system_hooks
clusterwide: false
column: allow_local_requests_from_system_hooks
db_type: boolean
default: 'true'
description: Allow requests to the local network from system hooks.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: boolean
attr: allow_local_requests_from_web_hooks_and_services
clusterwide: false
column: allow_local_requests_from_web_hooks_and_services
db_type: boolean
default: 'false'
description: Allow requests to the local network from webhooks and integrations.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: allow_possible_spam
clusterwide: false
column: allow_possible_spam
db_type: boolean
default: 'false'
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: allow_project_creation_for_guest_and_below
clusterwide: false
column: allow_project_creation_for_guest_and_below
db_type: boolean
default: 'true'
description: Indicates whether users assigned up to the Guest role can create groups
and personal projects. Defaults to `true`.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: boolean
attr: allow_runner_registration_token
clusterwide: false
column: allow_runner_registration_token
db_type: boolean
default: 'true'
description: Allow using a registration token to create a runner. Defaults to `true`.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: anthropic_api_key
clusterwide: false
column: encrypted_anthropic_api_key
db_type: bytea
default:
description: This column is currently ignored.
encrypted: true
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: archive_builds_in_seconds
clusterwide: false
column: archive_builds_in_seconds
db_type: integer
default:
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: arkose_labs_client_secret
clusterwide: true
column: encrypted_arkose_labs_client_secret
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: arkose_labs_client_xid
clusterwide: true
column: encrypted_arkose_labs_client_xid
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: arkose_labs_data_exchange_key
clusterwide: true
column: encrypted_arkose_labs_data_exchange_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: arkose_labs_namespace
clusterwide: true
column: arkose_labs_namespace
db_type: text
default: "'client'::text"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: arkose_labs_private_api_key
clusterwide: true
column: encrypted_arkose_labs_private_api_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: arkose_labs_public_api_key
clusterwide: true
column: encrypted_arkose_labs_public_api_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: integer
attr: asciidoc_max_includes
clusterwide: false
column: asciidoc_max_includes
db_type: smallint
default: '32'
description: 'Maximum limit of AsciiDoc include directives being processed in any
one document. Default: 32. Maximum: 64.'
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: asset_proxy_enabled
clusterwide: true
column: asset_proxy_enabled
db_type: boolean
default: 'false'
description: "(**If enabled, requires:** `asset_proxy_url`) Enable proxying of assets.
GitLab restart is required to apply changes."
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: string
attr: asset_proxy_secret_key
clusterwide: true
column: encrypted_asset_proxy_secret_key
db_type: text
default:
description: Shared secret with the asset proxy server. GitLab restart is required
to apply changes.
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type: string
attr: asset_proxy_url
clusterwide: true
column: asset_proxy_url
db_type: character
default:
description: URL of the asset proxy server. GitLab restart is required to apply changes.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,14 @@
---
api_type: string or array of strings
attr: asset_proxy_whitelist
clusterwide: true
column: asset_proxy_whitelist
db_type: text
default:
description: "(Deprecated: Use `asset_proxy_allowlist` instead) Assets that match
these domains are **not** proxied. Wildcards allowed. Your GitLab installation URL
is automatically allowlisted. GitLab restart is required to apply changes."
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,15 @@
---
api_type: boolean
attr: authorized_keys_enabled
clusterwide: true
column: authorized_keys_enabled
db_type: boolean
default: 'true'
description: By default, we write to the `authorized_keys` file to support 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.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,16 @@
---
api_type: boolean
attr: auto_ban_user_on_excessive_projects_download
clusterwide: false
column: auto_ban_user_on_excessive_projects_download
db_type: boolean
default: 'false'
description: 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`
respectively. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94153)
in GitLab 15.4. Self-managed, Ultimate only.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: string
attr: auto_devops_domain
clusterwide: true
column: auto_devops_domain
db_type: character
default:
description: Specify a domain to use by default for every project's Auto Review Apps
and Auto Deploy stages.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: auto_devops_enabled
clusterwide: true
column: auto_devops_enabled
db_type: boolean
default: 'true'
description: Enable Auto DevOps for projects by default. It automatically builds,
tests, and deploys applications based on a predefined CI/CD configuration.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: automatic_purchased_storage_allocation
clusterwide: true
column: automatic_purchased_storage_allocation
db_type: boolean
default: 'false'
description: Enabling this permits automatic allocation of purchased storage in a
namespace. Relevant only to EE distributions.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: integer
attr: bulk_import_concurrent_pipeline_batch_limit
clusterwide: false
column: bulk_import_concurrent_pipeline_batch_limit
db_type: smallint
default: '25'
description: Maximum simultaneous Direct Transfer batches to process.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,14 @@
---
api_type: boolean
attr: bulk_import_enabled
clusterwide: false
column: bulk_import_enabled
db_type: boolean
default: 'false'
description: Enable migrating GitLab groups by direct transfer. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/383268)
in GitLab 15.8. Setting also [available](../administration/settings/import_and_export_settings.md#enable-migration-of-groups-and-projects-by-direct-transfer)
in the **Admin** area.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,14 @@
---
api_type: integer
attr: bulk_import_max_download_file_size
clusterwide: false
column: bulk_import_max_download_file_size
db_type: bigint
default: '5120'
description: Maximum download file size when importing from source GitLab instances
by direct transfer. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/384976)
in GitLab 16.3.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: cached_markdown_version
clusterwide: false
column: cached_markdown_version
db_type: integer
default:
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: can_create_group
clusterwide: false
column: can_create_group
db_type: boolean
default: 'true'
description: Indicates whether users can create top-level groups. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/367754)
in GitLab 15.5. Defaults to `true`.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: can_create_organization
clusterwide: false
column: can_create_organization
db_type: boolean
default: 'true'
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,14 @@
---
api_type: boolean
attr: check_namespace_plan
clusterwide: true
column: check_namespace_plan
db_type: boolean
default: 'false'
description: 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.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: ci_jwt_signing_key
clusterwide: true
column: encrypted_ci_jwt_signing_key
db_type: text
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,13 @@
---
api_type: integer
attr: ci_max_includes
clusterwide: false
column: ci_max_includes
db_type: integer
default: '150'
description: The [maximum number of includes](../administration/settings/continuous_integration.md#maximum-includes)
per pipeline. Default is `150`.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: integer
attr: ci_max_total_yaml_size_bytes
clusterwide: false
column: ci_max_total_yaml_size_bytes
db_type: integer
default: '314572800'
description: The maximum amount of memory, in bytes, that can be allocated for the
pipeline configuration, with all included YAML configuration files.
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: clickhouse
clusterwide: true
column: clickhouse
db_type: jsonb
default: "'{}'::jsonb"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: cloud_license_auth_token
clusterwide: false
column: encrypted_cloud_license_auth_token
db_type: text
default:
description:
encrypted: true
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: cluster_agents
clusterwide: true
column: cluster_agents
db_type: jsonb
default: "'{}'::jsonb"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: code_creation
clusterwide: true
column: code_creation
db_type: jsonb
default: "'{}'::jsonb"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: code_suggestions_api_rate_limit
clusterwide: false
column: code_suggestions_api_rate_limit
db_type: integer
default: '60'
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: string
attr: commit_email_hostname
clusterwide: true
column: commit_email_hostname
db_type: character
default:
description: Custom hostname (for private commit emails).
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: compliance_frameworks
clusterwide: false
column: compliance_frameworks
db_type: smallint[]
default: "'{}'::smallint[]"
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: boolean
attr: container_expiration_policies_enable_historic_entries
clusterwide: true
column: container_expiration_policies_enable_historic_entries
db_type: boolean
default: 'false'
description: Enable [cleanup policies](../user/packages/container_registry/reduce_container_registry_storage.md#enable-the-cleanup-policy)
for all projects.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: integer
attr: container_registry_cleanup_tags_service_max_list_size
clusterwide: false
column: container_registry_cleanup_tags_service_max_list_size
db_type: integer
default: '200'
description: The maximum number of tags that can be deleted in a single execution
of [cleanup policies](../user/packages/container_registry/reduce_container_registry_storage.md#set-cleanup-limits-to-conserve-resources).
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: container_registry_data_repair_detail_worker_max_concurrency
clusterwide: false
column: container_registry_data_repair_detail_worker_max_concurrency
db_type: integer
default: '2'
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: container_registry_db_enabled
clusterwide: true
column: container_registry_db_enabled
db_type: boolean
default: 'false'
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,13 @@
---
api_type: integer
attr: container_registry_delete_tags_service_timeout
clusterwide: false
column: container_registry_delete_tags_service_timeout
db_type: integer
default: '250'
description: The maximum time, in seconds, that the cleanup process can take to delete
a batch of tags for [cleanup policies](../user/packages/container_registry/reduce_container_registry_storage.md#set-cleanup-limits-to-conserve-resources).
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: boolean
attr: container_registry_expiration_policies_caching
clusterwide: false
column: container_registry_expiration_policies_caching
db_type: boolean
default: 'true'
description: Caching during the execution of [cleanup policies](../user/packages/container_registry/reduce_container_registry_storage.md#set-cleanup-limits-to-conserve-resources).
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: integer
attr: container_registry_expiration_policies_worker_capacity
clusterwide: false
column: container_registry_expiration_policies_worker_capacity
db_type: integer
default: '4'
description: Number of workers for [cleanup policies](../user/packages/container_registry/reduce_container_registry_storage.md#set-cleanup-limits-to-conserve-resources).
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: container_registry_features
clusterwide: true
column: container_registry_features
db_type: text[]
default: "'{}'::text[]"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type: integer
attr: container_registry_token_expire_delay
clusterwide: false
column: container_registry_token_expire_delay
db_type: integer
default: '5'
description: Container registry token duration in minutes.
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: container_registry_vendor
clusterwide: true
column: container_registry_vendor
db_type: text
default: "''::text"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: container_registry_version
clusterwide: true
column: container_registry_version
db_type: text
default: "''::text"
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: content_validation_api_key
clusterwide: false
column: encrypted_content_validation_api_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: content_validation_endpoint_enabled
clusterwide: false
column: content_validation_endpoint_enabled
db_type: boolean
default: 'false'
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: true
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: content_validation_endpoint_url
clusterwide: false
column: content_validation_endpoint_url
db_type: text
default:
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: true
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: created_at
clusterwide: false
column: created_at
db_type: timestamp
default:
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: cube_api_base_url
clusterwide: true
column: cube_api_base_url
db_type: text
default:
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: cube_api_key
clusterwide: true
column: encrypted_cube_api_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type: string
attr: custom_http_clone_url_root
clusterwide: true
column: custom_http_clone_url_root
db_type: character
default:
description: Set a custom Git clone URL for HTTP(S).
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: custom_project_templates_group_id
clusterwide:
column: custom_project_templates_group_id
db_type: bigint
default:
description:
encrypted: false
gitlab_com_different_than_default: false
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: customers_dot_jwt_signing_key
clusterwide: true
column: encrypted_customers_dot_jwt_signing_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: dashboard_limit
clusterwide:
column: dashboard_limit
db_type: integer
default: '0'
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: dashboard_limit_enabled
clusterwide:
column: dashboard_limit_enabled
db_type: boolean
default: 'false'
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: true

View File

@ -0,0 +1,12 @@
---
api_type:
attr: database_grafana_api_key
clusterwide:
column: encrypted_database_grafana_api_key
db_type: bytea
default:
description:
encrypted: true
gitlab_com_different_than_default: true
jihu: false
not_null: false

View File

@ -0,0 +1,12 @@
---
api_type:
attr: database_grafana_api_url
clusterwide:
column: database_grafana_api_url
db_type: text
default:
description:
encrypted: false
gitlab_com_different_than_default: true
jihu: false
not_null: false

Some files were not shown because too many files have changed in this diff Show More