Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2025-03-21 21:09:58 +00:00
parent 16a3b4cc09
commit cab300ea41
198 changed files with 908 additions and 619 deletions

View File

@ -101,7 +101,7 @@ To do so, follow these steps:
If the merge request was deployed before [the monthly release was tagged](https://about.gitlab.com/handbook/engineering/releases/#self-managed-releases-1),
the feature can be officially announced in a release blog post: `/chatops run release check <merge-request-url> <milestone>`
- [ ] After the default-enabling MR has been deployed, clean up the feature flag from all environments by running these chatops command in the `#production` channel: `/chatops run feature delete <feature-flag-name> --dev --pre --staging --staging-ref --production`
- [ ] Close [the feature issue][<feature-issue-link>] to indicate the feature will be released in the current milestone.
- [ ] Close [the feature issue](<feature-issue-link>) to indicate the feature will be released in the current milestone.
- [ ] Set the next milestone to this rollout issue for scheduling [the flag removal](#release-the-feature).
- [ ] (Optional) You can [create a separate issue](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Feature%20Flag%20Cleanup) for scheduling the steps below to [Release the feature](#release-the-feature).
- [ ] Set the title to "[Feature flag] Cleanup `<feature-flag-name>`".
@ -128,7 +128,7 @@ or use the checklist below in this same issue.
- [ ] Ensure that the cleanup MR has been included in the release package.
If the merge request was deployed before [the monthly release was tagged](https://about.gitlab.com/handbook/engineering/releases/#self-managed-releases-1),
the feature can be officially announced in a release blog post: `/chatops run release check <merge-request-url> <milestone>`
- [ ] Close [the feature issue][<feature-issue-link>] to indicate the feature will be released in the current milestone.
- [ ] Close [the feature issue](<feature-issue-link>) to indicate the feature will be released in the current milestone.
- [ ] Once the cleanup MR has been deployed to production, clean up the feature flag from all environments by running these chatops command in `#production` channel: `/chatops run feature delete <feature-flag-name> --dev --pre --staging --staging-ref --production`
- [ ] Close this rollout issue.

View File

@ -392,7 +392,7 @@ Layout/LineEndStringConcatenationIndentation:
- 'qa/qa/service/docker_run/product_analytics/dotnet_sdk_app.rb'
- 'qa/qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/9_tenant_scale/elasticsearch/elasticsearch_reindexing_spec.rb'
- 'qa/qa/support/system_logs/kibana.rb'
- 'qa/qa/tools/revoke_user_personal_access_tokens.rb'
- 'qa/qa/tools/test_resources_handler.rb'

View File

@ -218,7 +218,7 @@ RSpec/ExampleWithoutDescription:
- 'ee/spec/workers/group_destroy_worker_spec.rb'
- 'ee/spec/workers/security/scan_execution_policies/create_pipeline_worker_spec.rb'
- 'ee/spec/workers/security/scan_execution_policies/rule_schedule_worker_spec.rb'
- 'qa/qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb'
- 'qa/qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb'
- 'qa/spec/specs/helpers/feature_flag_spec.rb'
- 'spec/bin/audit_event_type_spec.rb'
- 'spec/bin/feature_flag_spec.rb'

View File

@ -47,7 +47,7 @@ RSpec/NoExpectationExample:
- 'qa/qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb'
- 'qa/qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_non_inheritable_when_forward_pipeline_variables_false_spec.rb'
- 'qa/qa/specs/features/ee/api/2_plan/epics_to_work_items_sync_spec.rb'
- 'qa/qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb'
- 'qa/qa/specs/features/ee/api/9_tenant_scale/elasticsearch/elasticsearch_api_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb'

View File

@ -46,7 +46,8 @@ export default {
i18n: {
button: {
revoke: s__('AccessTokens|Revoke'),
revokeAriaLabel: (name) => sprintf(s__('AccessTokens|Revoke %{name}'), { name }).trim(),
revokeAriaLabel: (name) =>
sprintf(s__('AccessTokens|Revoke %{name}'), { name }, false).trim(),
rotate: s__('AccessTokens|Rotate'),
},
emptyDateField: __('Never'),
@ -216,10 +217,14 @@ export default {
}
},
modalMessage(tokenName, action) {
return sprintf(this.$options.i18n.modal.message[action], {
accessTokenType: this.accessTokenType,
tokenName,
});
return sprintf(
this.$options.i18n.modal.message[action],
{
accessTokenType: this.accessTokenType,
tokenName,
},
false,
);
},
sortingChanged(aRow, bRow, key) {
if (['createdAt', 'lastUsedAt', 'expiresAt'].includes(key)) {

View File

@ -240,7 +240,7 @@ export default {
<div class="gl-overflow-hidden">
<div class="gl-flex">
<gl-button data-testid="select-file-button" @click="$refs.fileUpload.click()">
{{ __('Choose File...') }}
{{ __('Choose File') }}
</gl-button>
<gl-button
v-if="filename"

View File

@ -72,7 +72,7 @@ export default {
<devops-score-callout />
<gl-empty-state
v-if="isEmpty"
:title="__('Data is still calculating...')"
:title="__('Data is still calculating')"
:svg-path="noDataImagePath"
>
<template #description>

View File

@ -58,7 +58,7 @@ export default {
<gl-filtered-search
class="gl-min-w-0 gl-grow"
:value="tokens"
:placeholder="s__('CredentialsInventory|Search or filter credentials...')"
:placeholder="s__('CredentialsInventory|Search or filter credentials')"
:available-tokens="availableTokens"
terms-as-tokens
@submit="search"

View File

@ -25,7 +25,7 @@ export default {
},
computed: {
title() {
return __('Deploy to...');
return __('Deploy to');
},
actionItems() {
return this.actions.map((actionItem) => ({

View File

@ -162,7 +162,7 @@ export default {
data-testid="begin-commit-button"
@click="beginCommit"
>
{{ __('Create commit...') }}
{{ __('Create commit') }}
</gl-button>
</div>
<p class="gl-text-center gl-font-bold">{{ overviewText }}</p>

View File

@ -6,8 +6,8 @@ import { mapActions, mapGetters, mapState } from 'vuex';
import { __ } from '~/locale';
const barLabel = __('File templates');
const templateListDropdownLabel = __('Choose a template...');
const templateTypesDropdownLabel = __('Choose a type...');
const templateListDropdownLabel = __('Choose a template');
const templateTypesDropdownLabel = __('Choose a type');
const undoButtonText = __('Undo');
export default {

View File

@ -11,7 +11,7 @@ export const avatarI18n = {
),
uploadAvatar: s__('Profiles|You can upload your avatar here'),
uploadNewAvatar: s__('Profiles|Upload new avatar'),
chooseFile: s__('Profiles|Choose file...'),
chooseFile: s__('Profiles|Choose file'),
noFileChosen: s__('Profiles|No file chosen.'),
maximumFileSize: s__('Profiles|The maximum file size allowed is 200 KiB.'),
imageDimensions: s__('Profiles|The ideal image size is 192 x 192 pixels.'),

View File

@ -30,7 +30,7 @@ export default {
GlTooltip: GlTooltipDirective,
},
i18n: {
createNew: __('Create new...'),
createNew: __('Create new'),
},
inject: ['isImpersonating'],
props: {

View File

@ -34,9 +34,9 @@ export default {
markAsReady: __('Mark as ready'),
markAsDraft: __('Mark as draft'),
close: __('Close %{issuableType}'),
closing: __('Closing %{issuableType}...'),
closing: __('Closing %{issuableType}'),
reopen: __('Reopen %{issuableType}'),
reopening: __('Reopening %{issuableType}...'),
reopening: __('Reopening %{issuableType}'),
lock: __('Lock %{issuableType}'),
mergeRequestActions: __('Merge request actions'),
},

View File

@ -11,7 +11,7 @@ export default {
placeholder: {
type: String,
required: false,
default: __('Add a title...'),
default: __('Add a title'),
},
disabled: {
type: Boolean,

View File

@ -283,10 +283,10 @@ export default {
if (target === WORK_ITEM_CREATE_ENTITY_MODAL_TARGET_SOURCE) {
this.checkingSourceValidity = true;
this.sourceDescription = __('Checking source validity...');
this.sourceDescription = __('Checking source validity');
} else {
this.checkingBranchValidity = true;
this.branchDescription = __('Checking branch validity...');
this.branchDescription = __('Checking branch validity');
}
this.refCancelToken = axios.CancelToken.source();

View File

@ -9,7 +9,7 @@ module Ci
"test_report_summary_url" => test_report_summary(project, build),
"page_path" => project_job_path(project, build),
"project_path" => project.full_path,
"artifact_help_url" => help_page_path('user/gitlab_com/_index.md', anchor: 'gitlab-cicd'),
"artifact_help_url" => help_page_path('user/gitlab_com/_index.md', anchor: 'cicd'),
"deployment_help_url" => help_page_path('user/project/clusters/deploy_to_cluster.md', anchor: 'troubleshooting'),
"runner_settings_url" => project_runners_path(build.project, anchor: 'js-runners-settings'),
"retry_outdated_job_docs_url" => help_page_path('ci/pipelines/settings.md', anchor: 'prevent-outdated-deployment-jobs'),

View File

@ -6,7 +6,7 @@ module Nav
return unless current_user
menu_sections = []
data = { title: _('Create new...') }
data = { title: _('Create new') }
if project&.persisted?
menu_sections.push(project_menu_section(project))

View File

@ -11,7 +11,7 @@
alert_options: { class: 'hidden js-cluster-creating gl-mt-5 gl-mb-5' }) do |c|
- c.with_body do
= render Pajamas::SpinnerComponent.new(inline: true)
%span.gl-ml-2= s_('ClusterIntegration|Kubernetes cluster is being created...')
%span.gl-ml-2= s_('ClusterIntegration|Kubernetes cluster is being created')
= render Pajamas::AlertComponent.new(variant: :warning,
alert_options: { class: 'hidden js-cluster-api-unreachable' }) do |c|

View File

@ -12,7 +12,7 @@
.well-confirmation.gl-text-center.gl-mb-6
%h1.gl-mt-0
= _("Almost there...")
= _("Almost there")
%p{ class: 'gl-mb-6 !gl-text-lg' }
= _('Please check your email %{email} to confirm your account') % { email: user_email }
%br

View File

@ -53,7 +53,7 @@
%p.validation-success.gl-text-success.gl-field-error-ignore.gl-mt-2.field-validation.hide
= _('Username is available.')
%p.validation-pending.gl-field-error-ignore.gl-mt-2.field-validation.hide
= _('Checking username availability...')
= _('Checking username availability')
- unless @invite_email.present?
.form-group
= f.label :email, _('Email')

View File

@ -1,3 +1,3 @@
- page_title _("IDE")
= render partial: 'shared/ide_root', locals: { data: new_ide_oauth_data, loading_text: _('Authenticating...') }
= render partial: 'shared/ide_root', locals: { data: new_ide_oauth_data, loading_text: _('Authenticating') }

View File

@ -3,7 +3,7 @@
- if actions.present?
.btn-group
.dropdown
%button.dropdown.dropdown-new.btn.gl-button.btn-default.has-tooltip{ type: 'button', 'data-toggle' => 'dropdown', title: s_('Environments|Deploy to...') }
%button.dropdown.dropdown-new.btn.gl-button.btn-default.has-tooltip{ type: 'button', 'data-toggle' => 'dropdown', title: s_('Environments|Deploy to') }
= sprite_icon('play')
= sprite_icon('chevron-down')
%ul.dropdown-menu.dropdown-menu-right

View File

@ -30,7 +30,7 @@
%h5.gl-mt-0= s_("Profiles|Upload new avatar")
.gl-flex.gl-items-center.gl-my-3
= render Pajamas::ButtonComponent.new(button_options: { class: 'js-choose-user-avatar-button' }) do
= s_("Profiles|Choose file...")
= s_("Profiles|Choose file")
%span.gl-ml-3.js-avatar-filename= s_("Profiles|No file chosen.")
= f.file_field :avatar, class: 'js-user-avatar-input hidden', accept: 'image/*'
.form-text.gl-text-subtle

View File

@ -529,6 +529,10 @@ project_security_statistics:
- table: projects
column: project_id
on_delete: async_delete
project_states:
- table: projects
column: project_id
on_delete: async_delete
projects:
- table: users
column: marked_for_deletion_by_user_id

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
class RemoveProjectsProjectStatesProjectIdFk < Gitlab::Database::Migration[2.2]
milestone '17.11'
disable_ddl_transaction!
FOREIGN_KEY_NAME = "fk_rails_a6e5821877"
def up
with_lock_retries do
remove_foreign_key_if_exists(:project_states, :projects,
name: FOREIGN_KEY_NAME, reverse_lock_order: true)
end
end
def down
add_concurrent_foreign_key(:project_states, :projects,
name: FOREIGN_KEY_NAME, column: :project_id,
target_column: :id, on_delete: :cascade)
end
end

View File

@ -0,0 +1 @@
4fb80dd28bd570ee99715b8f53ddecc6bf0d0c7041b8fa444cd876eb4575438f

View File

@ -43046,9 +43046,6 @@ ALTER TABLE ONLY user_preferences
ALTER TABLE ONLY sentry_issues
ADD CONSTRAINT fk_rails_a6a9612965 FOREIGN KEY (issue_id) REFERENCES issues(id) ON DELETE CASCADE;
ALTER TABLE ONLY project_states
ADD CONSTRAINT fk_rails_a6e5821877 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
ALTER TABLE ONLY user_permission_export_uploads
ADD CONSTRAINT fk_rails_a7130085e3 FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;

View File

@ -33,7 +33,7 @@ UltraAuth has removed their software which supports OmniAuth integration. We hav
The external authentication and authorization providers may support the following capabilities.
For more information, see the links shown on this page for each external provider.
| Capability | GitLab.com | Self-managed |
| Capability | GitLab.com | GitLab Self-Managed |
|-------------------------------------------------|-----------------------------------------|------------------------------------|
| **User Provisioning** | SCIM<br>SAML <sup>1</sup> | LDAP <sup>1</sup><br>SAML <sup>1</sup><br>[OmniAuth Providers](../../integration/omniauth.md#supported-providers) <sup>1</sup><br>SCIM |
| **User Detail Updating** (not group management) | Not Available | LDAP Sync |

View File

@ -187,7 +187,7 @@ You may also want to back up any TLS keys and certificates (`/etc/gitlab/ssl`, `
to avoid man-in-the-middle attack warnings if you have to perform a full machine restore.
In the unlikely event that the secrets file is lost, see
[When the secrets file is lost](../backup_restore/troubleshooting_backup_gitlab.md#when-the-secrets-file-is-lost).
[When the secrets file is lost](troubleshooting_backup_gitlab.md#when-the-secrets-file-is-lost).
### Other data

View File

@ -53,7 +53,7 @@ To restore a backup, **you must also restore the GitLab secrets**.
If you are migrating to a new GitLab instance, you must copy the GitLab secrets file from the old server.
These include the database encryption key, [CI/CD variables](../../ci/variables/_index.md), and
variables used for [two-factor authentication](../../user/profile/account/two_factor_authentication.md).
Without the keys, [multiple issues occur](../backup_restore/troubleshooting_backup_gitlab.md#when-the-secrets-file-is-lost), including loss of access by users with [two-factor authentication enabled](../../user/profile/account/two_factor_authentication.md),
Without the keys, [multiple issues occur](troubleshooting_backup_gitlab.md#when-the-secrets-file-is-lost), including loss of access by users with [two-factor authentication enabled](../../user/profile/account/two_factor_authentication.md),
and GitLab Runners cannot sign in.
Restore:

View File

@ -9,7 +9,7 @@ When you back up GitLab, you might encounter the following issues.
## When the secrets file is lost
If you didn't [back up the secrets file](../backup_restore/backup_gitlab.md#storing-configuration-files), you
If you didn't [back up the secrets file](backup_gitlab.md#storing-configuration-files), you
must complete several steps to get GitLab working properly again.
The secrets file is responsible for storing the encryption key for the columns
@ -266,7 +266,7 @@ Backup failed
If this happens, examine the following:
- Confirm there is sufficient disk space for the Gzip operation. It's not uncommon for backups that
use the [default strategy](../backup_restore/backup_gitlab.md#backup-strategy-option) to require half the instance size
use the [default strategy](backup_gitlab.md#backup-strategy-option) to require half the instance size
in free disk space during backup creation.
- If NFS is being used, check if the mount option `timeout` is set. The
default is `600`, and changing this to smaller values results in this error.

View File

@ -95,7 +95,7 @@ can't run more frequently than the worker.
The default frequency of the pipeline schedule worker is `3-59/10 * * * *` (every ten minutes,
starting with `0:03`, `0:13`, `0:23`, and so on). The default frequency for GitLab.com
is listed in the [GitLab.com settings](../../user/gitlab_com/_index.md#gitlab-cicd).
is listed in the [GitLab.com settings](../../user/gitlab_com/_index.md#cicd).
To change the frequency of the pipeline schedule worker:

View File

@ -56,7 +56,7 @@ Geo does not use an active-active failover configuration. For more information,
Optionally, private connectivity is available for your GitLab Dedicated instance, using [AWS PrivateLink](https://aws.amazon.com/privatelink/) as a connection gateway.
Both [inbound](../dedicated/configure_instance/network_security.md#inbound-private-link) and [outbound](../dedicated/configure_instance/network_security.md#outbound-private-link) private links are supported.
Both [inbound](configure_instance/network_security.md#inbound-private-link) and [outbound](configure_instance/network_security.md#outbound-private-link) private links are supported.
![Diagram of a GitLab-managed AWS VPC using AWS PrivateLink to connect with a customer-managed AWS VPC.](img/privatelink_diagram_v17_1.png)

View File

@ -33,15 +33,15 @@ You can use Switchboard to make limited configuration changes to your GitLab Ded
The following configuration settings are available in Switchboard:
- [IP allowlist](../configure_instance/network_security.md#ip-allowlist)
- [SAML settings](../configure_instance/saml.md)
- [Custom certificates](../configure_instance/network_security.md#custom-certificates)
- [Outbound private links](../configure_instance/network_security.md#outbound-private-link)
- [Private hosted zones](../configure_instance/network_security.md#private-hosted-zones)
- [IP allowlist](network_security.md#ip-allowlist)
- [SAML settings](saml.md)
- [Custom certificates](network_security.md#custom-certificates)
- [Outbound private links](network_security.md#outbound-private-link)
- [Private hosted zones](network_security.md#private-hosted-zones)
Prerequisites:
- You must have the [Admin](../configure_instance/users_notifications.md#add-switchboard-users) role.
- You must have the [Admin](users_notifications.md#add-switchboard-users) role.
To make a configuration change:
@ -63,7 +63,7 @@ When you apply changes immediately:
- You can save multiple changes and apply them in one batch.
After the deployment job is complete, you receive an email notification. Check your spam folder if you do not see a notification in your main inbox.
All users with access to view or edit your tenant in Switchboard receive a notification for each change. For more information, see [Manage Switchboard notification preferences](../configure_instance/users_notifications.md#manage-notification-preferences).
All users with access to view or edit your tenant in Switchboard receive a notification for each change. For more information, see [Manage Switchboard notification preferences](users_notifications.md#manage-notification-preferences).
{{< alert type="note" >}}

View File

@ -184,7 +184,7 @@ After you sign in to Switchboard, follow these steps to create your instance:
You can use the same option as your primary or secondary regions, or choose a different region for [increased redundancy](../../subscriptions/gitlab_dedicated/data_residency_and_high_availability.md#disaster-recovery).
- **Time zone**: Select a weekly four-hour time slot when GitLab performs routine
maintenance and upgrades. For more information, see [maintenance windows](../dedicated/maintenance.md#maintenance-windows).
maintenance and upgrades. For more information, see [maintenance windows](maintenance.md#maintenance-windows).
1. Optional. On the **Security** page, add your [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) for encrypted AWS services. If you do not add keys, GitLab generates encryption keys for your instance. For more information, see [encrypting your data at rest](#encrypted-data-at-rest-byok).
@ -221,17 +221,17 @@ To access and configure your GitLab Dedicated instance:
1. Go to the tenant URL for your GitLab Dedicated instance and sign in with your temporary root credentials.
1. [Change your temporary root password](../../user/profile/user_passwords.md#change-your-password) to a new secure password.
1. Go to the Admin area and [add the license key](../license_file.md#add-license-in-the-admin-area) for your GitLab Dedicated subscription.
1. Return to Switchboard and [add users](../dedicated/configure_instance/users_notifications.md#add-switchboard-users), if needed.
1. Review the [release rollout schedule](../dedicated/maintenance.md#release-rollout-schedule) for upgrades and maintenance.
1. Return to Switchboard and [add users](configure_instance/users_notifications.md#add-switchboard-users), if needed.
1. Review the [release rollout schedule](maintenance.md#release-rollout-schedule) for upgrades and maintenance.
Also plan ahead if you need the following GitLab Dedicated features:
- [Inbound Private Link](../dedicated/configure_instance/network_security.md#inbound-private-link)
- [Outbound Private Link](../dedicated/configure_instance/network_security.md#outbound-private-link)
- [SAML SSO](../dedicated/configure_instance/saml.md)
- [Bring your own domain](../dedicated/configure_instance/network_security.md#bring-your-own-domain-byod)
- [Inbound Private Link](configure_instance/network_security.md#inbound-private-link)
- [Outbound Private Link](configure_instance/network_security.md#outbound-private-link)
- [SAML SSO](configure_instance/saml.md)
- [Bring your own domain](configure_instance/network_security.md#bring-your-own-domain-byod)
To view all available infrastructure configuration options, see [Configure your GitLab Dedicated instance](../dedicated/configure_instance/_index.md).
To view all available infrastructure configuration options, see [Configure your GitLab Dedicated instance](configure_instance/_index.md).
{{< alert type="note" >}}

View File

@ -77,6 +77,6 @@ GitLab performs emergency maintenance per
Emergency maintenance is initiated when urgent actions need to be executed by GitLab on a
GitLab Dedicated tenant instance. For example, when a critical (S1) security vulnerability requires urgent patching, GitLab performs emergency maintenance to upgrade your tenant instance to a secure version. This maintenance can occur outside scheduled maintenance windows.
GitLab provides advance emergency maintenance notice when possible and sends complete details after the issue is resolved. The GitLab Support team creates a support ticket and notifies all [Switchboard users](../dedicated/create_instance.md#step-1-get-access-to-switchboard) by email.
GitLab provides advance emergency maintenance notice when possible and sends complete details after the issue is resolved. The GitLab Support team creates a support ticket and notifies all [Switchboard users](create_instance.md#step-1-get-access-to-switchboard) by email.
You cannot postpone emergency maintenance, because the same process must be applied to all GitLab Dedicated instances to ensure their security and availability.

View File

@ -46,7 +46,7 @@ For information about how to access S3 buckets after you have the name, see the
The Amazon S3 bucket contains a combination of infrastructure logs and application logs from the GitLab [log system](../logs/_index.md).
The logs in the bucket are encrypted using an AWS KMS key managed by GitLab. If you choose to enable [BYOK](../dedicated/create_instance.md#encrypted-data-at-rest-byok), the application logs are not encrypted with the key you provide.
The logs in the bucket are encrypted using an AWS KMS key managed by GitLab. If you choose to enable [BYOK](create_instance.md#encrypted-data-at-rest-byok), the application logs are not encrypted with the key you provide.
<!-- vale gitlab_base.Spelling = NO -->

View File

@ -52,10 +52,10 @@ The **Maintenance windows** section displays the:
{{< alert type="note" >}}
Each Sunday night in UTC, Switchboard updates to display the planned GitLab version upgrades for the upcoming week's maintenance windows. For more information, see [Maintenance windows](../dedicated/maintenance.md#maintenance-windows).
Each Sunday night in UTC, Switchboard updates to display the planned GitLab version upgrades for the upcoming week's maintenance windows. For more information, see [Maintenance windows](maintenance.md#maintenance-windows).
{{< /alert >}}
## Hosted runners
The **Hosted runners** section shows the [hosted runners](../dedicated/hosted_runners.md) associated with your instance.
The **Hosted runners** section shows the [hosted runners](hosted_runners.md) associated with your instance.

View File

@ -85,11 +85,11 @@ No, Geo sites can be based on different reference architectures. For example, yo
## Does Geo replicate archived projects?
Yes, provided they are not excluded through [selective sync](../replication/selective_synchronization.md).
Yes, provided they are not excluded through [selective sync](selective_synchronization.md).
## Does Geo replicate personal projects?
Yes, provided they are not excluded through [selective sync](../replication/selective_synchronization.md).
Yes, provided they are not excluded through [selective sync](selective_synchronization.md).
## Are delayed deletion projects replicated to secondary sites?

View File

@ -43,7 +43,7 @@ If you want to avoid downtime, consider using [zero-downtime upgrades](../../../
To upgrade the Geo sites when a new GitLab version is released, upgrade **primary**
and all **secondary** sites:
1. Optional. [Pause replication on each **secondary** site](../replication/pause_resume_replication.md)
1. Optional. [Pause replication on each **secondary** site](pause_resume_replication.md)
to protect the disaster recovery (DR) capability of the **secondary** sites.
1. SSH into each node of the **primary** site.
1. [Upgrade GitLab on the **primary** site](../../../update/package/_index.md#by-using-the-official-repositories-recommended).

View File

@ -27,7 +27,7 @@ the roles cannot perform all necessary configuration steps. In this case, use th
{{< alert type="note" >}}
The stages of the setup process must be completed in the documented order.
If not, [complete all prior stages](../setup/_index.md#using-linux-package-installations) before proceeding.
If not, [complete all prior stages](_index.md#using-linux-package-installations) before proceeding.
{{< /alert >}}
Ensure the **secondary** site is running the same version of GitLab Enterprise Edition as the **primary** site. Confirm you have added a license for a [Premium or Ultimate subscription](https://about.gitlab.com/pricing/) to your **primary** site.

View File

@ -287,7 +287,7 @@ You can make changes to your default rate limits from the **Admin** area. For mo
### GitLab SaaS-specific block and error responses
- [403 forbidden error](../user/gitlab_com/_index.md#gitlabcom-specific-rate-limits): If the error occurs for all GitLab SaaS requests, look for an automated process that could have triggered a block. For more assistance, contact GitLab support with your error details, including the affected IP address.
- [403 forbidden error](../user/gitlab_com/_index.md#rate-limits-on-gitlabcom): If the error occurs for all GitLab SaaS requests, look for an automated process that could have triggered a block. For more assistance, contact GitLab support with your error details, including the affected IP address.
- [HAProxy API throttle](../user/gitlab_com/_index.md#haproxy): GitLab SaaS responds with HTTP status code 429 to API requests that exceed 10 requests per second, per IP address.
- [Protected paths throttle](../user/gitlab_com/_index.md#protected-paths-throttle): GitLab SaaS responds with HTTP status code 429 to POST requests at protected paths that exceed 10 requests per minute, per IP address.
- [Git and container registry failed authentication ban](../user/gitlab_com/_index.md#git-and-container-registry-failed-authentication-ban): GitLab SaaS responds with HTTP status code 403 for one hour if it receives 30 failed authentication requests in three minutes from a single IP address.

View File

@ -14,7 +14,7 @@ The following tables are intended to guide you to choose the right combination o
| Capability | Availability | Recoverability | Data Resiliency | Performance | Risks/Trade-offs|
|------------|--------------|----------------|-----------------|-------------|-----------------|
|Gitaly Cluster | Very high - tolerant of node failures | RTO for a single node of 10 s with no manual intervention | Data is stored on multiple nodes | Good - While writes may take slightly longer due to voting, read distribution improves read speeds | **Trade-off** - Slight decrease in write speed for redundant, strongly-consistent storage solution. **Risks** - [Does not support snapshot backups](../gitaly/_index.md#snapshot-backup-and-recovery), GitLab backup task can be slow for large data sets |
|Gitaly Cluster | Very high - tolerant of node failures | RTO for a single node of 10 s with no manual intervention | Data is stored on multiple nodes | Good - While writes may take slightly longer due to voting, read distribution improves read speeds | **Trade-off** - Slight decrease in write speed for redundant, strongly-consistent storage solution. **Risks** - [Does not support snapshot backups](_index.md#snapshot-backup-and-recovery), GitLab backup task can be slow for large data sets |
|Gitaly Shards | Single storage location is a single point of failure | Would need to restore only shards which failed | Single point of failure | Good - can allocate repositories to shards to spread load | **Trade-off** - Need to manually configure repositories into different shards to balance loads / storage space **Risks** - Single point of failure relies on recovery process when single-node failure occurs |
## Geo capabilities

View File

@ -87,8 +87,8 @@ You can use the following GitLab Duo Chat features with GitLab Duo Self-Hosted:
Before setting up the GitLab Duo Self-Hosted infrastructure, you must have:
- A [supported model](../gitlab_duo_self_hosted/supported_models_and_hardware_requirements.md) (either cloud-based or on-premises).
- A [supported serving platform](../gitlab_duo_self_hosted/supported_llm_serving_platforms.md) (either cloud-based or on-premises).
- A [supported model](supported_models_and_hardware_requirements.md) (either cloud-based or on-premises).
- A [supported serving platform](supported_llm_serving_platforms.md) (either cloud-based or on-premises).
- A [locally hosted AI gateway](../../install/install_ai_gateway.md).
- [Ultimate with GitLab Duo Enterprise](https://about.gitlab.com/solutions/gitlab-duo-pro/sales/?toggle=gitlab-duo-pro).
- GitLab 17.9 or later.
@ -105,7 +105,7 @@ The differences between these options are:
| Feature | Self-hosted AI gateway | GitLab.com AI gateway |
|---------|------------------------|------------------------|
| Infrastructure requirements | Requires hosting your own AI gateway and models | No additional infrastructure needed |
| Model options | Choose from [supported models](../gitlab_duo_self_hosted/supported_models_and_hardware_requirements.md) | Uses the default GitLab external vendor LLMs |
| Model options | Choose from [supported models](supported_models_and_hardware_requirements.md) | Uses the default GitLab external vendor LLMs |
| Network requirements | Can operate in fully isolated networks | Requires internet connectivity |
| Responsibilities | You set up your infrastructure, and do your own maintenance | GitLab does the set up and maintenance |
@ -153,19 +153,19 @@ To set up a fully isolated GitLab Duo Self-Hosted infrastructure:
1. **Install a Large Language Model (LLM) Serving Infrastructure**
- We support various platforms for serving and hosting your LLMs, such as vLLM, AWS Bedrock, and Azure OpenAI. To help you choose the most suitable option for effectively deploying your models, see the [supported LLM platforms documentation](../gitlab_duo_self_hosted/supported_llm_serving_platforms.md) for more information on each platform's features.
- We support various platforms for serving and hosting your LLMs, such as vLLM, AWS Bedrock, and Azure OpenAI. To help you choose the most suitable option for effectively deploying your models, see the [supported LLM platforms documentation](supported_llm_serving_platforms.md) for more information on each platform's features.
- We provide a comprehensive matrix of supported models along with their specific features and hardware requirements. To help select models that best align with your infrastructure needs for optimal performance, see the [supported models and hardware requirements documentation](../gitlab_duo_self_hosted/supported_models_and_hardware_requirements.md).
- We provide a comprehensive matrix of supported models along with their specific features and hardware requirements. To help select models that best align with your infrastructure needs for optimal performance, see the [supported models and hardware requirements documentation](supported_models_and_hardware_requirements.md).
1. **Install the GitLab AI gateway**
[Install the AI gateway](../../install/install_ai_gateway.md) to efficiently configure your AI infrastructure.
1. **Configure GitLab Duo features**
See the [Configure GitLab Duo features documentation](../gitlab_duo_self_hosted/configure_duo_features.md) for instructions on how to customize your environment to effectively meet your operational needs.
See the [Configure GitLab Duo features documentation](configure_duo_features.md) for instructions on how to customize your environment to effectively meet your operational needs.
1. **Enable logging**
You can find configuration details for enabling logging in your environment. For help in using logs to track and manage your system's performance effectively, see the [logging documentation](../gitlab_duo_self_hosted/logging.md).
You can find configuration details for enabling logging in your environment. For help in using logs to track and manage your system's performance effectively, see the [logging documentation](logging.md).
## Related topics
- [Troubleshooting](../gitlab_duo_self_hosted/troubleshooting.md)
- [Troubleshooting](troubleshooting.md)

View File

@ -78,7 +78,7 @@ For more information on:
- vLLM supported models, see the [vLLM Supported Models documentation](https://docs.vllm.ai/en/latest/models/supported_models.html).
- Available options when using vLLM to run a model, see the [vLLM documentation on engine arguments](https://docs.vllm.ai/en/stable/usage/engine_args.html).
- The hardware needed for the models, see the [Supported models and Hardware requirements documentation](../gitlab_duo_self_hosted/supported_models_and_hardware_requirements.md).
- The hardware needed for the models, see the [Supported models and Hardware requirements documentation](supported_models_and_hardware_requirements.md).
Examples:

View File

@ -432,7 +432,7 @@ If problem persists, report the issue to the GitLab support team.
You might get an error that states
`I'm sorry, I couldn't respond in time. Please try again. Error code: A1002`.
This error occurs when no events are returned from AI gateway or GitLab failed to parse the events. Check the [AI Gateway logs](../gitlab_duo_self_hosted/logging.md) for any errors.
This error occurs when no events are returned from AI gateway or GitLab failed to parse the events. Check the [AI Gateway logs](logging.md) for any errors.
### Error A1003
@ -478,7 +478,7 @@ This error typically occurs due to issues with streaming from the model to the A
If streaming is working, chunked responses should be displayed. If it is not, it will likely show an empty response.
1. Check the [AI gateway logs](../gitlab_duo_self_hosted/logging.md) for specific error messages, because this is usually a model deployment issue.
1. Check the [AI gateway logs](logging.md) for specific error messages, because this is usually a model deployment issue.
1. To validate the connection, disable the streaming by setting the `AIGW_CUSTOM_MODELS__DISABLE_STREAMING` environment variable in your AI gateway container:

View File

@ -197,7 +197,7 @@ This endpoint has been requested too many times. Try again later.
{{< history >}}
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/368926) in GitLab 17.10 [with a flag](../administration/feature_flags.md) named `autocomplete_users_rate_limit`. Disabled by default.
- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/368926) in GitLab 17.10 [with a flag](feature_flags.md) named `autocomplete_users_rate_limit`. Disabled by default.
{{< /history >}}
@ -465,7 +465,7 @@ If a new pipeline would cause the total number of jobs to exceed the limit, the
fails with a `job_activity_limit_exceeded` error.
- On GitLab.com, a limit is
[defined for each subscription tier](../user/gitlab_com/_index.md#gitlab-cicd),
[defined for each subscription tier](../user/gitlab_com/_index.md#cicd),
and this limit affects all projects with that tier.
- On GitLab Self-Managed, [Premium or Ultimate](https://about.gitlab.com/pricing/) subscriptions,
this limit is defined under a `default` plan that affects all
@ -525,7 +525,7 @@ If a new subscription would cause the total number of subscription to exceed the
limit, the subscription is considered invalid.
- On GitLab.com, a limit is
[defined for each subscription tier](../user/gitlab_com/_index.md#gitlab-cicd),
[defined for each subscription tier](../user/gitlab_com/_index.md#cicd),
and this limit affects all projects with that tier.
- On GitLab Self-Managed [Premium or Ultimate](https://about.gitlab.com/pricing/),
this limit is defined under a `default` plan that
@ -557,7 +557,7 @@ To set this limit to `100` on a GitLab Self-Managed instance, run the following
Plan.default.actual_limits.update!(pipeline_triggers: 100)
```
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#gitlab-cicd).
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#cicd).
### Number of pipeline schedules
@ -567,7 +567,7 @@ would cause the total number of pipeline schedules to exceed the limit, the
pipeline schedule is not created.
On GitLab.com, the limit is
[defined for each subscription tier](../user/gitlab_com/_index.md#gitlab-cicd),
[defined for each subscription tier](../user/gitlab_com/_index.md#cicd),
and this limit affects all projects with that tier.
On GitLab Self-Managed [Premium or Ultimate](https://about.gitlab.com/pricing/),
@ -603,7 +603,7 @@ To set this limit to `1440` on a GitLab Self-Managed instance, run the following
Plan.default.actual_limits.update!(ci_daily_pipeline_schedule_triggers: 1440)
```
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#gitlab-cicd).
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#cicd).
### Limit the number of schedule rules defined for security policy project
@ -627,7 +627,7 @@ To set this limit for a GitLab Self-Managed instance, run the following in the
Plan.default.actual_limits.update!(security_policy_scan_execution_schedules: 100)
```
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#gitlab-cicd).
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#cicd).
### CI/CD variable limits
@ -884,7 +884,7 @@ Plan.default.actual_limits.update!(dotenv_variables: 100)
You can also set this limit by using the [GitLab UI](settings/continuous_integration.md#set-cicd-limits) or the
[Plan limits API](../api/plan_limits.md).
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#gitlab-cicd).
This limit is [enabled on GitLab.com](../user/gitlab_com/_index.md#cicd).
### Limit dotenv file size

View File

@ -30,7 +30,7 @@ The log system is similar to [audit events](../audit_event_reports.md).
For more information, see also:
- [Customizing logging on Linux package installations](https://docs.gitlab.com/omnibus/settings/logs.html)
- [Parsing and analyzing GitLab logs in JSON format](../logs/log_parsing.md)
- [Parsing and analyzing GitLab logs in JSON format](log_parsing.md)
## Log Levels

View File

@ -14,7 +14,7 @@ title: Parsing GitLab logs with `jq`
We recommend using log aggregation and search tools like Kibana and Splunk whenever possible,
but if they are not available you can still quickly parse
[GitLab logs](../logs/_index.md) in JSON format
[GitLab logs](_index.md) in JSON format
using [`jq`](https://stedolan.github.io/jq/).
{{< alert type="note" >}}
@ -34,7 +34,7 @@ include use cases targeted for parsing GitLab log files.
The examples listed below address their respective log files by
their relative Linux package installation paths and default filenames.
Find the respective full paths in the [GitLab logs sections](../logs/_index.md#production_jsonlog).
Find the respective full paths in the [GitLab logs sections](_index.md#production_jsonlog).
### Compressed logs

View File

@ -42,7 +42,7 @@ Apdex measurements are used to determine uptime.
## IP allowlist
To access monitoring resources, the requesting client IP needs to be included in the allowlist.
For details, see [how to add IPs to the allowlist for the monitoring endpoints](../monitoring/ip_allowlist.md).
For details, see [how to add IPs to the allowlist for the monitoring endpoints](ip_allowlist.md).
## Using the endpoints locally

View File

@ -17,15 +17,15 @@ Keep your GitLab instance up and running.
- [Housekeeping](../housekeeping.md)
- [Activate GitLab EE with license](../license_file.md)
- [Fast SSH key lookup](../operations/fast_ssh_key_lookup.md)
- [File system benchmarking](../operations/filesystem_benchmarking.md)
- [`gitlab-sshd`](../operations/gitlab_sshd.md)
- [Rails console](../operations/rails_console.md)
- [Use SSH certificates](../operations/ssh_certificates.md)
- [Fast SSH key lookup](fast_ssh_key_lookup.md)
- [File system benchmarking](filesystem_benchmarking.md)
- [`gitlab-sshd`](gitlab_sshd.md)
- [Rails console](rails_console.md)
- [Use SSH certificates](ssh_certificates.md)
- [Enable encrypted configuration](../encrypted_configuration.md)
- [Rake tasks](../../raketasks/_index.md)
- [Backup and restore](../backup_restore/_index.md)
- [Inactive project deletion](../inactive_project_deletion.md)
- [Move repositories](../operations/moving_repositories.md)
- [Move repositories](moving_repositories.md)
- [Read-only state](../read_only_gitlab.md)
- [Restart GitLab](../restart_gitlab.md)

View File

@ -88,7 +88,7 @@ To move all projects by using the API:
"https://gitlab.example.com/api/v4/projects?repository_storage=<original_storage_name>"
```
Alternatively use [the rails console](../operations/rails_console.md) to confirm that all
Alternatively use [the rails console](rails_console.md) to confirm that all
projects have moved. Run the following in the rails console:
```ruby
@ -116,7 +116,7 @@ To move all snippets by using the API:
- The moves are in progress. Re-query the repository move until it completes successfully.
- The moves have failed. Most failures are temporary and are solved by rescheduling the move.
1. After the moves are complete, use [the rails console](../operations/rails_console.md) to confirm
1. After the moves are complete, use [the rails console](rails_console.md) to confirm
that all snippets have moved. No snippets should be returned for the original storage. Run the
following in the rails console:
@ -153,7 +153,7 @@ To move all groups by using the API:
- The moves are in progress. Re-query the repository move until it completes successfully.
- The moves have failed. Most failures are temporary and are solved by rescheduling the move.
1. After the moves are complete, use [the rails console](../operations/rails_console.md) to confirm
1. After the moves are complete, use [the rails console](rails_console.md) to confirm
that all groups have moved. No groups should be returned for the original storage. Run the
following in the rails console:

View File

@ -387,7 +387,7 @@ gitlab_rails['env'] = {
```
For self-compiled installations, set the environment variable.
Refer to [Puma Worker timeout](../operations/puma.md#change-the-worker-timeout).
Refer to [Puma Worker timeout](puma.md#change-the-worker-timeout).
[Reconfigure](../restart_gitlab.md#reconfigure-a-linux-package-installation) GitLab for the changes to take effect.
@ -401,7 +401,7 @@ separate Rails process to debug the issue:
1. Sign in to your GitLab account.
1. Copy the URL that is causing problems (for example, `https://gitlab.com/ABC`).
1. Create a personal access token for your user (User Settings -> Access tokens).
1. Bring up the [GitLab Rails console.](../operations/rails_console.md#starting-a-rails-console-session)
1. Bring up the [GitLab Rails console.](rails_console.md#starting-a-rails-console-session)
1. At the Rails console, run:
```ruby

View File

@ -76,12 +76,12 @@ The contents of `gitlab.yml` are:
```yaml
registry:
enabled: true
host: registry.gitlab.example.com
port: 5005
api_url: http://localhost:5000/
key: config/registry.key
path: shared/registry
issuer: gitlab-issuer
host: <registry.gitlab.example.com>
port: <5005>
api_url: <http://localhost:5000/>
key: <config/registry.key>
path: <shared/registry>
issuer: <gitlab-issuer>
```
Where:
@ -107,7 +107,7 @@ as the realm:
```yaml
auth:
token:
realm: https://gitlab.example.com/jwt/auth
realm: <https://gitlab.example.com/jwt/auth>
service: container_registry
issuer: gitlab-issuer
rootcertbundle: /root/certs/certbundle
@ -164,7 +164,7 @@ under the `registry_external_url` line, rather than the port listed under
path to the existing TLS certificate and key used by GitLab:
```ruby
registry_external_url 'https://gitlab.example.com:5050'
registry_external_url '<https://gitlab.example.com:5050>'
```
The `registry_external_url` is listening on HTTPS under the
@ -175,8 +175,8 @@ under the `registry_external_url` line, rather than the port listed under
below:
```ruby
registry_nginx['ssl_certificate'] = "/path/to/certificate.pem"
registry_nginx['ssl_certificate_key'] = "/path/to/certificate.key"
registry_nginx['ssl_certificate'] = "</path/to/certificate.pem>"
registry_nginx['ssl_certificate_key'] = "</path/to/certificate.key>"
```
1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation)
@ -198,7 +198,7 @@ balancer to the registry from ports `80` or `443` to the arbitrary port. This is
rely on the `docker login` example in the container registry. Here's an example:
```ruby
registry_external_url 'https://registry-gitlab.example.com'
registry_external_url '<https://registry-gitlab.example.com>'
registry_nginx['redirect_http_to_https'] = true
registry_nginx['listen_port'] = 5678
```
@ -213,7 +213,7 @@ registry_nginx['listen_port'] = 5678
```yaml
registry:
enabled: true
host: gitlab.example.com
host: <gitlab.example.com>
port: 5050
```
@ -228,7 +228,7 @@ Users should now be able to sign in to the container registry with their GitLab
credentials using:
```shell
docker login gitlab.example.com:5050
docker login <gitlab.example.com:5050>
```
### Configure container registry under its own domain
@ -250,18 +250,18 @@ Let's assume that you want the container registry to be accessible at
{{< tab title="Linux package (Omnibus)" >}}
1. Place your TLS certificate and key in
`/etc/gitlab/ssl/registry.gitlab.example.com.crt` and
`/etc/gitlab/ssl/registry.gitlab.example.com.key` and make sure they have
`/etc/gitlab/ssl/<registry.gitlab.example.com>.crt` and
`/etc/gitlab/ssl/<registry.gitlab.example.com>.key` and make sure they have
correct permissions:
```shell
chmod 600 /etc/gitlab/ssl/registry.gitlab.example.com.*
chmod 600 /etc/gitlab/ssl/<registry.gitlab.example.com>.*
```
1. After the TLS certificate is in place, edit `/etc/gitlab/gitlab.rb` with:
```ruby
registry_external_url 'https://registry.gitlab.example.com'
registry_external_url '<https://registry.gitlab.example.com>'
```
The `registry_external_url` is listening on HTTPS.
@ -287,7 +287,7 @@ registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/certificate.key"
```yaml
registry:
enabled: true
host: registry.gitlab.example.com
host: <registry.gitlab.example.com>
```
1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect.
@ -301,7 +301,7 @@ Users should now be able to sign in to the container registry using their GitLab
credentials:
```shell
docker login registry.gitlab.example.com
docker login <registry.gitlab.example.com>
```
## Disable container registry site-wide
@ -455,7 +455,7 @@ The default location where images are stored in Linux package installations is
1. Edit `/etc/gitlab/gitlab.rb`:
```ruby
gitlab_rails['registry_path'] = "/path/to/registry/storage"
gitlab_rails['registry_path'] = "</path/to/registry/storage>"
```
1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect.
@ -530,22 +530,22 @@ Report any issues or feedback using [issue 525855](https://gitlab.com/gitlab-org
# Deprecated: Will be removed in GitLab 19.0
registry['storage'] = {
's3' => {
'accesskey' => 's3-access-key',
'secretkey' => 's3-secret-key-for-access-key',
'bucket' => 'your-s3-bucket',
'region' => 'your-s3-region',
'regionendpoint' => 'your-s3-regionendpoint'
'accesskey' => '<s3-access-key>',
'secretkey' => '<s3-secret-key-for-access-key>',
'bucket' => '<your-s3-bucket>',
'region' => '<your-s3-region>',
'regionendpoint' => '<your-s3-regionendpoint>'
}
}
# Beta: s3_v2 driver
registry['storage'] = {
's3_v2' => {
'accesskey' => 's3-access-key',
'secretkey' => 's3-secret-key-for-access-key',
'bucket' => 'your-s3-bucket',
'region' => 'your-s3-region',
'regionendpoint' => 'your-s3-regionendpoint'
'accesskey' => '<s3-access-key>',
'secretkey' => '<s3-secret-key-for-access-key>',
'bucket' => '<your-s3-bucket>',
'region' => '<your-s3-region>',
'regionendpoint' => '<your-s3-regionendpoint>'
}
}
```
@ -559,18 +559,18 @@ For S3 VPC endpoints:
```ruby
registry['storage'] = {
's3_v2' => { # Beta driver
'accesskey' => 's3-access-key',
'secretkey' => 's3-secret-key-for-access-key',
'bucket' => 'your-s3-bucket',
'region' => 'your-s3-region',
'regionendpoint' => 'your-s3-vpc-endpoint',
'accesskey' => '<s3-access-key>',
'secretkey' => '<s3-secret-key-for-access-key>',
'bucket' => '<your-s3-bucket>',
'region' => '<your-s3-region>',
'regionendpoint' => '<your-s3-vpc-endpoint>',
'pathstyle' => false
}
}
```
- `regionendpoint` is only required when configuring an S3 compatible service such as MinIO, or when using an AWS S3 VPC Endpoint.
- `your-s3-bucket` should be the name of a bucket that exists, and can't include subdirectories.
- `<your-s3-bucket>` should be the name of a bucket that exists, and can't include subdirectories.
- `pathstyle` should be set to `true` to use host/bucket_name/object style paths instead of bucket_name.host/object. Set to `false` for AWS S3.
You can set a rate limit on connections to S3 to avoid 503 errors from the S3 API:
@ -578,11 +578,11 @@ You can set a rate limit on connections to S3 to avoid 503 errors from the S3 AP
```ruby
registry['storage'] = {
's3' => {
'accesskey' => 's3-access-key',
'secretkey' => 's3-secret-key-for-access-key',
'bucket' => 'your-s3-bucket',
'region' => 'your-s3-region',
'regionendpoint' => 'your-s3-regionendpoint',
'accesskey' => '<s3-access-key>',
'secretkey' => '<s3-secret-key-for-access-key>',
'bucket' => '<your-s3-bucket>',
'region' => '<your-s3-region>',
'regionendpoint' => '<your-s3-regionendpoint>',
'maxrequestspersecond' => 100
}
}
@ -620,7 +620,7 @@ registry['storage'] = {
# Beta: azure_v2 driver
registry['storage'] = {
'azure_v2' => {
'credentials_type' => 'client_secret',
'credentials_type' => '<client_secret>',
'tenant_id' => '<your_tenant_id>',
'client_id' => '<your_client_id>',
'secret' => '<your_secret>',
@ -641,8 +641,8 @@ The GCS storage driver integrates with Google Cloud Storage.
```ruby
registry['storage'] = {
'gcs' => {
'bucket' => 'BUCKET_NAME',
'keyfile' => 'PATH/TO/KEYFILE',
'bucket' => '<your_bucket_name>',
'keyfile' => '<path/to/keyfile>',
# If you have the bucket shared with other apps beyond the registry, uncomment the following:
# 'rootdirectory' => '/gcs/object/name/prefix'
}
@ -665,18 +665,18 @@ when you deployed your Docker registry.
```yaml
storage:
s3:
accesskey: 's3-access-key' # Not needed if IAM role used
secretkey: 's3-secret-key-for-access-key' # Not needed if IAM role used
bucket: 'your-s3-bucket'
region: 'your-s3-region'
regionendpoint: 'your-s3-regionendpoint'
accesskey: '<s3-access-key>' # Not needed if IAM role used
secretkey: '<s3-secret-key-for-access-key>' # Not needed if IAM role used
bucket: '<your-s3-bucket>'
region: '<your-s3-region>'
regionendpoint: '<your-s3-regionendpoint>'
cache:
blobdescriptor: inmemory
delete:
enabled: true
```
`your-s3-bucket` should be the name of a bucket that exists, and can't include subdirectories.
`<your-s3-bucket>` should be the name of a bucket that exists, and can't include subdirectories.
#### Migrate to object storage without downtime
@ -703,7 +703,7 @@ you can pull from the container registry, but you cannot push.
all buckets.
```shell
sudo aws --endpoint-url https://your-object-storage-backend.com s3 ls
sudo aws --endpoint-url <https://your-object-storage-backend.com> s3 ls
```
If you are using AWS as your back end, you do not need the [`--endpoint-url`](https://docs.aws.amazon.com/cli/latest/reference/#options).
@ -713,7 +713,7 @@ you can pull from the container registry, but you cannot push.
command. Make sure to keep the `docker` folder as the top-level folder inside the bucket.
```shell
sudo aws --endpoint-url https://your-object-storage-backend.com s3 sync registry s3://mybucket
sudo aws --endpoint-url <https://your-object-storage-backend.com> s3 sync registry s3://mybucket
```
{{< alert type="note" >}}
@ -729,7 +729,7 @@ you can pull from the container registry, but you cannot push.
1. Sync any changes dating from after the initial data load to your S3 bucket, and delete files that exist in the destination bucket but not in the source:
```shell
sudo aws --endpoint-url https://your-object-storage-backend.com s3 sync registry s3://mybucket --delete --dryrun
sudo aws --endpoint-url <https://your-object-storage-backend.com> s3 sync registry s3://mybucket --delete --dryrun
```
After verifying the command performs as expected, remove the
@ -752,7 +752,7 @@ you can pull from the container registry, but you cannot push.
```
```shell
sudo aws --endpoint-url https://your-object-storage-backend.com s3 ls s3://mybucket --recursive | wc -l
sudo aws --endpoint-url <https://your-object-storage-backend.com> s3 ls s3://<mybucket> --recursive | wc -l
```
The output of these commands should match, except for the content in the
@ -978,7 +978,7 @@ use a JSON Web Token to authenticate with GitLab. The
```yaml
auth:
token:
realm: https://gitlab.example.com/jwt/auth
realm: https://<gitlab.example.com>/jwt/auth
service: container_registry
issuer: gitlab-issuer
rootcertbundle: /root/certs/certbundle
@ -1039,7 +1039,7 @@ You can use GitLab as an auth endpoint with an external container registry.
Registry pages, set the following configurations:
```ruby
gitlab_rails['registry_host'] = "registry.gitlab.example.com"
gitlab_rails['registry_host'] = "<registry.gitlab.example.com>"
gitlab_rails['registry_port'] = "5005"
```
@ -1055,11 +1055,11 @@ You can use GitLab as an auth endpoint with an external container registry.
registry:
enabled: true
host: "registry.gitlab.example.com"
host: "<registry.gitlab.example.com>"
port: "5005"
api_url: "https://<external_registry_host>:5000"
path: /var/lib/registry
key: /path/to/keyfile
key: </path/to/keyfile>
issuer: gitlab-issuer
```
@ -1095,24 +1095,24 @@ To configure a notification endpoint for a Linux package installation:
```ruby
registry['notifications'] = [
{
'name' => 'test_endpoint',
'url' => 'https://gitlab.example.com/api/v4/container_registry_event/events',
'name' => '<test_endpoint>',
'url' => 'https://<gitlab.example.com>/api/v4/container_registry_event/events',
'timeout' => '500ms',
'threshold' => 5, # DEPRECATED: use `maxretries` instead.
'maxretries' => 5,
'backoff' => '1s',
'headers' => {
"Authorization" => ["AUTHORIZATION_EXAMPLE_TOKEN"]
"Authorization" => ["<AUTHORIZATION_EXAMPLE_TOKEN>"]
}
}
]
gitlab_rails['registry_notification_secret'] = 'AUTHORIZATION_EXAMPLE_TOKEN' # Must match the auth token in registry['notifications']
gitlab_rails['registry_notification_secret'] = '<AUTHORIZATION_EXAMPLE_TOKEN>' # Must match the auth token in registry['notifications']
```
{{< alert type="note" >}}
Replace `AUTHORIZATION_EXAMPLE_TOKEN` with a case-sensitive alphanumeric string
Replace `<AUTHORIZATION_EXAMPLE_TOKEN>` with a case-sensitive alphanumeric string
that starts with a letter. You can generate one with `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c 32 | sed "s/^[0-9]*//"; echo`
{{< /alert >}}
@ -1131,9 +1131,9 @@ Example:
```yaml
notifications:
endpoints:
- name: alistener
- name: <alistener>
disabled: false
url: https://my.listener.com/event
url: https://<my.listener.com>/event
headers: <http.Header>
timeout: 500
threshold: 5 # DEPRECATED: use `maxretries` instead.
@ -1309,23 +1309,23 @@ Prerequisites:
Consider the following example, where you first build the image:
```shell
# This builds a image with content of sha256:111111
docker build -t my.registry.com/my.group/my.project:latest .
docker push my.registry.com/my.group/my.project:latest
# This builds a image with content of sha256:<111111...>
docker build -t <my.registry.com>/<my.group>/<my.project>:latest .
docker push <my.registry.com>/<my.group>/<my.project>:latest
```
Now, you do overwrite `:latest` with a new version:
Now, you do overwrite `latest` with a new version:
```shell
# This builds a image with content of sha256:222222
docker build -t my.registry.com/my.group/my.project:latest .
docker push my.registry.com/my.group/my.project:latest
# This builds a image with content of sha256:<222222...>
docker build -t <my.registry.com>/<my.group>/<my.project>:latest .
docker push <my.registry.com>/<my.group>/<my.project>:latest
```
Now, the `:latest` tag points to manifest of `sha256:222222`.
Now, the `latest` tag points to manifest of `sha256:<222222...>`.
Due to the architecture of registry, this data is still accessible when pulling the
image `my.registry.com/my.group/my.project@sha256:111111`, though it is
no longer directly accessible via the `:latest` tag.
image `<my.registry.com>/<my.group>/<my.project>@sha256:<111111...>`, though it is
no longer directly accessible via the `latest` tag.
### Remove unreferenced layers
@ -1592,8 +1592,8 @@ To configure GitLab and the container registry on separate nodes:
# Configure registry settings
registry['enable'] = true
registry['registry_http_addr'] = '0.0.0.0:5000'
registry['token_realm'] = 'https://gitlab.example.com'
registry['http_secret'] = '6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b'
registry['token_realm'] = 'https://<gitlab.example.com>'
registry['http_secret'] = '<6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b>'
# Configure GitLab Rails settings
gitlab_rails['registry_issuer'] = 'omnibus-gitlab-issuer'
@ -1608,12 +1608,12 @@ To configure GitLab and the container registry on separate nodes:
# - Domain: gitlab.example.com
# Configure GitLab URL
external_url 'https://gitlab.example.com'
external_url 'https://<gitlab.example.com>'
# Configure registry settings
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_api_url'] = 'http://10.30.227.194:5000'
gitlab_rails['registry_host'] = 'registry.example.com'
gitlab_rails['registry_api_url'] = '<http://10.30.227.194:5000>'
gitlab_rails['registry_host'] = '<registry.example.com>'
gitlab_rails['registry_port'] = 5000
gitlab_rails['registry_issuer'] = 'omnibus-gitlab-issuer'
gitlab_rails['registry_key_path'] = '/etc/gitlab/gitlab-registry.key'

View File

@ -21,7 +21,7 @@ title: Container registry metadata database
The metadata database enables many new registry features, including
online garbage collection, and increases the efficiency of many registry operations.
The work on the self-managed release of the registry metadata database feature
The work on the GitLab Self-Managed release of the registry metadata database feature
is tracked in [epic 5521](https://gitlab.com/groups/gitlab-org/-/epics/5521).
By default, the container registry uses object storage to persist metadata

View File

@ -458,7 +458,7 @@ authentication mode (`patroni['tls_client_mode']`), must each have the same valu
gitlab-ctl write-pgpass --host 127.0.0.1 --database pgbouncer --user pgbouncer --hostuser gitlab-consul
```
1. [Enable monitoring](../postgresql/pgbouncer.md#enable-monitoring)
1. [Enable monitoring](pgbouncer.md#enable-monitoring)
#### PgBouncer Checkpoint
@ -560,7 +560,7 @@ gitlab-rake gitlab:db:configure
> **Note**: If you encounter a `rake aborted!` error stating that PgBouncer is failing to connect to PostgreSQL it may be that your PgBouncer node's IP address is missing from
PostgreSQL's `trust_auth_cidr_addresses` in `gitlab.rb` on your database nodes. See
[PgBouncer error `ERROR: pgbouncer cannot connect to server`](../postgresql/replication_and_failover_troubleshooting.md#pgbouncer-error-error-pgbouncer-cannot-connect-to-server) before you proceed.
[PgBouncer error `ERROR: pgbouncer cannot connect to server`](replication_and_failover_troubleshooting.md#pgbouncer-error-error-pgbouncer-cannot-connect-to-server) before you proceed.
### Backups
@ -571,7 +571,7 @@ Do not backup or restore GitLab through a PgBouncer connection: this causes a Gi
### Ensure GitLab is running
At this point, your GitLab instance should be up and running. Verify you're able
to sign in, and create issues and merge requests. For more information, see [Troubleshooting replication and failover](../postgresql/replication_and_failover_troubleshooting.md).
to sign in, and create issues and merge requests. For more information, see [Troubleshooting replication and failover](replication_and_failover_troubleshooting.md).
## Example configuration
@ -899,7 +899,7 @@ Stopping or restarting the Patroni service on the leader node triggers an automa
In GitLab 16.5 and earlier, PgBouncer nodes do not automatically fail over alongside
Patroni nodes. PgBouncer services
[must be restarted manually](../postgresql/replication_and_failover_troubleshooting.md#pgbouncer-error-error-pgbouncer-cannot-connect-to-server)
[must be restarted manually](replication_and_failover_troubleshooting.md#pgbouncer-error-error-pgbouncer-cannot-connect-to-server)
for a successful switchover.
{{< /alert >}}
@ -1053,7 +1053,7 @@ Considering these, you should carefully plan your PostgreSQL upgrade:
```
If issues are encountered upgrading the replicas,
[there is a troubleshooting section](../postgresql/replication_and_failover_troubleshooting.md#postgresql-major-version-upgrade-fails-on-a-patroni-replica) that might be the solution.
[there is a troubleshooting section](replication_and_failover_troubleshooting.md#postgresql-major-version-upgrade-fails-on-a-patroni-replica) that might be the solution.
{{< alert type="note" >}}

View File

@ -56,7 +56,7 @@ postgresql['trust_auth_cidr_addresses'] = %w(123.123.123.123/32 <other_cidrs>)
Due to a [known issue](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/8166) that
affects versions of GitLab prior to 16.5.0, the automatic failover of PgBouncer nodes does not
happen after a [Patroni switchover](../postgresql/replication_and_failover.md#manual-failover-procedure-for-patroni). In this
happen after a [Patroni switchover](replication_and_failover.md#manual-failover-procedure-for-patroni). In this
example, GitLab failed to detect a paused database, then attempted to `RESUME` a
not-paused database:
@ -66,7 +66,7 @@ ERROR -- : STDERR: Error running command: GitlabCtl::Errors::ExecutionError
ERROR -- : STDERR: ERROR: ERROR: database gitlabhq_production is not paused
```
To ensure a [Patroni switchover](../postgresql/replication_and_failover.md#manual-failover-procedure-for-patroni) succeeds,
To ensure a [Patroni switchover](replication_and_failover.md#manual-failover-procedure-for-patroni) succeeds,
you must manually restart the PgBouncer service on all PgBouncer nodes with this command:
```shell
@ -77,7 +77,7 @@ gitlab-ctl restart pgbouncer
If a replica cannot start or rejoin the cluster, or when it lags behind and cannot catch up, it might be necessary to reinitialize the replica:
1. [Check the replication status](../postgresql/replication_and_failover.md#check-replication-status) to confirm which server
1. [Check the replication status](replication_and_failover.md#check-replication-status) to confirm which server
needs to be reinitialized. For example:
```plaintext
@ -196,7 +196,7 @@ To fix the problem, ensure the loopback interface is included in the CIDR addres
```
1. [Reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect.
1. Check that [all the replicas are synchronized](../postgresql/replication_and_failover.md#check-replication-status)
1. Check that [all the replicas are synchronized](replication_and_failover.md#check-replication-status)
## Error: requested start point is ahead of the Write Ahead Log (WAL) flush position
@ -357,7 +357,7 @@ An example set of symptoms is as follows:
**Important**: This workaround applies when the Patroni cluster is in the following state:
- The [leader has been successfully upgraded to the new major version](../postgresql/replication_and_failover.md#upgrading-postgresql-major-version-in-a-patroni-cluster).
- The [leader has been successfully upgraded to the new major version](replication_and_failover.md#upgrading-postgresql-major-version-in-a-patroni-cluster).
- The step to upgrade PostgreSQL on replicas is failing.
This workaround completes the PostgreSQL upgrade on a Patroni replica

View File

@ -148,7 +148,7 @@ I, [2018-07-27T12:08:33.755624 #89817] INFO -- : Did fix /opt/gitlab/embedded/s
I, [2018-07-27T12:08:33.760257 #89817] INFO -- : Did move to lost and found /opt/gitlab/embedded/service/gitlab-rails/public/uploads/foo/bar/1dd6f0f7eefd2acc4c2233f89a0f7b0b/image.png -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/-/project-lost-found/foo/bar/1dd6f0f7eefd2acc4c2233f89a0f7b0b/image.png
```
If using object storage, run the [All-in-one Rake task](../raketasks/uploads/migrate.md#all-in-one-rake-task) to ensure
If using object storage, run the [All-in-one Rake task](uploads/migrate.md#all-in-one-rake-task) to ensure
all uploads are migrated to object storage and there are no files on disk in the uploads folder.
### Clean up project upload files from object storage

View File

@ -94,6 +94,10 @@ The default prefix is `glpat-` but administrators can change it.
[Project access tokens](../../user/project/settings/project_access_tokens.md) and
[group access tokens](../../user/group/settings/group_access_tokens.md) also inherit this prefix.
By default, [secret push protection](../../user/application_security/secret_detection/secret_push_protection/_index.md) and
[pipeline secret detection](../../user/application_security/secret_detection/pipeline/_index.md#detected-secrets) do not detect custom prefixes.
Custom prefixes might cause an increase in false positives.
### Set a prefix
To change the default global prefix:

View File

@ -179,7 +179,7 @@ You can set the maximum size of distinct [job artifacts](../cicd/job_artifacts.m
- Groups
The default maximum size for each artifact file in a job is 100 MB.
For GitLab.com, see [Artifacts maximum size](../../user/gitlab_com/_index.md#gitlab-cicd).
For GitLab.com, see [Artifacts maximum size](../../user/gitlab_com/_index.md#cicd).
Job artifacts defined with `artifacts:reports` can have [different limits](../../administration/instance_limits.md#maximum-file-size-per-type-of-artifact).
In this case, the smaller value is used.
@ -296,7 +296,7 @@ After that time passes, the jobs are archived in the background and no longer ab
retried. Make it empty to never expire jobs. It has to be no less than 1 day,
for example: <code>15 days</code>, <code>1 month</code>, <code>2 years</code>.
For the value set for GitLab.com, see [Scheduled job archiving](../../user/gitlab_com/_index.md#gitlab-cicd).
For the value set for GitLab.com, see [Scheduled job archiving](../../user/gitlab_com/_index.md#cicd).
## Protect CI/CD variables by default

View File

@ -54,4 +54,4 @@ To override the general user and IP rate limits for requests to deprecated API e
## Related topics
- [Rate limits](../../security/rate_limits.md)
- [User and IP rate limits](../settings/user_and_ip_rate_limits.md)
- [User and IP rate limits](user_and_ip_rate_limits.md)

View File

@ -24,7 +24,7 @@ common Git operations can generate many Git HTTP requests.
Some of these Git HTTP requests do not contain authentication parameter and
are considered unauthenticated. You can enforce rate limits on Git HTTP requests.
This can improve the security and durability of your web application.
[General user and IP rate limits](../settings/user_and_ip_rate_limits.md) aren't applied
[General user and IP rate limits](user_and_ip_rate_limits.md) aren't applied
to Git HTTP requests.
## Configure Git HTTP rate limits
@ -45,4 +45,4 @@ To configure Git HTTP rate limits:
## Related topics
- [Rate limiting](../../security/rate_limits.md)
- [User and IP rate limits](../settings/user_and_ip_rate_limits.md)
- [User and IP rate limits](user_and_ip_rate_limits.md)

View File

@ -16,14 +16,14 @@ title: Rate limits on Git LFS
[Git LFS (Large File Storage)](../../topics/git/lfs/_index.md) is a Git extension
for handling large files. If you use Git LFS in your repository, common Git operations
can generate many Git LFS requests. You can enforce
[general user and IP rate limits](../settings/user_and_ip_rate_limits.md), but you can also
[general user and IP rate limits](user_and_ip_rate_limits.md), but you can also
override the general setting to enforce additional limits on Git LFS requests. This
override can improve the security and durability of your web application.
## On GitLab.com
On GitLab.com, Git LFS requests are subject to
[authenticated web request rate limits](../../user/gitlab_com/_index.md#gitlabcom-specific-rate-limits).
[authenticated web request rate limits](../../user/gitlab_com/_index.md#rate-limits-on-gitlabcom).
These limits are set to 1000 requests per minute per user.
Each Git LFS object uploaded or downloaded generates an HTTP request that counts toward

View File

@ -146,7 +146,7 @@ This setting applies only to repositories
[imported from a GitLab export file](../../user/project/settings/import_export.md#import-a-project-and-its-data).
If you choose a size larger than the configured value for the web server,
you may receive errors. See the [troubleshooting section](../settings/account_and_limit_settings.md#troubleshooting) for more
you may receive errors. See the [troubleshooting section](account_and_limit_settings.md#troubleshooting) for more
details.
For GitLab.com repository size limits, read [accounts and limit settings](../../user/gitlab_com/_index.md#account-and-limit-settings).

View File

@ -18,7 +18,7 @@ publish and share packages, which others can consume as a dependency in downstre
the [Packages API](../../api/packages.md).
If downstream projects frequently download such dependencies, many requests are made through the
Packages API. You may therefore reach enforced [user and IP rate limits](../settings/user_and_ip_rate_limits.md).
Packages API. You may therefore reach enforced [user and IP rate limits](user_and_ip_rate_limits.md).
To address this issue, you can define specific rate limits for the Packages API:
- [Unauthenticated requests (per IP)](#enable-unauthenticated-request-rate-limit-for-packages-api).

View File

@ -56,16 +56,16 @@ In the following table, you can see:
| Feature | Available in |
| ------ | ------ |
| [Email from GitLab](../email_from_gitlab.md) | GitLab 14.1 and later |
| [Repository size limit](../settings/account_and_limit_settings.md#repository-size-limit) | GitLab 14.4 and later |
| [Repository size limit](account_and_limit_settings.md#repository-size-limit) | GitLab 14.4 and later |
| [Group access restriction by IP address](../../user/group/access_and_permissions.md#restrict-group-access-by-ip-address) | GitLab 14.4 and later |
| [View description change history](../../user/discussions/_index.md#view-description-change-history) | GitLab 16.0 and later |
| [Maintenance mode](../maintenance_mode/_index.md) | GitLab 16.0 and later |
| [Configurable issue boards](../../user/project/issue_board.md#configurable-issue-boards) | GitLab 16.0 and later |
| [Coverage-guided fuzz testing](../../user/application_security/coverage_fuzzing/_index.md) | GitLab 16.0 and later |
| [Password complexity requirements](../settings/sign_up_restrictions.md#password-complexity-requirements) | GitLab 16.0 and later |
| [Password complexity requirements](sign_up_restrictions.md#password-complexity-requirements) | GitLab 16.0 and later |
| [Group wikis](../../user/project/wiki/group.md) | GitLab 16.5 and later |
| [Issue analytics](../../user/group/issues_analytics/_index.md) | GitLab 16.5 and later |
| [Custom Text in Emails](../settings/email.md#custom-additional-text) | GitLab 16.5 and later |
| [Custom Text in Emails](email.md#custom-additional-text) | GitLab 16.5 and later |
| [Contribution analytics](../../user/group/contribution_analytics/_index.md) | GitLab 16.5 and later |
| [Group file templates](../../user/group/manage.md#group-file-templates) | GitLab 16.6 and later |
| [Group webhooks](../../user/project/integrations/webhooks.md#group-webhooks) | GitLab 16.6 and later |
@ -101,7 +101,7 @@ for all authenticated users, and on the **Admin** area pages. The statuses are:
- Red: The version of GitLab you are running is vulnerable. You should install
the latest version with security fixes as soon as possible.
![Version check showing that a non-critical update is available for the GitLab instance](../settings/img/non_critical_update_available_v10_6.png)
![Version check showing that a non-critical update is available for the GitLab instance](img/non_critical_update_available_v10_6.png)
### Enable or disable version check

View File

@ -291,7 +291,7 @@ The following limits apply to the GitLab GraphQL API.
| Maximum page size | 100 records (nodes) per page. Applies to most connections in the API. Particular connections may have different max page size limits that are higher or lower. |
| [Maximum query complexity](#maximum-query-complexity) | 200 for unauthenticated requests and 250 for authenticated requests. |
| Maximum query size | 10,000 characters per query or mutation. If this limit is reached, use [variables](https://graphql.org/learn/queries/#variables) and [fragments](https://graphql.org/learn/queries/#fragments) to reduce the query or mutation size. Remove white spaces as last resort. |
| Rate limits | For GitLab.com, see [GitLab.com-specific rate limits](../../user/gitlab_com/_index.md#gitlabcom-specific-rate-limits). |
| Rate limits | For GitLab.com, see [GitLab.com-specific rate limits](../../user/gitlab_com/_index.md#rate-limits-on-gitlabcom). |
| Request timeout | 30 seconds. |
### Maximum query complexity

View File

@ -20816,6 +20816,15 @@ Stores Amazon S3 configurations for audit event streaming.
| <a id="amazons3configurationtypeid"></a>`id` | [`ID!`](#id) | ID of the configuration. |
| <a id="amazons3configurationtypename"></a>`name` | [`String!`](#string) | Name of the external destination to send audit events to. |
### `AncestorType`
#### Fields
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="ancestortypename"></a>`name` | [`String`](#string) | Name of the ancestor. |
| <a id="ancestortypeversion"></a>`version` | [`String`](#string) | Version of the ancestor. |
### `ApiFuzzingCiConfiguration`
Data associated with configuring API fuzzing scans in GitLab CI.
@ -29796,6 +29805,7 @@ Represents an entry from the Cloud License history.
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="locationancestors"></a>`ancestors` | [`[AncestorType!]`](#ancestortype) | Ancestors of the dependency. |
| <a id="locationblobpath"></a>`blobPath` | [`String`](#string) | HTTP URI path to view the input file in GitLab. |
| <a id="locationpath"></a>`path` | [`String`](#string) | Path, relative to the root of the repository, of the filewhich was analyzed to detect the dependency. |
| <a id="locationtoplevel"></a>`topLevel` | [`Boolean`](#boolean) | Is top level dependency. |

View File

@ -375,7 +375,7 @@ When the parameter `statistics=true` is used and the authenticated user is an ad
- `container_registry_size_is_estimated`: Indicates whether the size is an exact calculation based on actual data from all repositories (`false`) or estimated due to performance constraints (`true`).
For self-managed instances, the [container registry metadata database](../administration/packages/container_registry_metadata_database.md) must be enabled to include the container registry size attributes.
For GitLab Self-Managed instances, the [container registry metadata database](../administration/packages/container_registry_metadata_database.md) must be enabled to include the container registry size attributes.
```json
[

View File

@ -129,7 +129,9 @@ curl --request GET \
{{< /history >}}
Creates a project access token for a specified project. You cannot create a token with an access level greater than your account. For example, a user with the Maintainer role cannot create a project access token with the Owner role.
Creates a project access token for a specified project. You cannot create a token with an access level greater than your account. For example, a user with the Maintainer role cannot create a project access token with the Owner role.
You must use a personal access token with this endpoint. You cannot authenticate with a project access token. There is an [open feature request](https://gitlab.com/gitlab-org/gitlab/-/issues/359953) to add this functionality.
```plaintext
POST projects/:id/access_tokens
@ -146,7 +148,7 @@ POST projects/:id/access_tokens
```shell
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "PRIVATE-TOKEN: <your_personal_access_token>" \
--header "Content-Type:application/json" \
--data '{ "name":"test_token", "scopes":["api", "read_repository"], "expires_at":"2021-01-31", "access_level":30 }' \
--url "https://gitlab.example.com/api/v4/projects/<project_id>/access_tokens"

View File

@ -78,7 +78,7 @@ Supported attributes:
The responses include attributes related to container registry storage size:
- `container_registry_size`: Total storage size in bytes used by all container repositories in the project. Updated whenever container images are pushed or deleted. For self-managed instances, requires the [container registry metadata database](../administration/packages/container_registry_metadata_database.md) to be enabled.
- `container_registry_size`: Total storage size in bytes used by all container repositories in the project. Updated whenever container images are pushed or deleted. For GitLab Self-Managed instances, requires the [container registry metadata database](../administration/packages/container_registry_metadata_database.md) to be enabled.
Example response:

View File

@ -55,7 +55,7 @@ instance being overloaded.
- For details, see [Rate limits](../../security/rate_limits.md).
- For details of the rate limit settings used by
GitLab.com, see
[GitLab.com-specific rate limits](../../user/gitlab_com/_index.md#gitlabcom-specific-rate-limits).
[GitLab.com-specific rate limits](../../user/gitlab_com/_index.md#rate-limits-on-gitlabcom).
## Response format

View File

@ -151,7 +151,7 @@ If parsing JUnit report XML results in an error, an indicator is shown next to t
![Test Reports With Errors](img/pipelines_junit_test_report_with_errors_v13_10.png)
For test case parsing limits, see [Max test cases per unit test report](../../user/gitlab_com/_index.md#gitlab-cicd).
For test case parsing limits, see [Max test cases per unit test report](../../user/gitlab_com/_index.md#cicd).
GitLab does not parse very [large nodes](https://nokogiri.org/tutorials/parsing_an_html_xml_document.html#parse-options) of JUnit reports. There is [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/268035) open to make this optional.

View File

@ -1319,7 +1319,7 @@ attached to the job when it [succeeds, fails, or always](#artifactswhen).
The artifacts are sent to GitLab after the job finishes. They are
available for download in the GitLab UI if the size is smaller than the
[maximum artifact size](../../user/gitlab_com/_index.md#gitlab-cicd).
[maximum artifact size](../../user/gitlab_com/_index.md#cicd).
By default, jobs in later stages automatically download all the artifacts created
by jobs in earlier stages. You can control artifact download behavior in jobs with

View File

@ -24,7 +24,7 @@ Use [`artifacts:reports`](_index.md#artifactsreports) to:
Artifacts created for `artifacts: reports` are always uploaded, regardless of the job results (success or failure).
You can use [`artifacts:expire_in`](_index.md#artifactsexpire_in) to set an expiration
time for the artifacts, which overrides the instance's [default setting](../../administration/settings/continuous_integration.md#maximum-artifacts-size).
GitLab.com might have a [different default artifacts expiry value](../../user/gitlab_com/_index.md#gitlab-cicd).
GitLab.com might have a [different default artifacts expiry value](../../user/gitlab_com/_index.md#cicd).
Some `artifacts:reports` types can be generated by multiple jobs in the same pipeline, and used by merge request or
pipeline features from each job.
@ -308,7 +308,7 @@ The exceptions to the [original dotenv rules](https://github.com/motdotla/dotenv
- The variable key can contain only letters, digits, and underscores (`_`).
- The maximum size of the `.env` file is 5 KB.
This limit [can be changed on GitLab Self-Managed](../../administration/instance_limits.md#limit-dotenv-file-size).
- On GitLab.com, [the maximum number of inherited variables](../../user/gitlab_com/_index.md#gitlab-cicd)
- On GitLab.com, [the maximum number of inherited variables](../../user/gitlab_com/_index.md#cicd)
is 50 for Free, 100 for Premium and 150 for Ultimate. The default for
GitLab Self-Managed is 20, and can be changed by changing the
`dotenv_variables` [application limit](../../administration/instance_limits.md#limit-dotenv-variables).

View File

@ -8,7 +8,14 @@ title: GitLab Duo licensing for local development
This document explains the different licensing options available for GitLab Duo features in local development environments.
> **Note:** When developing GitLab Duo features, it's important to test in both multi-tenant (GitLab.com) and single-tenant (Self-managed/Dedicated) environments where appropriate. There is no default or recommended approach - the setup you choose should be based on your specific testing requirements.
{{< alert type="note" >}}
When developing GitLab Duo features, it's important to test in both multi-tenant
(GitLab.com) and single-tenant (GitLab Self-Managed/Dedicated) environments where
appropriate. There is no default or recommended approach - the setup you choose
should be based on your specific testing requirements.
{{< /alert >}}
## Overview
@ -27,7 +34,7 @@ You should choose a license setup based on your development needs. Each approach
| Development Scenario | License Setup | Instructions |
|----------------------|---------------------------|-------------|
| Multi-tenant setup (GitLab.com) | Local license with Rake task | [Option A](#option-a-local-license-with-rake-task-multi-tenantgitlabcom-mode) |
| Single-tenant setup (Self-managed/Dedicated) | Local license with Rake task in self-managed mode | [Option B](#option-b-local-license-with-rake-task-in-self-managed-mode-single-tenant-setup) |
| Single-tenant setup (GitLab Self-Managed/Dedicated) | Local license with Rake task in self-managed mode | [Option B](#option-b-local-license-with-rake-task-in-self-managed-mode-single-tenant-setup) |
| Full dog-fooding experience | Cloud license via CustomersDot | [Option C](#option-c-cloud-license-via-customersdot) |
## Prerequisites for all options
@ -115,7 +122,7 @@ This approach configures your environment to behave like a self-managed or Dedic
### When to use
- When you need to test in a single-tenant environment (similar to Self-managed or Dedicated)
- When you need to test in a single-tenant environment (similar to GitLab Self-Managed or Dedicated)
- When developing features that are specific to or need validation in self-managed or Dedicated environments
- When testing integration points that behave differently in single-tenant mode
@ -275,7 +282,7 @@ If you're having issues with your Duo license setup:
## Additional resources
- [AI Features Documentation](../ai_features/_index.md)
- [Code Suggestions Development](../ai_features/code_suggestions.md)
- [License Management Guidelines for Code Suggestions](../ai_features/code_suggestions.md#setup-instructions-to-use-gdk-with-the-code-suggestions-add-on)
- [AI Features Documentation](_index.md)
- [Code Suggestions Development](code_suggestions.md)
- [License Management Guidelines for Code Suggestions](code_suggestions.md#setup-instructions-to-use-gdk-with-the-code-suggestions-add-on)
- [Duo Enterprise License Access Process for Staging Environment](https://gitlab.com/gitlab-com/runbooks/-/blob/master/docs/duo/duo_license.md?ref_type=heads)

View File

@ -35,7 +35,7 @@ This should enable everyone to locally see how any change made in an IDE is sent
1. In your terminal, go to your `gitlab-development-kit` > `gitlab` directory.
1. Run `gdk rails console` or `bundle exec rails c` to start a Rails console.
1. [Enable the Feature Flag](../../administration/feature_flags.md#enable-or-disable-the-feature) for the Code Suggestions tokens API by calling `Feature.enable(:ai_duo_code_suggestions_switch)` from the console.
1. [Setup AI gateway](../ai_features/_index.md#required-install-ai-gateway).
1. [Setup AI gateway](_index.md#required-install-ai-gateway).
1. Run your GDK server with `gdk start` if it's not already running.
### Setup instructions to use staging AI gateway
@ -67,7 +67,7 @@ with the deployed staging AI gateway. To do this:
**Option 1 - Recommended**
1. Ensure that you have a [GitLab Team Member License](https://handbook.gitlab.com/handbook/engineering/developer-onboarding/#working-on-gitlab-ee-developer-licenses) and that it is [activated](../../administration/license_file.md).
1. Follow the [Setup and Run GDK](../ai_features/_index.md#set-up-and-run-gdk) guide under the AI Features doc.
1. Follow the [Setup and Run GDK](_index.md#set-up-and-run-gdk) guide under the AI Features doc.
**Option 2**

View File

@ -299,7 +299,7 @@ We strongly recommend running the regression evaluator in at least the following
| Environment | Evaluation pipeline name |
| ----------- | ------------------------ |
| Self-managed GitLab and a custom model that is widely adopted | `duo-chat regression sm: [bedrock_mistral_8x7b_instruct]` |
| GitLab Self-Managed and a custom model that is widely adopted | `duo-chat regression sm: [bedrock_mistral_8x7b_instruct]` |
| GitLab.com and GitLab Duo Enterprise add-on | `duo-chat regression .com: [duo_enterprise]` |
| GitLab.com and GitLab Duo Pro add-on | `duo-chat regression .com: [duo_pro]` |
@ -477,7 +477,7 @@ The analysis can contain any of the attributes defined in the latest [iglu schem
This table describes the requirements for the `access_duo_chat` policy to
return `true` in different contexts.
| | GitLab.com | Dedicated or Self-managed | All instances |
| | GitLab.com | Dedicated or GitLab Self-Managed | All instances |
|----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| for user outside of project or group (`user.can?(:access_duo_chat)`) | User need to belong to at least one group on Premium or Ultimate tier with `duo_features_enabled` group setting switched on | - Instance needs to be on Premium or Ultimate tier<br>- Instance needs to have `duo_features_enabled` setting switched on | |
| for user in group context (`user.can?(:access_duo_chat, group)`) | - User needs to belong to at least one group on Premium or Ultimate tier with `experiment_and_beta_features` group setting switched on<br>- Root ancestor group of the group needs to be on Premium or Ultimate tier and the group must have `duo_features_enabled` setting switched on | - Instance needs to be on Premium or Ultimate tier<br>- Instance needs to have `duo_features_enabled` setting switched on | User must have at least _read_ permissions on the group |

View File

@ -87,7 +87,7 @@ The following process outlines the steps to get embeddings generated and stored
Elastic::MigrationWorker.new.perform
```
1. Make sure you can run [GitLab Duo features on your local environment](../ai_features/_index.md#instructions-for-setting-up-gitlab-duo-features-in-the-local-development-environment).
1. Make sure you can run [GitLab Duo features on your local environment](_index.md#instructions-for-setting-up-gitlab-duo-features-in-the-local-development-environment).
1. Ensure running the following in a rails console outputs an embedding (a vector of 768 dimensions). If not, there is a problem with the AI setup.
```ruby

View File

@ -401,7 +401,7 @@ The AI Framework team should create a main migration issue following this templa
## Technical Details
- [Any technical specifics about this migration]
- [Impact on GitLab.com and self-managed instances]
- [Impact on GitLab.com and GitLab Self-Managed instances]
## Implementation Steps
- [ ] Update model configurations in each feature

View File

@ -116,7 +116,7 @@ The endpoints continue to respond with the same fields and accept the same
arguments, although the underlying feature interaction is no longer operational.
The intended changes must be documented ahead of time
[following the v4 deprecation guide](../development/documentation/restful_api_styleguide.md#deprecations).
[following the v4 deprecation guide](documentation/restful_api_styleguide.md#deprecations).
For example, when we removed an application setting, we
[kept the old API field](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83984)

View File

@ -151,7 +151,7 @@ end
### Subscription Plans
Self-managed:
GitLab Self-Managed:
- `default`: Everyone.
@ -187,7 +187,7 @@ The process for adding a new throttle is loosely:
and apply it to the desired requests.
1. Add the new settings to the **Admin** area form in `app/views/admin/application_settings/_ip_limits.html.haml`.
1. Document the new settings in [User and IP rate limits](../administration/settings/user_and_ip_rate_limits.md) and [Application settings API](../api/settings.md).
1. Configure the rate limit for GitLab.com and document it in [GitLab.com-specific rate limits](../user/gitlab_com/_index.md#gitlabcom-specific-rate-limits).
1. Configure the rate limit for GitLab.com and document it in [rate limits on GitLab.com](../user/gitlab_com/_index.md#rate-limits-on-gitlabcom).
Refer to these past issues for implementation details:

View File

@ -119,11 +119,10 @@ It picks reviewers and maintainers from the list at the
page, with these behaviors:
- It doesn't pick people whose Slack or [GitLab status](../user/profile/_index.md#set-your-status):
- Contains the string `OOO`, `PTO`, `Parental Leave`, `Friends and Family`, `Conference` or `BUSY`.
- Contains the string `OOO`, `PTO`, `Parental Leave`, `Friends and Family`, or `Conference`.
- Emoji is from one of these categories:
- **On leave** - 🌴 `palm_tree`, 🏖️ `beach`, ⛱ `beach_umbrella`, 🏖 `beach_with_umbrella`, 🌞 `sun_with_face`, 🎡 `ferris_wheel`, 🏙 `cityscape`
- **Out sick** - 🌡️ `thermometer`, 🤒 `face_with_thermometer`
- **BUSY** - 🔴 `red_circle`
- Important: The status emojis are not detected when present on the free text input **status message**. They have to be set on your GitLab **status emoji** by clicking on the emoji selector beside the text input.
- It doesn't pick people who are already assigned a number of reviews that is equal to
or greater than their chosen "review limit". The review limit is the maximum number of

View File

@ -66,4 +66,4 @@ Before submitting a merge request for a new feature:
## Related links
- [Large tables limitations](../development/database/large_tables_limitations.md)
- [Large tables limitations](database/large_tables_limitations.md)

View File

@ -13,9 +13,9 @@ Use this guidance to help ensure you have the tools you need.
- Install a code editor, like VS Code or Sublime Text, to work with Markdown files.
- [Install Git](../../topics/git/how_to_install_git/_index.md) and
[add an SSH key to your GitLab profile](../../user/ssh.md#add-an-ssh-key-to-your-gitlab-account).
- Install documentation [linters](../documentation/testing/_index.md) and configure them in your code editor:
- [markdownlint](../documentation/testing/markdownlint.md)
- [Vale](../documentation/testing/vale.md)
- Install documentation [linters](testing/_index.md) and configure them in your code editor:
- [markdownlint](testing/markdownlint.md)
- [Vale](testing/vale.md)
- [Set up the docs site to build locally](https://gitlab.com/gitlab-org/technical-writing/docs-gitlab-com/-/blob/main/doc/setup.md).
- Optional. Install the [Conventional Comments](https://gitlab.com/conventionalcomments/conventional-comments-button) extension for Chrome.
The plugin adds **Conventional Comment** buttons to GitLab comments.

View File

@ -17,7 +17,7 @@ When the feature changes from experiment or beta to generally available:
- Remove the **Status** from the product availability details.
- Remove any language about the feature not being ready for production.
- Update the [history](../documentation/styleguide/availability_details.md#history).
- Update the [history](styleguide/availability_details.md#history).
## Features that require user enrollment or feedback

View File

@ -48,7 +48,7 @@ When documenting the [offerings](styleguide/availability_details.md#offering), f
## Add history text
When the state of a flag changes (for example, from disabled by default to enabled by default), add the change to the
[history](../documentation/styleguide/availability_details.md#history).
[history](styleguide/availability_details.md#history).
Possible history entries are:

View File

@ -104,7 +104,7 @@ Example response:
## History
Add [history](../documentation/styleguide/availability_details.md#history)
Add [history](styleguide/availability_details.md#history)
to describe new or updated API calls.
To add history for an individual attribute, include it in the history
@ -126,7 +126,7 @@ If the API or attribute is deployed behind a feature flag,
## Deprecations
To document the deprecation of an API endpoint, follow the steps to
[deprecate a page or topic](../documentation/styleguide/deprecations_and_removals.md).
[deprecate a page or topic](styleguide/deprecations_and_removals.md).
To deprecate an attribute:

View File

@ -98,7 +98,7 @@ In addition:
- Ensure that the output generates properly.
- Ensure the version history begins with `-`.
- If possible, include a link to the related issue. If there is no related issue, link to a merge request, or epic.
- Do not link to [confidential issues](../styleguide/_index.md#confidential-or-restricted-access-links).
- Do not link to [confidential issues](_index.md#confidential-or-restricted-access-links).
- Do not link to the pricing page. Do not include the subscription tier.
#### Updated features

View File

@ -11,7 +11,7 @@ recommends these word choices. In addition:
- The GitLab handbook contains a list of
[top misused terms](https://handbook.gitlab.com/handbook/communication/top-misused-terms/).
- The documentation [style guide](../styleguide/_index.md#language) includes details
- The documentation [style guide](_index.md#language) includes details
about language and capitalization.
- The GitLab handbook provides guidance on the [use of third-party trademarks](https://handbook.gitlab.com/handbook/legal/policies/product-third-party-trademarks-guidelines/#process-for-adding-third-party-trademarks-to-gitlab).
@ -873,7 +873,7 @@ Do not use Latin abbreviations. Use **for example**, **such as**, **for instance
Avoid ellipses when you can. If you must include them, for example as part of a code block or other CLI response,
use three periods with no space (`...`) instead of the `&hellip;` HTML entity or the `&#8230;` HTML code.
For more information, see [code blocks](../styleguide/_index.md#code-blocks).
For more information, see [code blocks](_index.md#code-blocks).
Do not include any ellipses when documenting UI text.

View File

@ -180,7 +180,7 @@ The following diagram illustrates the process:
## Data flow
On SaaS event records are directly sent to a collection system, called Snowplow, and imported into our data warehouse.
Self-managed and GitLab Dedicated instances record event counts locally. Every week, a process called Service Ping sends the current
GitLab Self-Managed and GitLab Dedicated instances record event counts locally. Every week, a process called Service Ping sends the current
values for all pre-defined and active metrics to our data warehouse. For GitLab.com, metrics are calculated directly in the data warehouse.
The following chart aims to illustrate this data flow:

View File

@ -368,7 +368,7 @@ This guide describes how to migrate a Service Ping metric from [`lib/gitlab/usag
- Add tests for the individual metric [`spec/lib/gitlab/usage/metrics/instrumentations/`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/usage/metrics/instrumentations).
- Add tests for Service Ping.
1. [Generate the metric definition file](../metrics/metrics_dictionary.md#create-a-new-metric-definition).
1. [Generate the metric definition file](metrics_dictionary.md#create-a-new-metric-definition).
1. Remove the code from [`lib/gitlab/usage_data.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb) or [`ee/lib/ee/gitlab/usage_data.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/gitlab/usage_data.rb).

View File

@ -1572,7 +1572,7 @@ D, [2020-07-06T00:37:12.653648 #130101] DEBUG -- : ↳ config/initializers/con
Here's a list of current [high-traffic tables](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml).
Determining what tables are high-traffic can be difficult. Self-managed instances might use
Determining what tables are high-traffic can be difficult. GitLab Self-Managed instances might use
different features of GitLab with different usage patterns, thus making assumptions based
on GitLab.com not enough.

View File

@ -243,7 +243,7 @@ the package format does not upload and store package files.
#### Rate Limits on GitLab.com
Package manager clients can make rapid requests that exceed the
[GitLab.com standard API rate limits](../../user/gitlab_com/_index.md#gitlabcom-specific-rate-limits).
[GitLab.com standard API rate limits](../../user/gitlab_com/_index.md#rate-limits-on-gitlabcom).
This results in a `429 Too Many Requests` error.
We have opened a set of paths to allow higher rate limits. Unless it is not possible,

View File

@ -33,7 +33,7 @@ This document describes various guidelines to ensure good and consistent perform
- [GitLab performance monitoring](../administration/monitoring/performance/_index.md)
- [Development department performance indicators](https://handbook.gitlab.com/handbook/engineering/development/performance-indicators/)
- [Service measurement](service_measurement.md)
- Self-managed administration and customer-focused:
- GitLab Self-Managed administration and customer-focused:
- [File system performance benchmarking](../administration/operations/filesystem_benchmarking.md)
- [Sidekiq performance troubleshooting](../administration/sidekiq/sidekiq_troubleshooting.md)

View File

@ -41,7 +41,7 @@ Like default roles, custom roles are [inherited](../../user/project/members/_ind
### Finding existing abilities checks
Abilities are often [checked in multiple locations](../permissions/authorizations.md#where-should-permissions-be-checked) for a single endpoint or web request. Therefore, it can be difficult to find the list of authorization checks that are run for a given endpoint.
Abilities are often [checked in multiple locations](authorizations.md#where-should-permissions-be-checked) for a single endpoint or web request. Therefore, it can be difficult to find the list of authorization checks that are run for a given endpoint.
To assist with this, you can locally set `GITLAB_DEBUG_POLICIES=true`.

View File

@ -59,7 +59,7 @@ Before any upgrade, consider all audiences and targets, ordered by how immediate
GitLab SaaS is affected with the next deployment.
1. **GitLab Self-Managed.** Customers installing GitLab via [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab) use none of the above.
Instead, their Ruby version is defined by the [Ruby software bundle](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/config/software/ruby.rb) in Omnibus.
Self-managed customers are affected as soon as they upgrade to the release containing this change.
GitLab Self-Managed customers are affected as soon as they upgrade to the release containing this change.
## Ruby upgrade approach

View File

@ -196,7 +196,7 @@ Add a migration (not a post-deployment migration) that uses `sidekiq_remove_jobs
### In the M+2 release
Delete the worker class file and follow the guidance in our [Sidekiq queues documentation](../sidekiq/_index.md#sidekiq-queues) around running Rake tasks to regenerate/update related files.
Delete the worker class file and follow the guidance in our [Sidekiq queues documentation](_index.md#sidekiq-queues) around running Rake tasks to regenerate/update related files.
## Renaming queues

View File

@ -22,7 +22,7 @@ information on general testing practices at GitLab.
If you are looking for a guide on Vue component testing, you can jump right away to this [section](../fe_guide/vue.md#testing-vue-components).
Information on testing Vue 3 is contained in [this page](../testing_guide/testing_vue3.md).
Information on testing Vue 3 is contained in [this page](testing_vue3.md).
## Jest

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