From bd79f50c74b78c0d3aeaf31d94fc2eb85361c0ed Mon Sep 17 00:00:00 2001 From: Aakriti Gupta Date: Tue, 7 Oct 2025 14:58:16 +0200 Subject: [PATCH] Move docs to new container registry directory --- ...iner_registry_metadata_database_banner.vue | 2 +- .../backup_restore/backup_gitlab.md | 2 +- doc-locale/ja-jp/administration/geo/_index.md | 2 +- .../ja-jp/administration/object_storage.md | 2 +- .../packages/container_registry.md | 10 +-- doc-locale/ja-jp/api/container_registry.md | 4 +- doc-locale/ja-jp/api/groups.md | 2 +- doc-locale/ja-jp/api/projects.md | 2 +- doc-locale/ja-jp/install/next_steps.md | 2 +- .../update/versions/gitlab_16_changes.md | 2 +- .../container_scanning/_index.md | 2 +- doc-locale/ja-jp/user/gitlab_com/_index.md | 2 +- .../packages/container_registry/_index.md | 4 +- .../reduce_container_registry_storage.md | 12 +-- .../project/repository/branches/_index.md | 2 +- .../backup_restore/backup_gitlab.md | 2 +- .../troubleshooting_backup_gitlab.md | 2 +- .../configure_instance/network_security.md | 2 +- doc/administration/geo/_index.md | 2 +- .../geo/replication/container_registry.md | 6 +- .../geo/replication/datatypes.md | 2 +- .../synchronization_verification.md | 2 +- doc/administration/object_storage.md | 2 +- .../package_information/defaults.md | 2 +- .../index.md} | 86 +++++++++---------- .../metadata_database.md} | 74 ++++++++-------- .../troubleshooting.md} | 26 +++--- doc/administration/postgresql/external.md | 2 +- doc/administration/raketasks/cleanup.md | 2 +- doc/administration/silent_mode/_index.md | 2 +- .../gitlab_rails_cheat_sheet.md | 4 +- doc/api/container_registry.md | 4 +- doc/api/groups.md | 2 +- doc/api/projects.md | 2 +- doc/development/architecture.md | 2 +- doc/install/google_cloud_platform/_index.md | 2 +- doc/install/next_steps.md | 2 +- ...hardening_configuration_recommendations.md | 2 +- doc/security/hardening_nist_800_53.md | 2 +- doc/subscriptions/gitlab_dedicated/_index.md | 4 +- doc/topics/offline/quick_start_guide.md | 4 +- doc/update/versions/gitlab_16_changes.md | 2 +- .../container_scanning/_index.md | 2 +- doc/user/gitlab_com/_index.md | 2 +- .../packages/container_registry/_index.md | 4 +- .../authenticate_with_container_registry.md | 4 +- .../container_registry/cosign_tutorial.md | 2 +- .../delete_container_registry_images.md | 4 +- .../immutable_container_tags.md | 4 +- .../protected_container_tags.md | 4 +- .../reduce_container_registry_storage.md | 12 +-- .../troubleshoot_container_registry.md | 2 +- .../project/repository/branches/_index.md | 2 +- .../groups/container_registry_spec.rb | 2 +- .../projects/container_registry_spec.rb | 2 +- .../settings/registry_settings_spec.rb | 2 +- 56 files changed, 173 insertions(+), 173 deletions(-) rename doc/administration/packages/{container_registry.md => container_registry/index.md} (92%) rename doc/administration/packages/{container_registry_metadata_database.md => container_registry/metadata_database.md} (91%) rename doc/administration/packages/{container_registry_troubleshooting.md => container_registry/troubleshooting.md} (93%) diff --git a/app/assets/javascripts/packages_and_registries/shared/components/container_registry_metadata_database_banner.vue b/app/assets/javascripts/packages_and_registries/shared/components/container_registry_metadata_database_banner.vue index 366994c902d900..43bc186f6d934c 100644 --- a/app/assets/javascripts/packages_and_registries/shared/components/container_registry_metadata_database_banner.vue +++ b/app/assets/javascripts/packages_and_registries/shared/components/container_registry_metadata_database_banner.vue @@ -17,7 +17,7 @@ export default { }; }, metadataDatabaseHelpPagePath: helpPagePath( - 'administration/packages/container_registry_metadata_database.md', + 'administration/packages/container_registry/metadata_database.md', ), computed: { buttonAttributes() { diff --git a/doc-locale/ja-jp/administration/backup_restore/backup_gitlab.md b/doc-locale/ja-jp/administration/backup_restore/backup_gitlab.md index 6f36321ccb9284..07801c9a800ec3 100644 --- a/doc-locale/ja-jp/administration/backup_restore/backup_gitlab.md +++ b/doc-locale/ja-jp/administration/backup_restore/backup_gitlab.md @@ -114,7 +114,7 @@ GitLabは、イシューの添付ファイルやLFSオブジェクトなどのbl ### コンテナレジストリ -[GitLabコンテナレジストリ](../packages/container_registry.md)ストレージは、次のいずれかで設定できます。 +[GitLabコンテナレジストリ](../packages/container_registry/index.md)ストレージは、次のいずれかで設定できます。 - 特定の場所にあるファイルシステム。 - [オブジェクトストレージ](../object_storage.md)ソリューション。次のようなものがあります。 diff --git a/doc-locale/ja-jp/administration/geo/_index.md b/doc-locale/ja-jp/administration/geo/_index.md index 0fc123bcfa44a5..8e434f8d81755a 100644 --- a/doc-locale/ja-jp/administration/geo/_index.md +++ b/doc-locale/ja-jp/administration/geo/_index.md @@ -274,7 +274,7 @@ Geoプライマリサイトの内部URLを更新するには、次の手順に - Geoセカンダリサイトは、ほとんどの場合、パイプラインの最初のステージにおけるクローンリクエストを高速化(提供)しません。Gitの変更が大きい、帯域幅が小さい、パイプラインステージが短いといった理由により、後続のステージもセカンダリサイトから提供されるとは限りません。一般に、後続のステージに対するクローンリクエストはセカンダリサイトから提供されます。[イシュー446176](https://gitlab.com/gitlab-org/gitlab/-/issues/446176)では、この理由について説明するとともに、Runnerのクローンリクエストがセカンダリサイトから提供される可能性を高めるための機能拡張が提案されています。 - 単一のGitリポジトリに対して高頻度でプッシュが行われると、セカンダリサイトのローカルコピーが常に最新ではないという状態に陥る可能性があります。このような場合、そのリポジトリに対するすべてのGitフェッチがプライマリサイトに転送されることになります。[GitLabのイシュー455870](https://gitlab.com/gitlab-org/gitlab/-/issues/455870)を参照してください。 - [プロキシ](secondary_proxy/_index.md)機能は、PumaサービスまたはWebサービスのGitLabアプリケーションでのみ実装されているため、他のサービスではこの動作の恩恵を受けることができません。リクエストが常にプライマリサイトに送信されるようにするには、[別のURL](secondary_proxy/_index.md#set-up-a-separate-url-for-a-secondary-geo-site)を使用する必要があります。該当するサービスには、次のようなものがあります。 - - GitLabコンテナレジストリ - `registry.example.com`のように、[別のドメインを使用するように設定できます](../packages/container_registry.md#configure-container-registry-under-its-own-domain)。セカンダリサイトのコンテナレジストリは、ディザスタリカバリのみを目的としています。特にプッシュ操作の場合、ユーザーをセカンダリサイトにルーティングしないでください。データがプライマリサイトに伝播されないからです。 + - GitLabコンテナレジストリ - `registry.example.com`のように、[別のドメインを使用するように設定できます](../packages/container_registry/index.md#configure-container-registry-under-its-own-domain)。セカンダリサイトのコンテナレジストリは、ディザスタリカバリのみを目的としています。特にプッシュ操作の場合、ユーザーをセカンダリサイトにルーティングしないでください。データがプライマリサイトに伝播されないからです。 - GitLab Pages - [GitLab Pagesを運用するための前提要件](../pages/_index.md#prerequisites)の一部として、常に別のドメインを使用する必要があります。 - [統一されたURL](secondary_proxy/_index.md#set-up-a-unified-url-for-geo-sites)を使用している場合、Let's Encryptは同じドメインを通じて両方のIPアドレスに到達できなければ、証明書を生成できません。Let's Encryptが発行するTLS証明書を使用するには、ドメインをいずれかのGeoサイトに手動で割り当てて証明書を生成し、その後、その証明書を他のすべてのサイトにコピーします。 - [セカンダリサイトがプライマリサイトとは異なるURLを使用している](secondary_proxy/_index.md#set-up-a-separate-url-for-a-secondary-geo-site)場合、[SAMLを使用してセカンダリサイトにサインイン](replication/single_sign_on.md#saml-with-separate-url-with-proxying-enabled)するには、SAML Identity Provider(IdP)がアプリケーションに複数のコールバックURLを設定できる必要があります。 diff --git a/doc-locale/ja-jp/administration/object_storage.md b/doc-locale/ja-jp/administration/object_storage.md index 0aae7d84151336..bb1f6ffb2e84bf 100644 --- a/doc-locale/ja-jp/administration/object_storage.md +++ b/doc-locale/ja-jp/administration/object_storage.md @@ -143,7 +143,7 @@ gitlab_rails['artifacts_enabled'] = false | オブジェクトストレージタイプ | 統合形式でサポートされているか? | |---------------------|------------------------------------------| | [バックアップ](backup_restore/backup_gitlab.md#upload-backups-to-a-remote-cloud-storage) | {{< icon name="dotted-circle" >}} いいえ | -| [コンテナレジストリ](packages/container_registry.md#use-object-storage)(オプション機能) | {{< icon name="dotted-circle" >}} いいえ | +| [コンテナレジストリ](packages/container_registry/index.md#use-object-storage)(オプション機能) | {{< icon name="dotted-circle" >}} いいえ | | [Mattermost](https://docs.mattermost.com/configure/file-storage-configuration-settings.html)| {{< icon name="dotted-circle" >}} いいえ | | [自動スケールRunnerのキャッシュ](https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching)(パフォーマンスを向上させるためのオプション) | {{< icon name="dotted-circle" >}} いいえ | | [セキュアファイル](cicd/secure_files.md#using-object-storage) | {{< icon name="check-circle" >}} はい | diff --git a/doc-locale/ja-jp/administration/packages/container_registry.md b/doc-locale/ja-jp/administration/packages/container_registry.md index 4021b3441738b3..b392178e1bfea9 100644 --- a/doc-locale/ja-jp/administration/packages/container_registry.md +++ b/doc-locale/ja-jp/administration/packages/container_registry.md @@ -14,7 +14,7 @@ title: GitLabコンテナレジストリの管理 {{< alert type="note" >}} -[次世代コンテナレジストリ](container_registry_metadata_database.md)が、GitLab Self-Managedインスタンスでアップグレードできるようになりました。このアップグレードされたレジストリは、オンラインガベージコレクションをサポートするほか、パフォーマンスと信頼性が大幅に向上しています。 +[次世代コンテナレジストリ](container_registry/metadata_database.md)が、GitLab Self-Managedインスタンスでアップグレードできるようになりました。このアップグレードされたレジストリは、オンラインガベージコレクションをサポートするほか、パフォーマンスと信頼性が大幅に向上しています。 {{< /alert >}} @@ -601,7 +601,7 @@ storage: {{< alert type="warning" >}} -[AWS DataSync](https://aws.amazon.com/datasync/)を使用してレジストリデータをS3バケットに、またはS3バケット間でコピーすると、バケット内に無効なメタデータオブジェクトが作成されます。詳細については、[名前が空のタグ](container_registry_troubleshooting.md#tags-with-an-empty-name)を参照してください。S3バケットに、またはS3バケット間でデータを移動するには、AWS CLI `sync`操作をおすすめします。 +[AWS DataSync](https://aws.amazon.com/datasync/)を使用してレジストリデータをS3バケットに、またはS3バケット間でコピーすると、バケット内に無効なメタデータオブジェクトが作成されます。詳細については、[名前が空のタグ](container_registry/troubleshooting.md#tags-with-an-empty-name)を参照してください。S3バケットに、またはS3バケット間でデータを移動するには、AWS CLI `sync`操作をおすすめします。 {{< /alert >}} @@ -1114,7 +1114,7 @@ end {{< /history >}} -メタデータデータベースは、オンラインガベージコレクションなど、多くの新しいレジストリ機能を有効にするほか、多くのレジストリ操作の効率を向上させます。詳細については、[コンテナレジストリのメタデータデータベース](container_registry_metadata_database.md)のページを参照してください。 +メタデータデータベースは、オンラインガベージコレクションなど、多くの新しいレジストリ機能を有効にするほか、多くのレジストリ操作の効率を向上させます。詳細については、[コンテナレジストリのメタデータデータベース](container_registry/metadata_database.md)のページを参照してください。 ## コンテナレジストリのガベージコレクション @@ -1284,7 +1284,7 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ### 継続的なゼロダウンタイムのガベージコレクション -[メタデータデータベース](container_registry_metadata_database.md)に移行すると、ガベージコレクションのスケジュールを設定したり、読み取り専用モードを要求したりすることなく、バックグラウンドでガベージコレクションを実行できます。 +[メタデータデータベース](container_registry/metadata_database.md)に移行すると、ガベージコレクションのスケジュールを設定したり、読み取り専用モードを要求したりすることなく、バックグラウンドでガベージコレクションを実行できます。 ## コンポーネントごとのスケーリング @@ -1315,7 +1315,7 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ### オンラインガベージコレクション -1. **デフォルトを調整する**: オンラインガベージコレクションが[レビューキュー](container_registry_metadata_database.md#queue-monitoring)を確実にクリアしない場合は、[`gc`](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md?ref_type=heads#gc)設定セクションの`manifests`および`blobs`セクションで`interval`設定を調整できます。デフォルトは`5s`ですが、たとえば`500ms`のように、ミリ秒単位で設定することもできます。 +1. **デフォルトを調整する**: オンラインガベージコレクションが[レビューキュー](container_registry/metadata_database.md#queue-monitoring)を確実にクリアしない場合は、[`gc`](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md?ref_type=heads#gc)設定セクションの`manifests`および`blobs`セクションで`interval`設定を調整できます。デフォルトは`5s`ですが、たとえば`500ms`のように、ミリ秒単位で設定することもできます。 1. **レジストリサーバーで水平方向にスケールする**: マルチノードデプロイでレジストリアプリケーションを水平方向にスケールしている場合、設定を変更する必要なしに、オンラインガベージコレクションは自動的にスケールします。 ## 別々のノードでGitLabとレジストリを設定する(Linuxパッケージのインストール) diff --git a/doc-locale/ja-jp/api/container_registry.md b/doc-locale/ja-jp/api/container_registry.md index c28b83b525fa31..3fac5319d0d5f8 100644 --- a/doc-locale/ja-jp/api/container_registry.md +++ b/doc-locale/ja-jp/api/container_registry.md @@ -325,7 +325,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: " \ "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0" ``` -この操作ではblobは削除されません。ディスク容量を回復させるには、[ガベージコレクションを実行](../administration/packages/container_registry.md#container-registry-garbage-collection)します。 +この操作ではblobは削除されません。ディスク容量を回復させるには、[ガベージコレクションを実行](../administration/packages/container_registry/index.md#container-registry-garbage-collection)します。 ## レジストリリポジトリのタグを一括削除する @@ -359,7 +359,7 @@ DELETE /projects/:id/registry/repositories/:repository_id/tags これらの操作は非同期で実行されるため、実行されるまでに時間がかかる場合があります。操作は、特定のコンテナリポジトリに対して1時間に1回まで実行できます。 -この操作ではblobは削除されません。ディスク容量を回復させるには、[ガベージコレクションを実行](../administration/packages/container_registry.md#container-registry-garbage-collection)します。 +この操作ではblobは削除されません。ディスク容量を回復させるには、[ガベージコレクションを実行](../administration/packages/container_registry/index.md#container-registry-garbage-collection)します。 {{< alert type="warning" >}} diff --git a/doc-locale/ja-jp/api/groups.md b/doc-locale/ja-jp/api/groups.md index 17f0a51f889f5c..51dd1dcfed8c1a 100644 --- a/doc-locale/ja-jp/api/groups.md +++ b/doc-locale/ja-jp/api/groups.md @@ -370,7 +370,7 @@ GET /groups?statistics=true - `container_registry_size_is_estimated`:サイズが、すべてのリポジトリの実際のデータに基づいた正確な計算であるか(`false`)、パフォーマンスの制約による見積もりであるか(`true`)を示します。 -GitLab Self-Managedインスタンスの場合、コンテナレジストリサイズ属性を含めるには、[コンテナレジストリメタデータデータベース](../administration/packages/container_registry_metadata_database.md)を有効にする必要があります。 +GitLab Self-Managedインスタンスの場合、コンテナレジストリサイズ属性を含めるには、[コンテナレジストリメタデータデータベース](../administration/packages/container_registry/metadata_database.md)を有効にする必要があります。 ```json [ diff --git a/doc-locale/ja-jp/api/projects.md b/doc-locale/ja-jp/api/projects.md index de2ebf023c8519..b5f3a5fb24fd3e 100644 --- a/doc-locale/ja-jp/api/projects.md +++ b/doc-locale/ja-jp/api/projects.md @@ -76,7 +76,7 @@ GET /projects/:id 応答には、コンテナレジストリのストレージサイズに関連する属性が含まれています。 -- `container_registry_size`:プロジェクト内のすべてのコンテナリポジトリで使用されるストレージサイズの合計(バイト単位)。コンテナイメージがプッシュまたは削除されるたびに更新されます。GitLab Self-Managedインスタンスでは、[コンテナレジストリメタデータデータベース](../administration/packages/container_registry_metadata_database.md)を有効にする必要があります。 +- `container_registry_size`:プロジェクト内のすべてのコンテナリポジトリで使用されるストレージサイズの合計(バイト単位)。コンテナイメージがプッシュまたは削除されるたびに更新されます。GitLab Self-Managedインスタンスでは、[コンテナレジストリメタデータデータベース](../administration/packages/container_registry/metadata_database.md)を有効にする必要があります。 応答の例: diff --git a/doc-locale/ja-jp/install/next_steps.md b/doc-locale/ja-jp/install/next_steps.md index 8da01068347379..1dd8c937b889c9 100644 --- a/doc-locale/ja-jp/install/next_steps.md +++ b/doc-locale/ja-jp/install/next_steps.md @@ -25,7 +25,7 @@ title: GitLabインストール後の手順 ## コンテナレジストリ -- [コンテナレジストリ](../administration/packages/container_registry.md): 各GitLabプロジェクトのコンテナイメージを保存するための統合コンテナレジストリ +- [コンテナレジストリ](../administration/packages/container_registry/index.md): 各GitLabプロジェクトのコンテナイメージを保存するための統合コンテナレジストリ - [GitLab依存プロキシ](../administration/packages/dependency_proxy.md): より高速で信頼性の高いビルドのために、Docker Hubからコンテナイメージをキャッシュできるよう、依存プロキシを設定します。 ## Pages diff --git a/doc-locale/ja-jp/update/versions/gitlab_16_changes.md b/doc-locale/ja-jp/update/versions/gitlab_16_changes.md index 81944f00ae84b0..0eeefee2935e2e 100644 --- a/doc-locale/ja-jp/update/versions/gitlab_16_changes.md +++ b/doc-locale/ja-jp/update/versions/gitlab_16_changes.md @@ -788,7 +788,7 @@ Geoを使用するインストールには、特定の情報が適用されま - Goアプリケーションの場合、[`crypto/tls`: 大規模なRSAキーを含む証明書チェーンの検証が遅い (CVE-2023-29409)](https://github.com/golang/go/issues/61460)により、RSAキーのハードリミットが8192ビットに設定されました。GitLabのGoアプリケーションのコンテキストでは、RSAキーは以下のように構成できます。 - - [コンテナレジストリ](../../administration/packages/container_registry.md) + - [コンテナレジストリ](../../administration/packages/container_registry/index.md) - [Gitaly](../../administration/gitaly/tls_support.md) - [GitLab Pages](../../user/project/pages/custom_domains_ssl_tls_certification/_index.md#manual-addition-of-ssltls-certificates) - [Workhorse](../../development/workhorse/configuration.md#tls-support) diff --git a/doc-locale/ja-jp/user/application_security/container_scanning/_index.md b/doc-locale/ja-jp/user/application_security/container_scanning/_index.md index e978507a7de1f5..1c381679b38477 100644 --- a/doc-locale/ja-jp/user/application_security/container_scanning/_index.md +++ b/doc-locale/ja-jp/user/application_security/container_scanning/_index.md @@ -815,7 +815,7 @@ EOL検出を有効にするには、`CS_REPORT_OS_EOL`を`"true"`に設定しま - レジストリのコンテナスキャンを有効にするには、少なくともプロジェクトのメンテナーロールが必要です。 - 使用するプロジェクトが空であってはなりません。コンテナイメージの保存のみを目的として空のプロジェクトを利用している場合、この機能は意図したとおりに機能しません。回避策として、プロジェクトにデフォルトブランチへの最初のコミットが含まれていることを確認してください。 - デフォルトでは、1日あたり1プロジェクトにつき`50`回のスキャンに制限されています。 -- [コンテナレジストリ通知を設定する](../../../administration/packages/container_registry.md#configure-container-registry-notifications)必要があります。 +- [コンテナレジストリ通知を設定する](../../../administration/packages/container_registry/index.md#configure-container-registry-notifications)必要があります。 ### レジストリのコンテナスキャンを有効にする {#enabling-container-scanning-for-registry} diff --git a/doc-locale/ja-jp/user/gitlab_com/_index.md b/doc-locale/ja-jp/user/gitlab_com/_index.md index 5cc3bbee5977d2..45ef01743e5fc6 100644 --- a/doc-locale/ja-jp/user/gitlab_com/_index.md +++ b/doc-locale/ja-jp/user/gitlab_com/_index.md @@ -84,7 +84,7 @@ GitLabはGit上にビルドされているため、別のコンピューター | IPアドレス | `35.227.35.254` | | | CDNドメイン名 | `cdn.registry.gitlab-static.net` | | | CDN IPアドレス | `34.149.22.116` | | -| 認証トークンの有効期間(分) | `15` | [コンテナレジストリトークンの有効期間の延長](../../administration/packages/container_registry.md#increase-token-duration)を参照してください。 | +| 認証トークンの有効期間(分) | `15` | [コンテナレジストリトークンの有効期間の延長](../../administration/packages/container_registry/index.md#increase-token-duration)を参照してください。 | GitLabコンテナレジストリを使用するには、Dockerクライアントが以下にアクセスできる必要があります。 diff --git a/doc-locale/ja-jp/user/packages/container_registry/_index.md b/doc-locale/ja-jp/user/packages/container_registry/_index.md index b7bff7f5942b52..23518fb4c9db90 100644 --- a/doc-locale/ja-jp/user/packages/container_registry/_index.md +++ b/doc-locale/ja-jp/user/packages/container_registry/_index.md @@ -14,7 +14,7 @@ title: GitLabコンテナレジストリ 統合されたコンテナレジストリを使用して、各GitLabプロジェクトのコンテナイメージを保存できます。 -GitLabインスタンスのコンテナレジストリを有効にするには、[管理者ドキュメント](../../../administration/packages/container_registry.md)を参照してください。 +GitLabインスタンスのコンテナレジストリを有効にするには、[管理者ドキュメント](../../../administration/packages/container_registry/index.md)を参照してください。 {{< alert type="note" >}} @@ -176,7 +176,7 @@ GitLabコンテナレジストリでは、[OCI 1.1マニフェストの`subject` 前提要件: - コンテナイメージに署名するには、Cosign v2.0以降が必要です。 -- GitLab Self-Managedの場合、署名を表示するには、[メタデータデータベースで設定されたGitLabコンテナレジストリ](../../../administration/packages/container_registry_metadata_database.md)が必要です。 +- GitLab Self-Managedの場合、署名を表示するには、[メタデータデータベースで設定されたGitLabコンテナレジストリ](../../../administration/packages/container_registry/metadata_database.md)が必要です。 ### OCIリファラーデータを使用してコンテナイメージに署名する diff --git a/doc-locale/ja-jp/user/packages/container_registry/reduce_container_registry_storage.md b/doc-locale/ja-jp/user/packages/container_registry/reduce_container_registry_storage.md index 81092083b0046f..c61335acbef638 100644 --- a/doc-locale/ja-jp/user/packages/container_registry/reduce_container_registry_storage.md +++ b/doc-locale/ja-jp/user/packages/container_registry/reduce_container_registry_storage.md @@ -39,7 +39,7 @@ title: コンテナレジストリのストレージを削減する 前提要件: -- GitLab Self-Managedインスタンスの場合、管理者は[コンテナレジストリメタデータデータベースを有効にする](../../../administration/packages/container_registry_metadata_database.md)必要があります。 +- GitLab Self-Managedインスタンスの場合、管理者は[コンテナレジストリメタデータデータベースを有効にする](../../../administration/packages/container_registry/metadata_database.md)必要があります。 - 少なくともプロジェクトのメンテナーロールまたはネームスペースのオーナーロールが必要です。 プロジェクトのストレージ使用量を表示するには: @@ -58,7 +58,7 @@ title: コンテナレジストリのストレージを削減する 前提要件: -- GitLab Self-Managedインスタンスの場合、管理者は[コンテナレジストリメタデータデータベースを有効にする](../../../administration/packages/container_registry_metadata_database.md)必要があります。 +- GitLab Self-Managedインスタンスの場合、管理者は[コンテナレジストリメタデータデータベースを有効にする](../../../administration/packages/container_registry/metadata_database.md)必要があります。 - グループのオーナーロールが必要です。 グループのストレージ使用量を表示するには: @@ -130,7 +130,7 @@ GitLab Self-Managedインスタンスの場合、管理者がメタデータデ クリーンアップポリシーは、コンテナレジストリからタグを削除するために使用できるスケジュールされたジョブです。このポリシーが定義されているプロジェクトの場合、正規表現パターンに一致するタグは削除されます。基盤となるレイヤとイメージは残ります。 -タグに関連付けられていない基盤となるレイヤとイメージを削除するために、管理者は`-m`スイッチを指定して[ガベージコレクション](../../../administration/packages/container_registry.md#removing-untagged-manifests-and-unreferenced-layers)を使用できます。 +タグに関連付けられていない基盤となるレイヤとイメージを削除するために、管理者は`-m`スイッチを指定して[ガベージコレクション](../../../administration/packages/container_registry/index.md#removing-untagged-manifests-and-unreferenced-layers)を使用できます。 ### クリーンアップポリシーを有効にする @@ -350,7 +350,7 @@ APIを使用する場合の`older_than`(タグが自動的に削除される ### 外部コンテナレジストリで使用する -[外部コンテナレジストリ](../../../administration/packages/container_registry.md#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint)を使用する場合、プロジェクトでクリーンアップポリシーを実行すると、パフォーマンス上のリスクが生じる可能性があります。数千個のタグを削除するポリシーをプロジェクトで実行すると、GitLabのバックグラウンドジョブがバックアップされるか、完全に失敗する可能性があります。 +[外部コンテナレジストリ](../../../administration/packages/container_registry/index.md#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint)を使用する場合、プロジェクトでクリーンアップポリシーを実行すると、パフォーマンス上のリスクが生じる可能性があります。数千個のタグを削除するポリシーをプロジェクトで実行すると、GitLabのバックグラウンドジョブがバックアップされるか、完全に失敗する可能性があります。 ## コンテナレジストリのその他のストレージ削減オプション @@ -367,7 +367,7 @@ APIを使用する場合の`older_than`(タグが自動的に削除される コンテナレジストリのストレージサイズ情報を確認できない場合: -1. [メタデータデータベースが適切に設定されている](../../../administration/packages/container_registry_metadata_database.md)ことを管理者に確認してもらいます。 +1. [メタデータデータベースが適切に設定されている](../../../administration/packages/container_registry/metadata_database.md)ことを管理者に確認してもらいます。 1. レジストリストレージのバックエンドが正しく設定され、アクセス可能であることを確認します。 1. ストレージ関連のエラーについて、レジストリログを確認します。 @@ -391,7 +391,7 @@ APIを使用する場合の`older_than`(タグが自動的に削除される - [クリーンアップポリシーの制限を設定](reduce_container_registry_storage.md#set-cleanup-limits-to-conserve-resources)します。これにより、クリーンアップの実行時間が制限され、期限切れのトークンエラーが回避されます。 - - コンテナレジストリの認証トークンの[有効期限の遅延を延長](../../../administration/packages/container_registry.md#increase-token-duration)します。デフォルトは5分です。 + - コンテナレジストリの認証トークンの[有効期限の遅延を延長](../../../administration/packages/container_registry/index.md#increase-token-duration)します。デフォルトは5分です。 または、削除するタグのリストを生成し、そのリストを使用してタグを削除することもできます。リストを作成してタグを削除するには: diff --git a/doc-locale/ja-jp/user/project/repository/branches/_index.md b/doc-locale/ja-jp/user/project/repository/branches/_index.md index 3d9ea6a1c52673..2777d4316f9687 100644 --- a/doc-locale/ja-jp/user/project/repository/branches/_index.md +++ b/doc-locale/ja-jp/user/project/repository/branches/_index.md @@ -151,7 +151,7 @@ GitLabでは、すべてのブランチに以下の追加ルールを適用し - 40で始まる16進文字のブランチ名は、Gitコミットハッシュと類似しているため禁止されています。 - ブランチ名では、大文字と小文字が区別されます。 -Dockerなどの一般的なソフトウェアパッケージでは、[追加のブランチ命名制限](../../../../administration/packages/container_registry_troubleshooting.md#docker-connection-error)を適用できます。 +Dockerなどの一般的なソフトウェアパッケージでは、[追加のブランチ命名制限](../../../../administration/packages/container_registry/troubleshooting.md#docker-connection-error)を適用できます。 他のソフトウェアパッケージとの最適な互換性を得るため、以下のみを使用してください。 diff --git a/doc/administration/backup_restore/backup_gitlab.md b/doc/administration/backup_restore/backup_gitlab.md index 476055d3b14ea1..6de1fdbe6c77cb 100644 --- a/doc/administration/backup_restore/backup_gitlab.md +++ b/doc/administration/backup_restore/backup_gitlab.md @@ -185,7 +185,7 @@ The backup command does not back up registry data when they are stored in Object See also: -- [GitLab container registry](../packages/container_registry.md) +- [GitLab container registry](../packages/container_registry/index.md) - [Object Storage configuration](../object_storage.md) ### Storing configuration files diff --git a/doc/administration/backup_restore/troubleshooting_backup_gitlab.md b/doc/administration/backup_restore/troubleshooting_backup_gitlab.md index c3b7c04aa69777..e7b6c102c418ac 100644 --- a/doc/administration/backup_restore/troubleshooting_backup_gitlab.md +++ b/doc/administration/backup_restore/troubleshooting_backup_gitlab.md @@ -217,7 +217,7 @@ You should verify that the secrets are the root cause before deleting any data. If you restore a backup from an environment that uses the [container registry](../../user/packages/container_registry/_index.md) to a newly installed environment where the container registry is not enabled, the container registry is not restored. -To also restore the container registry, you need to [enable it](../packages/container_registry.md#enable-the-container-registry) in the new +To also restore the container registry, you need to [enable it](../packages/container_registry/index.md#enable-the-container-registry) in the new environment before you restore the backup. ## Container registry push failures after restoring from a backup diff --git a/doc/administration/dedicated/configure_instance/network_security.md b/doc/administration/dedicated/configure_instance/network_security.md index b49fd291fc45a0..5c546065da83a1 100644 --- a/doc/administration/dedicated/configure_instance/network_security.md +++ b/doc/administration/dedicated/configure_instance/network_security.md @@ -84,7 +84,7 @@ to enable your custom domain. In your support ticket, specify: - Your custom domain name. -- Whether you need a custom domain for the bundled [container registry](../../packages/container_registry.md) +- Whether you need a custom domain for the bundled [container registry](../../packages/container_registry/index.md) and [GitLab agent server for Kubernetes](../../clusters/kas.md). For example, `registry.company.com` and `kas.company.com`. diff --git a/doc/administration/geo/_index.md b/doc/administration/geo/_index.md index 685d6c0a9d7416..311b934a73f798 100644 --- a/doc/administration/geo/_index.md +++ b/doc/administration/geo/_index.md @@ -309,7 +309,7 @@ These known issues reflect only the latest version of GitLab. If you are using a - The Geo secondary site does not accelerate (serve) the clone request for the first stage of the pipeline in most cases. Later stages are not guaranteed to be served by the secondary site either, for example if the Git change is large, bandwidth is small, or pipeline stages are short. In general, it does serve the clone request for subsequent stages. [Issue 446176](https://gitlab.com/gitlab-org/gitlab/-/issues/446176) discusses the reasons for this and proposes an enhancement to increase the chance that Runner clone requests are served from the secondary site. - When a single Git repository receives pushes at a high-enough rate, the secondary site's local copy can be perpetually out-of-date. This causes all Git fetches of that repository to be forwarded to the primary site. For more information, see [issue 455870](https://gitlab.com/gitlab-org/gitlab/-/issues/455870). - [Proxying](secondary_proxy/_index.md) is implemented only in the GitLab application in the Puma service or Web service, so other services do not benefit from this behavior. You should use a [separate URL](secondary_proxy/_index.md#set-up-a-separate-url-for-a-secondary-geo-site) to ensure requests are always sent to the primary. These services include: - - GitLab container registry - [can be configured to use a separate domain](../packages/container_registry.md#configure-container-registry-under-its-own-domain), such as `registry.example.com`. Secondary site container registries are intended only for disaster recovery. Users should not be routed to them, especially not for pushes, because the data is not propagated to the primary site. + - GitLab container registry - [can be configured to use a separate domain](../packages/container_registry/index.md#configure-container-registry-under-its-own-domain), such as `registry.example.com`. Secondary site container registries are intended only for disaster recovery. Users should not be routed to them, especially not for pushes, because the data is not propagated to the primary site. - GitLab Pages - should always use a separate domain, as part of [the prerequisites for running GitLab Pages](../pages/_index.md#prerequisites). - With a [unified URL](secondary_proxy/_index.md#set-up-a-unified-url-for-geo-sites), Let's Encrypt can't generate certificates unless it can reach both IPs through the same domain. To use TLS certificates with Let's Encrypt, you can manually point the domain to one of the Geo sites, generate the certificate, then copy it to all other sites. - When a [secondary site uses a separate URL](secondary_proxy/_index.md#set-up-a-separate-url-for-a-secondary-geo-site) from the primary site, [signing in the secondary site using SAML](replication/single_sign_on.md#saml-with-separate-url-with-proxying-enabled) is only supported if the SAML Identity Provider (IdP) allows an application to be configured with multiple callback URLs. diff --git a/doc/administration/geo/replication/container_registry.md b/doc/administration/geo/replication/container_registry.md index ccaaaba297a711..3d4c34adb0ecba 100644 --- a/doc/administration/geo/replication/container_registry.md +++ b/doc/administration/geo/replication/container_registry.md @@ -44,7 +44,7 @@ For more information on supported registry storage drivers see Read the [Load balancing considerations](https://distribution.github.io/distribution/about/deploying/#load-balancing-considerations) when deploying the Registry, and how to set up the storage driver for the GitLab integrated -[container registry](../../packages/container_registry.md#use-object-storage). +[container registry](../../packages/container_registry/index.md#use-object-storage). ### Registries that support OCI artifacts @@ -197,7 +197,7 @@ Geo::ContainerRepositoryRegistry.replication_enabled? ### Missing container registry notification event -1. When an image is pushed to the primary site's container registry, it should trigger a [Container Registry notification](../../packages/container_registry.md#configure-container-registry-notifications) +1. When an image is pushed to the primary site's container registry, it should trigger a [Container Registry notification](../../packages/container_registry/index.md#configure-container-registry-notifications) 1. The primary site's container registry calls the primary site's API on `https:///api/v4/container_registry_event/events` 1. The primary site inserts a record to the `geo_events` table with `replicable_name: 'container_repository', model_record_id: `. 1. The record gets replicated by PostgreSQL to the secondary site's database. @@ -229,7 +229,7 @@ To resolve this issue: 1. Ensure both sites share a single signing key pair, as described in [configure secondary site](#configure-secondary-site). 1. Verify that both container registries and both primary and secondary sites are configured to use the same token issuer. For more information, see - [configure GitLab and registry on separate nodes](../../packages/container_registry.md#configure-gitlab-and-registry-on-separate-nodes-linux-package-installations). + [configure GitLab and registry on separate nodes](../../packages/container_registry/index.md#configure-gitlab-and-registry-on-separate-nodes-linux-package-installations). 1. For multi-node deployments, confirm that the issuer configured on the Sidekiq node matches the value configured on the registries. diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md index bf37a2409182a2..7e7b6c5a74b950 100644 --- a/doc/administration/geo/replication/datatypes.md +++ b/doc/administration/geo/replication/datatypes.md @@ -220,7 +220,7 @@ successfully, you must replicate their data using some other means. | [CI job artifacts](../../../ci/jobs/job_artifacts.md) | **Yes** (10.4) | **Yes** (14.10) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Verification is behind the feature flag `geo_job_artifact_replication`, enabled by default in 14.10. | | [Pipeline artifacts](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/models/ci/pipeline_artifact.rb) | [**Yes** (13.11)](https://gitlab.com/gitlab-org/gitlab/-/issues/238464) | [**Yes** (13.11)](https://gitlab.com/gitlab-org/gitlab/-/issues/238464) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Persists additional artifacts after a pipeline completes. | | [CI Secure Files](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/models/ci/secure_file.rb) | [**Yes** (15.3)](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91430) | [**Yes** (15.3)](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91430) | [**Yes** (15.3)](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91430) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Verification is behind the feature flag `geo_ci_secure_file_replication`, enabled by default in 15.3. | -| [Container registry](../../packages/container_registry.md) | **Yes** (12.3)1 | **Yes** (15.10) | **Yes** (12.3)1 | **Yes** (15.10) | See [instructions](container_registry.md) to set up the container registry replication. | +| [Container registry](../../packages/container_registry/index.md) | **Yes** (12.3)1 | **Yes** (15.10) | **Yes** (12.3)1 | **Yes** (15.10) | See [instructions](container_registry.md) to set up the container registry replication. | | [Terraform Module Registry](../../../user/packages/terraform_module_registry/_index.md) | **Yes** (14.0) | **Yes** (14.0) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Behind feature flag `geo_package_file_replication`, enabled by default. | | [Project designs repository](../../../user/project/issues/design_management.md) | **Yes** (12.7) | **Yes** (16.1) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Designs also require replication of LFS objects and Uploads. | | [Package registry](../../../user/packages/package_registry/_index.md) | **Yes** (13.2) | **Yes** (13.10) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)3](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Behind feature flag `geo_package_file_replication`, enabled by default. | diff --git a/doc/administration/geo/replication/troubleshooting/synchronization_verification.md b/doc/administration/geo/replication/troubleshooting/synchronization_verification.md index a7a18fd3a27741..e7fe908a58ccbf 100644 --- a/doc/administration/geo/replication/troubleshooting/synchronization_verification.md +++ b/doc/administration/geo/replication/troubleshooting/synchronization_verification.md @@ -735,7 +735,7 @@ Failed to open TCP connection to localhost:5000 (Connection refused - connect(2) ``` It happens if the container registry is not enabled on the secondary site. To fix it, check that the container registry -is [enabled on the secondary site](../../../packages/container_registry.md#enable-the-container-registry). If the [Let's Encrypt integration is disabled](https://docs.gitlab.com/omnibus/settings/ssl/#configure-https-manually), container registry is disabled as well, and you must [configure it manually](../../../packages/container_registry.md#configure-container-registry-under-its-own-domain). +is [enabled on the secondary site](../../../packages/container_registry/index.md#enable-the-container-registry). If the [Let's Encrypt integration is disabled](https://docs.gitlab.com/omnibus/settings/ssl/#configure-https-manually), container registry is disabled as well, and you must [configure it manually](../../../packages/container_registry/index.md#configure-container-registry-under-its-own-domain). ### Message: `Synchronization failed - Error syncing repository` diff --git a/doc/administration/object_storage.md b/doc/administration/object_storage.md index eb01593bcc0330..a1b731170afb0c 100644 --- a/doc/administration/object_storage.md +++ b/doc/administration/object_storage.md @@ -178,7 +178,7 @@ supported by the consolidated form, refer to the following guides: | Object storage type | Supported by consolidated form? | |---------------------|------------------------------------------| | [Backups](backup_restore/backup_gitlab.md#upload-backups-to-a-remote-cloud-storage) | {{< icon name="dotted-circle" >}} No | -| [Container registry](packages/container_registry.md#use-object-storage) (optional feature) | {{< icon name="dotted-circle" >}} No | +| [Container registry](packages/container_registry/index.md#use-object-storage) (optional feature) | {{< icon name="dotted-circle" >}} No | | [Mattermost](https://docs.mattermost.com/configure/file-storage-configuration-settings.html)| {{< icon name="dotted-circle" >}} No | | [Autoscale runner caching](https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching) (optional for improved performance) | {{< icon name="dotted-circle" >}} No | | [Secure Files](cicd/secure_files.md#using-object-storage) | {{< icon name="check-circle" >}} Yes | diff --git a/doc/administration/package_information/defaults.md b/doc/administration/package_information/defaults.md index 0b28e0b3a2abe0..73fbc7e8d34f4e 100644 --- a/doc/administration/package_information/defaults.md +++ b/doc/administration/package_information/defaults.md @@ -78,7 +78,7 @@ over a network which requires, based on implementation, ports `111` and {{< alert type="note" >}} -In some cases, the GitLab Registry is automatically enabled by default. See [our documentation](../packages/container_registry.md) for more details. +In some cases, the GitLab Registry is automatically enabled by default. See [our documentation](../packages/container_registry/index.md) for more details. {{< /alert >}} diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry/index.md similarity index 92% rename from doc/administration/packages/container_registry.md rename to doc/administration/packages/container_registry/index.md index 8520f1baf2c19d..37c26de54f3ced 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry/index.md @@ -15,7 +15,7 @@ description: Manage your GitLab container registry, which enables each project t {{< alert type="note" >}} -The [next-generation container registry](container_registry_metadata_database.md) +The [next-generation container registry](metadata_database.md) is now available for upgrade on GitLab Self-Managed instances. This upgraded registry supports online garbage collection, and has significant performance and reliability improvements. @@ -32,7 +32,7 @@ For more details about the Distribution Registry: - [Deploy a registry server](https://distribution.github.io/distribution/about/deploying/) This document is the administrator's guide. To learn how to use the GitLab Container -Registry, see the [user documentation](../../user/packages/container_registry/_index.md). +Registry, see the [user documentation](../../../user/packages/container_registry/_index.md). ## Enable the container registry @@ -98,7 +98,7 @@ Where: | `issuer` | This should be the same value as configured in Registry's `issuer`. | A Registry init file is not shipped with GitLab if you install it from source. -Hence, [restarting GitLab](../restart_gitlab.md#self-compiled-installations) does not restart the Registry should +Hence, [restarting GitLab](../../restart_gitlab.md#self-compiled-installations) does not restart the Registry should you modify its settings. Read the upstream documentation on how to achieve that. At the absolute minimum, make sure your Registry configuration @@ -180,7 +180,7 @@ under the `registry_external_url` line, rather than the port listed under registry_nginx['ssl_certificate_key'] = "" ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. 1. Validate using: @@ -218,7 +218,7 @@ registry_nginx['listen_port'] = 5678 port: 5050 ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. 1. Make the relevant changes in NGINX as well (domain, port, TLS certificates path). {{< /tab >}} @@ -267,7 +267,7 @@ Let's assume that you want the container registry to be accessible at The `registry_external_url` is listening on HTTPS. -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. If you have a [wildcard certificate](https://en.wikipedia.org/wiki/Wildcard_certificate), you must specify the path to the certificate in addition to the URL, in this case `/etc/gitlab/gitlab.rb` @@ -291,7 +291,7 @@ registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/certificate.key" host: ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. 1. Make the relevant changes in NGINX as well (domain, port, TLS certificates path). {{< /tab >}} @@ -321,7 +321,7 @@ Registry application itself. registry['enable'] = false ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -335,7 +335,7 @@ Registry application itself. enabled: false ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -357,7 +357,7 @@ the container registry by themselves, follow the steps below. gitlab_rails['gitlab_default_projects_features_container_registry'] = false ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -377,7 +377,7 @@ the container registry by themselves, follow the steps below. container_registry: false ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -459,7 +459,7 @@ The default location where images are stored in Linux package installations is gitlab_rails['registry_path'] = "" ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -476,7 +476,7 @@ The default location where images are stored in self-compiled installations is path: shared/registry ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -487,7 +487,7 @@ The default location where images are stored in self-compiled installations is If you want to store your container registry images in object storage instead of the local file system, you can configure one of the supported storage drivers. -For more information, see [Object storage](../object_storage.md). +For more information, see [Object storage](../../object_storage.md). {{< alert type="warning" >}} @@ -503,7 +503,7 @@ To configure object storage for your container registry: 1. Choose the storage driver you want to use. 1. Edit `/etc/gitlab/gitlab.rb` with the appropriate configuration. -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< tabs >}} @@ -714,7 +714,7 @@ storage: Using [AWS DataSync](https://aws.amazon.com/datasync/) to copy the registry data to or between S3 buckets creates invalid metadata objects in the bucket. -For additional details, see [Tags with an empty name](container_registry_troubleshooting.md#tags-with-an-empty-name). +For additional details, see [Tags with an empty name](troubleshooting.md#tags-with-an-empty-name). To move data to and between S3 buckets, the AWS CLI `sync` operation is recommended. {{< /alert >}} @@ -755,7 +755,7 @@ you can pull from the container registry, but you cannot push. 1. To perform the final data sync, [put the container registry in `read-only` mode](#performing-garbage-collection-without-downtime) and - [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). + [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 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 @@ -788,7 +788,7 @@ you can pull from the container registry, but you cannot push. The output of these commands should match, except for the content in the `_uploads` directories and subdirectories. 1. Configure your registry to [use the S3 bucket for storage](#use-object-storage). -1. For the changes to take effect, set the Registry back to `read-write` mode and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. For the changes to take effect, set the Registry back to `read-write` mode and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). #### Moving to Azure Object Storage @@ -830,7 +830,7 @@ By default, Azure Storage Driver uses the `core.windows.net` realm. You can set By default, users accessing a registry configured with a remote backend are redirected to the default backend for the storage driver. For example, registries can be configured using the `s3` storage driver, which redirects requests to a remote S3 bucket to alleviate load on the GitLab server. -However, this behavior is undesirable for registries used by internal hosts that usually can't access public servers. To disable redirects and [proxy download](../object_storage.md#proxy-download), set the `disable` flag to true as follows. This makes all traffic always go through the Registry service. This results in improved security (less surface attack as the storage backend is not publicly accessible), but worse performance (all traffic is redirected via the service). +However, this behavior is undesirable for registries used by internal hosts that usually can't access public servers. To disable redirects and [proxy download](../../object_storage.md#proxy-download), set the `disable` flag to true as follows. This makes all traffic always go through the Registry service. This results in improved security (less surface attack as the storage backend is not publicly accessible), but worse performance (all traffic is redirected via the service). {{< tabs >}} @@ -853,7 +853,7 @@ However, this behavior is undesirable for registries used by internal hosts that } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -877,7 +877,7 @@ However, this behavior is undesirable for registries used by internal hosts that enabled: true ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -912,7 +912,7 @@ on how you installed GitLab. Follow the instructions here that match your instal } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -932,7 +932,7 @@ on how you installed GitLab. Follow the instructions here that match your instal encrypt: true ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -961,7 +961,7 @@ In the examples below we set the Registry's port to `5010`. registry['registry_http_addr'] = "localhost:5010" ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -984,7 +984,7 @@ In the examples below we set the Registry's port to `5010`. ## Disable container registry per project If Registry is enabled in your GitLab instance, but you don't need it for your -project, you can [disable it from your project's settings](../../user/project/settings/_index.md#configure-project-features-and-permissions). +project, you can [disable it from your project's settings](../../../user/project/settings/_index.md#configure-project-features-and-permissions). ## Use an external container registry with GitLab as an auth endpoint @@ -998,7 +998,7 @@ tell us about your use cases in [feedback issue 958](https://gitlab.com/gitlab-o {{< /alert >}} If you use an external container registry, some features associated with the -container registry may be unavailable or have [inherent risks](../../user/packages/container_registry/reduce_container_registry_storage.md#use-with-external-container-registries). +container registry may be unavailable or have [inherent risks](../../../user/packages/container_registry/reduce_container_registry_storage.md#use-with-external-container-registries). For the integration to work, the external registry must be configured to use a JSON Web Token to authenticate with GitLab. The @@ -1016,7 +1016,7 @@ auth: Without these entries, the registry logins cannot authenticate with GitLab. GitLab also remains unaware of -[nested image names](../../user/packages/container_registry/_index.md#naming-convention-for-your-container-images) +[nested image names](../../../user/packages/container_registry/_index.md#naming-convention-for-your-container-images) under the project hierarchy, like `registry.example.com/group/project/image-name:tag` or `registry.example.com/group/project/my/image-name:tag`, and only recognizes @@ -1073,7 +1073,7 @@ You can use GitLab as an auth endpoint with an external container registry. gitlab_rails['registry_port'] = "5005" ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. ### Self-compiled installations @@ -1095,7 +1095,7 @@ You can use GitLab as an auth endpoint with an external container registry. [Read more](#enable-the-container-registry) about what these parameters mean. -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. ## Configure container registry notifications @@ -1147,7 +1147,7 @@ To configure a notification endpoint for a Linux package installation: {{< /alert >}} -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -1179,9 +1179,9 @@ notifications: Prerequisites: -- If you use a distributed architecture where the container registry runs on a different node than Sidekiq, follow the steps in [Configure the container registry when using an external Sidekiq](../sidekiq/_index.md#configure-the-container-registry-when-using-an-external-sidekiq). +- If you use a distributed architecture where the container registry runs on a different node than Sidekiq, follow the steps in [Configure the container registry when using an external Sidekiq](../../sidekiq/_index.md#configure-the-container-registry-when-using-an-external-sidekiq). -After you [create a cleanup policy](../../user/packages/container_registry/reduce_container_registry_storage.md#create-a-cleanup-policy), you can run it immediately to reduce the container registry storage space. You don't have to wait for the scheduled cleanup. +After you [create a cleanup policy](../../../user/packages/container_registry/reduce_container_registry_storage.md#create-a-cleanup-policy), you can run it immediately to reduce the container registry storage space. You don't have to wait for the scheduled cleanup. To reduce the amount of container registry disk space used by a given project, administrators can: @@ -1192,7 +1192,7 @@ To reduce the amount of container registry disk space used by a given project, a ### Registry Disk Space Usage by Project To find the disk space used by each project, run the following in the -[GitLab Rails console](../operations/rails_console.md#starting-a-rails-console-session): +[GitLab Rails console](../../operations/rails_console.md#starting-a-rails-console-session): ```ruby projects_and_size = [["project_id", "creator_id", "registry_size_bytes", "project path"]] @@ -1240,7 +1240,7 @@ The script calculates size based on container image layers. Because layers can b {{< /alert >}} To remove image tags by running the cleanup policy, run the following commands in the -[GitLab Rails console](../operations/rails_console.md): +[GitLab Rails console](../../operations/rails_console.md): ```ruby # Numeric ID of the project whose container registry should be cleaned up @@ -1263,7 +1263,7 @@ project.container_repositories.find_each do |repo| end ``` -You can also [run cleanup on a schedule](../../user/packages/container_registry/reduce_container_registry_storage.md#cleanup-policy). +You can also [run cleanup on a schedule](../../../user/packages/container_registry/reduce_container_registry_storage.md#cleanup-policy). To enable cleanup policies for all projects instance-wide, you need to find all projects with a container registry, but with the cleanup policy disabled: @@ -1298,7 +1298,7 @@ end The metadata database enables many new registry features, including online garbage collection, and increases the efficiency of many registry operations. -See the [Container registry metadata database](container_registry_metadata_database.md) page for details. +See the [Container registry metadata database](metadata_database.md) page for details. ## Container registry garbage collection @@ -1315,7 +1315,7 @@ objects from being properly deleted. {{< /alert >}} The container registry can use considerable amounts of storage space, and you might want to -[reduce storage usage](../../user/packages/container_registry/reduce_container_registry_storage.md). +[reduce storage usage](../../../user/packages/container_registry/reduce_container_registry_storage.md). Among the listed options, deleting tags is the most effective option. However, tag deletion alone does not delete image layers, it only leaves the underlying image manifests untagged. @@ -1504,13 +1504,13 @@ blobs start being deleted is anything permanent done. ### Continuous zero-downtime garbage collection You can run garbage collection in the background without the need to schedule it or require read-only mode, -if you migrate to the [metadata database](container_registry_metadata_database.md). +if you migrate to the [metadata database](metadata_database.md). ## Scaling by component This section outlines the potential performance bottlenecks as registry traffic increases by component. Each subsection is roughly ordered by recommendations that benefit from smaller to larger registry workloads. -The registry is not included in the [reference architectures](../reference_architectures/_index.md), +The registry is not included in the [reference architectures](../../reference_architectures/_index.md), and there are no scaling guides which target number of seats or requests per second. ### Database @@ -1518,7 +1518,7 @@ and there are no scaling guides which target number of seats or requests per sec 1. Move to a separate database: As database load increases, scale vertically by moving the registry metadata database to a separate physical database. A separate database can increase the amount of resources available to the registry database while isolating the traffic produced by the registry. -1. Move to a HA PostgreSQL third-party solution: Similar to [Praefect](../reference_architectures/5k_users.md#praefect-ha-postgresql-third-party-solution), +1. Move to a HA PostgreSQL third-party solution: Similar to [Praefect](../../reference_architectures/5k_users.md#praefect-ha-postgresql-third-party-solution), moving to a reputable provider or solution enables HA and is suitable for multi-node registry deployments. You must pick a provider that supports native Postgres partitioning, triggers, and functions, as the registry makes heavy use of these. @@ -1551,7 +1551,7 @@ cache improves performance, but also enables features such as renaming repositor ### Online garbage collection -1. Adjust defaults: If online garbage collection is not reliably clearing the [review queues](container_registry_metadata_database.md#queue-monitoring), +1. Adjust defaults: If online garbage collection is not reliably clearing the [review queues](metadata_database.md#queue-monitoring), you can adjust the `interval` settings in the `manifests` and `blobs` sections under the [`gc`](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md?ref_type=heads#gc) configuration section. The default is `5s`, and these can be configured with milliseconds as well, @@ -1719,7 +1719,7 @@ These jobs communicate directly with the registry to handle image deletion. ## Migrate from a third-party registry Using external container registries in GitLab was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/376217) -in GitLab 15.8 and the end of support occurred in GitLab 16.0. See the [deprecation notice](../../update/deprecations.md#use-of-third-party-container-registries-is-deprecated) for more details. +in GitLab 15.8 and the end of support occurred in GitLab 16.0. See the [deprecation notice](../../../update/deprecations.md#use-of-third-party-container-registries-is-deprecated) for more details. The integration is not disabled in GitLab 16.0, but support for debugging and fixing issues is no longer provided. Additionally, the integration is no longer being developed or @@ -1747,7 +1747,7 @@ The GitLab container registry should accept the same configuration that you are {{< history >}} -- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/480652) in GitLab 17.5 [with a flag](../feature_flags/_index.md) named `set_delete_failed_container_repository`. Disabled by default. +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/480652) in GitLab 17.5 [with a flag](../../feature_flags/_index.md) named `set_delete_failed_container_repository`. Disabled by default. - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/490354) in GitLab 17.6. Feature flag `set_delete_failed_container_repository` removed. {{< /history >}} diff --git a/doc/administration/packages/container_registry_metadata_database.md b/doc/administration/packages/container_registry/metadata_database.md similarity index 91% rename from doc/administration/packages/container_registry_metadata_database.md rename to doc/administration/packages/container_registry/metadata_database.md index dd44ac67679585..fb06bef5bbae6b 100644 --- a/doc/administration/packages/container_registry_metadata_database.md +++ b/doc/administration/packages/container_registry/metadata_database.md @@ -15,7 +15,7 @@ description: Store your container registry's data in a database to manage multip {{< history >}} -- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/423459) in GitLab 16.4 as a [beta feature](../../policy/development_stages_support.md) for GitLab Self-Managed. +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/423459) in GitLab 16.4 as a [beta feature](../../../policy/development_stages_support.md) for GitLab Self-Managed. - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/423459) in GitLab 17.3. {{< /history >}} @@ -43,12 +43,12 @@ in the Helm Charts documentation. The metadata database architecture supports performance improvements, bug fixes, and new features that are not available with legacy metadata storage. These enhancements include: -- Automatic [online garbage collection](../../user/packages/container_registry/delete_container_registry_images.md#garbage-collection) -- [Storage usage visibility](../../user/packages/container_registry/reduce_container_registry_storage.md#view-container-registry-usage) for repositories, projects, and groups -- [Image signing](../../user/packages/container_registry/_index.md#container-image-signatures) -- [Moving and renaming repositories](../../user/packages/container_registry/_index.md#move-or-rename-container-registry-repositories) -- [Protected tags](../../user/packages/container_registry/protected_container_tags.md) -- Performance improvements for [cleanup policies](../../user/packages/container_registry/reduce_container_registry_storage.md#cleanup-policy), enabling successful cleanup of large repositories +- Automatic [online garbage collection](../../../user/packages/container_registry/delete_container_registry_images.md#garbage-collection) +- [Storage usage visibility](../../../user/packages/container_registry/reduce_container_registry_storage.md#view-container-registry-usage) for repositories, projects, and groups +- [Image signing](../../../user/packages/container_registry/_index.md#container-image-signatures) +- [Moving and renaming repositories](../../../user/packages/container_registry/_index.md#move-or-rename-container-registry-repositories) +- [Protected tags](../../../user/packages/container_registry/protected_container_tags.md) +- Performance improvements for [cleanup policies](../../../user/packages/container_registry/reduce_container_registry_storage.md#cleanup-policy), enabling successful cleanup of large repositories - Performance improvements for listing repository tags - Tracking and displaying tag publish timestamps (see [issue 290949](https://gitlab.com/gitlab-org/gitlab/-/issues/290949)) - Sorting repository tags by additional attributes beyond name @@ -62,7 +62,7 @@ metadata database version. - Metadata import for existing registries requires a period of read-only time. - Geo functionality is limited. Additional features are proposed in [epic 15325](https://gitlab.com/groups/gitlab-org/-/epics/15325). - Prior to 18.3, registry regular schema and post-deployment database migrations must be run manually when upgrading versions. -- No guarantee for registry [zero downtime during upgrades](../../update/zero_downtime.md) on multi-node Linux package environments. +- No guarantee for registry [zero downtime during upgrades](../../../update/zero_downtime.md) on multi-node Linux package environments. - Backup and restore jobs do not include the registry database. For more information, see [Backup with metadata database](#backup-with-metadata-database). ## Metadata database feature support @@ -79,8 +79,8 @@ Prerequisites: - GitLab 17.5 is the minimum required version, but GitLab 18.3 or later is recommended due to the added improvements and easier configuration. -- PostgreSQL database [within version requirements](../../install/requirements.md#postgresql). It must be accessible from the registry node. -- If you use an external database, you must first set up the external database connection. For more information, see [Using an external database](#using-an-external-database). +- PostgreSQL database [within version requirements](../../../install/requirements.md#postgresql). It must be accessible from the registry node. +- If you use an external database, you must first set up the external database connection. For more information, see [Using an external database](#using-an-external-database). Follow the instructions that match your situation: @@ -95,13 +95,13 @@ Follow the instructions that match your situation: now the source of the registry metadata, disabling it after this point causes the registry to lose visibility on all images written to it while the database was active. -- [Offline garbage collection](container_registry.md#container-registry-garbage-collection) is no longer required. +- [Offline garbage collection](index.md#container-registry-garbage-collection) is no longer required. The garbage collection command included with GitLab will safely exit when the database is enabled, but third-party commands, such as the one provided by the upstream registry, will delete data associated with tagged images. - Verify you have not automated offline garbage collection: especially with a third-party command. -- You can first [reduce the storage of your registry](../../user/packages/container_registry/reduce_container_registry_storage.md) +- You can first [reduce the storage of your registry](../../../user/packages/container_registry/reduce_container_registry_storage.md) to speed up the process. -- Back up [your container registry data](../backup_restore/backup_gitlab.md#container-registry) +- Back up [your container registry data](../../backup_restore/backup_gitlab.md#container-registry) if possible. ### New installations @@ -123,7 +123,7 @@ To enable the database: } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). {{< /tab >}} @@ -131,7 +131,7 @@ To enable the database: Prerequisites: -- Create an [external database](../postgresql/external.md#container-registry-metadata-database). +- Create an [external database](../../postgresql/external.md#container-registry-metadata-database). To enable the database: @@ -152,7 +152,7 @@ To enable the database: } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. [Apply database migrations](#apply-database-migrations). 1. Enable the database by editing `/etc/gitlab/gitlab.rb` and setting `enabled` to `true`: @@ -206,7 +206,7 @@ and layers that remain for longer than 24 hours. #### How to choose the right import method -If you regularly run [offline garbage collection](container_registry.md#container-registry-garbage-collection), +If you regularly run [offline garbage collection](index.md#container-registry-garbage-collection), use the one-step import method. This method should take a similar amount of time and is a simpler operation compared to the three-step import method. @@ -214,7 +214,7 @@ If your registry is too large to regularly run offline garbage collection, use the three-step import method to minimize the amount of read-only time significantly. -If you use an external database, make sure you set up the +If you use an external database, make sure you set up the external database connection before proceeding with a migration path. For more information, see [Using an external database](#using-an-external-database). @@ -261,7 +261,7 @@ Otherwise, data written during the import becomes inaccessible or leads to incon } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. [Apply database migrations](#apply-database-migrations). 1. Run the following command: @@ -292,7 +292,7 @@ Otherwise, data written during the import becomes inaccessible or leads to incon } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). {{< /tab >}} @@ -300,7 +300,7 @@ Otherwise, data written during the import becomes inaccessible or leads to incon Prerequisites: -- Create an [external database](../postgresql/external.md#container-registry-metadata-database). +- Create an [external database](../../postgresql/external.md#container-registry-metadata-database). 1. Add the `database` section to your `/etc/gitlab/gitlab.rb` file, but start with the metadata database disabled: @@ -340,7 +340,7 @@ Prerequisites: } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. [Apply database migrations](#apply-database-migrations) if you have not done so. 1. Run the following command: @@ -380,7 +380,7 @@ Prerequisites: } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). {{< /tab >}} @@ -413,7 +413,7 @@ You may continue to use the registry as normal while step one is being completed } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. [Apply database migrations](#apply-database-migrations). 1. Run the first step to begin the import: @@ -427,7 +427,7 @@ You may continue to use the registry as normal while step one is being completed Prerequisites: -- Create an [external database](../postgresql/external.md#container-registry-metadata-database). +- Create an [external database](../../postgresql/external.md#container-registry-metadata-database). 1. Add the `database` section to your `/etc/gitlab/gitlab.rb` file, but start with the metadata database disabled: @@ -446,7 +446,7 @@ Prerequisites: } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. [Apply database migrations](#apply-database-migrations) if you have not done so. 1. Run the first step to begin the import: @@ -498,7 +498,7 @@ Allow enough time for downtime while step two is being executed. } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. Run step two of the import: ```shell @@ -528,7 +528,7 @@ Allow enough time for downtime while step two is being executed. } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). {{< /tab >}} @@ -555,7 +555,7 @@ Allow enough time for downtime while step two is being executed. } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). 1. Run step two of the import: ```shell @@ -594,7 +594,7 @@ Allow enough time for downtime while step two is being executed. } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). {{< /tab >}} @@ -738,7 +738,7 @@ pay special attention to logs filtered by `component=registry.gc.*`. Use monitoring tools like Prometheus and Grafana to visualize and track garbage collection metrics, focusing on metrics with a prefix of `registry_gc_*`. These include the number of objects marked for deletion, objects successfully deleted, run intervals, and durations. -See [enable the registry debug server](container_registry_troubleshooting.md#enable-the-registry-debug-server) +See [enable the registry debug server](troubleshooting.md#enable-the-registry-debug-server) for how to enable Prometheus. ### Queue monitoring @@ -813,11 +813,11 @@ to be removed through garbage collection and storage space being recovered. By default, GitLab 18.3 and later preprovisions a logical database within the main GitLab database for container registry metadata. However, you may want to use a dedicated external database for the container registry if you want to -[scale your registry](container_registry.md#scaling-by-component). +[scale your registry](index.md#scaling-by-component). ### Steps -- Create an [external database](../postgresql/external.md#container-registry-metadata-database). +- Create an [external database](../../postgresql/external.md#container-registry-metadata-database). Afterward, follow the same steps for the default database, substituting your own database values. Start with the database disabled, taking care to @@ -937,7 +937,7 @@ added or deleted between the import completion and this revert operation are not To revert to object storage metadata: -1. Restore a [backup](../backup_restore/backup_gitlab.md#container-registry) taken before the migration. +1. Restore a [backup](../../backup_restore/backup_gitlab.md#container-registry) taken before the migration. 1. Add the following configuration to your `/etc/gitlab/gitlab.rb` file: ```ruby @@ -946,7 +946,7 @@ To revert to object storage metadata: } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation). +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation). ## Troubleshooting @@ -966,7 +966,7 @@ Prior to version 18.3, you must manually apply database migrations on each versi ### Error: `offline garbage collection is no longer possible` If the registry uses the metadata database and you try to run -[offline garbage collection](container_registry.md#container-registry-garbage-collection), +[offline garbage collection](index.md#container-registry-garbage-collection), the registry fails with the following error message: ```shell @@ -989,7 +989,7 @@ err="ERROR: cannot execute CREATE TABLE in a read-only transaction (SQLSTATE 250 ``` Also, the registry could fail with the following error message if you try to run -[online garbage collection](container_registry.md#performing-garbage-collection-without-downtime): +[online garbage collection](index.md#performing-garbage-collection-without-downtime): ```shell error="processing task: fetching next GC blob task: scanning GC blob task: ERROR: cannot execute SELECT FOR UPDATE in a read-only transaction (SQLSTATE 25006)" diff --git a/doc/administration/packages/container_registry_troubleshooting.md b/doc/administration/packages/container_registry/troubleshooting.md similarity index 93% rename from doc/administration/packages/container_registry_troubleshooting.md rename to doc/administration/packages/container_registry/troubleshooting.md index 2820123250caf8..aa8886c42f27e0 100644 --- a/doc/administration/packages/container_registry_troubleshooting.md +++ b/doc/administration/packages/container_registry/troubleshooting.md @@ -72,7 +72,7 @@ Additional information about this: [issue 18239](https://gitlab.com/gitlab-org/g ## Docker login attempt fails with: 'token signed by untrusted key' -[Registry relies on GitLab to validate credentials](container_registry.md#container-registry-architecture) +[Registry relies on GitLab to validate credentials](index.md#container-registry-architecture) If the registry fails to authenticate valid login attempts, you get the following error message: ```shell @@ -172,7 +172,7 @@ Start with a value between `25000000` (25 MB) and `50000000` (50 MB). } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -189,7 +189,7 @@ Start with a value between `25000000` (25 MB) and `50000000` (50 MB). chunksize: 25000000 ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -214,7 +214,7 @@ You can add a configuration option for backwards compatibility. registry['compatibility_schema1_enabled'] = true ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -243,9 +243,9 @@ project or branch name. Special characters can include: - Trailing hyphen/dash - Double hyphen/dash -To get around this, you can [change the group path](../../user/group/manage.md#change-a-groups-path), -[change the project path](../../user/project/working_with_projects.md#rename-a-repository) or change the -branch name. Another option is to create a [push rule](../../user/project/repository/push_rules.md) to prevent +To get around this, you can [change the group path](../../../user/group/manage.md#change-a-groups-path), +[change the project path](../../../user/project/working_with_projects.md#rename-a-repository) or change the +branch name. Another option is to create a [push rule](../../../user/project/repository/push_rules.md) to prevent this error for the entire instance. ## Image push errors @@ -271,7 +271,7 @@ To resolve this issue, update your NGINX configuration to enable relative URLs i } ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. {{< /tab >}} @@ -284,7 +284,7 @@ To resolve this issue, update your NGINX configuration to enable relative URLs i relativeurls: true ``` -1. Save the file and [restart GitLab](../restart_gitlab.md#self-compiled-installations) for the changes to take effect. +1. Save the file and [restart GitLab](../../restart_gitlab.md#self-compiled-installations) for the changes to take effect. {{< /tab >}} @@ -335,7 +335,7 @@ in your `gitlab.rb` configuration. registry['debug_addr'] = "localhost:5001" ``` -After adding the setting, [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) to apply the change. +After adding the setting, [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) to apply the change. Use curl to request debug output from the debug server: @@ -451,7 +451,7 @@ diagnose a problem with the S3 setup. ### Investigate a cleanup policy If you're unsure why your cleanup policy did or didn't delete a tag, execute the policy line by line -by running the below script from the [Rails console](../operations/rails_console.md). +by running the below script from the [Rails console](../../operations/rails_console.md). This can help diagnose problems with the policy. ```ruby @@ -635,12 +635,12 @@ In this case, follow these steps: gitlab_rails['registry_enabled'] = true ``` -1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) +1. Save the file and [reconfigure GitLab](../../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect. 1. Try the removal again. If you still can't remove the repository using the common methods, you can use the -[GitLab Rails console](../operations/rails_console.md) +[GitLab Rails console](../../operations/rails_console.md) to remove the project by force: ```ruby diff --git a/doc/administration/postgresql/external.md b/doc/administration/postgresql/external.md index 79f32b48fc09ea..7aa7cd07307308 100644 --- a/doc/administration/postgresql/external.md +++ b/doc/administration/postgresql/external.md @@ -70,7 +70,7 @@ After you set up the external PostgreSQL server: ## Container registry metadata database -If you plan to use the [container registry metadata database](../packages/container_registry_metadata_database.md), +If you plan to use the [container registry metadata database](../packages/container_registry/metadata_database.md), you should also create the registry database and user. After you set up the external PostgreSQL server: diff --git a/doc/administration/raketasks/cleanup.md b/doc/administration/raketasks/cleanup.md index 09cf02231fd0a9..a5e21d45a4c273 100644 --- a/doc/administration/raketasks/cleanup.md +++ b/doc/administration/raketasks/cleanup.md @@ -274,4 +274,4 @@ bundle exec rake gitlab:cleanup:sessions:active_sessions_lookup_keys RAILS_ENV=p ## Container registry garbage collection Container Registry can use considerable amounts of disk space. To clear up -unused layers, the registry includes a [garbage collect command](../packages/container_registry.md#container-registry-garbage-collection). +unused layers, the registry includes a [garbage collect command](../packages/container_registry/index.md#container-registry-garbage-collection). diff --git a/doc/administration/silent_mode/_index.md b/doc/administration/silent_mode/_index.md index 0cd6c08cd4ff80..6882cf791afffd 100644 --- a/doc/administration/silent_mode/_index.md +++ b/doc/administration/silent_mode/_index.md @@ -139,4 +139,4 @@ Outbound communications from the following features are not silenced by Silent M | [Clickhouse calls](../../integration/clickhouse.md) | Clickhouse requests are not silenced because they are considered internal to a site. | | Snowplow | A proposal exists in [issue 409661](https://gitlab.com/gitlab-org/gitlab/-/issues/409661) to silence these requests. | | [Deprecated Kubernetes Connections](../../user/clusters/agent/_index.md) | There is [a proposal to silence these requests](https://gitlab.com/gitlab-org/gitlab/-/issues/396470). | -| [Container registry webhooks](../packages/container_registry.md#configure-container-registry-notifications) | There is [a proposal to silence these requests](https://gitlab.com/gitlab-org/gitlab/-/issues/409682). | +| [Container registry webhooks](../packages/container_registry/index.md#configure-container-registry-notifications) | There is [a proposal to silence these requests](https://gitlab.com/gitlab-org/gitlab/-/issues/409682). | diff --git a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md index 58791770686fa6..5d783708e8edfa 100644 --- a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md +++ b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md @@ -67,11 +67,11 @@ This content has been moved to [Activate GitLab EE with a license file or key](. ### Registry Disk Space Usage by Project -To view storage space by project in the container registry, see [Registry Disk Space Usage by Project](../packages/container_registry.md#registry-disk-space-usage-by-project). +To view storage space by project in the container registry, see [Registry Disk Space Usage by Project](../packages/container_registry/index.md#registry-disk-space-usage-by-project). ### Run the cleanup policy -To reduce storage space in the container registry, see [Run the cleanup policy](../packages/container_registry.md#run-the-cleanup-policy). +To reduce storage space in the container registry, see [Run the cleanup policy](../packages/container_registry/index.md#run-the-cleanup-policy). ## Sidekiq diff --git a/doc/api/container_registry.md b/doc/api/container_registry.md index 2517e9909c369d..dda1c80ae74c4f 100644 --- a/doc/api/container_registry.md +++ b/doc/api/container_registry.md @@ -338,7 +338,7 @@ curl --request DELETE \ --url "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0" ``` -This operation does not delete blobs. To reclaim disk space, [run garbage collection](../administration/packages/container_registry.md#container-registry-garbage-collection). +This operation does not delete blobs. To reclaim disk space, [run garbage collection](../administration/packages/container_registry/index.md#container-registry-garbage-collection). ## Delete registry repository tags in bulk @@ -379,7 +379,7 @@ These operations are executed asynchronously and can take time to get executed. You can run this at most once an hour for a given container repository. This operation does not delete blobs. To reclaim disk space, -[run garbage collection](../administration/packages/container_registry.md#container-registry-garbage-collection). +[run garbage collection](../administration/packages/container_registry/index.md#container-registry-garbage-collection). {{< alert type="warning" >}} diff --git a/doc/api/groups.md b/doc/api/groups.md index 5594bd323f55db..a514b2ff719a40 100644 --- a/doc/api/groups.md +++ b/doc/api/groups.md @@ -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 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. +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 [ diff --git a/doc/api/projects.md b/doc/api/projects.md index 2210fec19e444d..5b690636ede372 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -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 GitLab 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: diff --git a/doc/development/architecture.md b/doc/development/architecture.md index c043fbf91295e3..6a600e663fa469 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -792,7 +792,7 @@ See our [Redis guidelines](redis.md) for more information about how GitLab uses - [Project page](https://gitlab.com/gitlab-org/container-registry) - Configuration: - - [Omnibus](../administration/packages/container_registry.md) + - [Omnibus](../administration/packages/container_registry/index.md) - [Charts](https://docs.gitlab.com/charts/charts/registry/) - [Source](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md?ref_type=heads) - [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/registry.md) diff --git a/doc/install/google_cloud_platform/_index.md b/doc/install/google_cloud_platform/_index.md index e26687852dd9d2..c86f4d2877e821 100644 --- a/doc/install/google_cloud_platform/_index.md +++ b/doc/install/google_cloud_platform/_index.md @@ -141,4 +141,4 @@ SAML, and Kerberos. Here are some documents you might be interested in reading: - [Linux package documentation](https://docs.gitlab.com/omnibus/) - [Integration documentation](../../integration/_index.md) - [GitLab Pages configuration](../../administration/pages/_index.md) -- [GitLab container registry configuration](../../administration/packages/container_registry.md) +- [GitLab container registry configuration](../../administration/packages/container_registry/index.md) diff --git a/doc/install/next_steps.md b/doc/install/next_steps.md index c4007278c6cfa9..2a76acb16110d9 100644 --- a/doc/install/next_steps.md +++ b/doc/install/next_steps.md @@ -43,7 +43,7 @@ find it in the server you installed GitLab, under `/etc/gitlab/initial_root_pass ## Container Registry -- [Container Registry](../administration/packages/container_registry.md): Integrated container registry to store container images for each GitLab project. +- [Container Registry](../administration/packages/container_registry/index.md): Integrated container registry to store container images for each GitLab project. - [GitLab Dependency Proxy](../administration/packages/dependency_proxy.md): Set up the dependency proxy so you can cache container images from Docker Hub for faster, more reliable builds. diff --git a/doc/security/hardening_configuration_recommendations.md b/doc/security/hardening_configuration_recommendations.md index 2d392803afb399..9085b3559cfbaa 100644 --- a/doc/security/hardening_configuration_recommendations.md +++ b/doc/security/hardening_configuration_recommendations.md @@ -151,7 +151,7 @@ legitimate. Follow the instructions on [signing outgoing email](../administratio If Lets Encrypt is configured, the container registry is enabled by default. This allows projects to store their own Docker images. Follow the instructions for -configuring the [container registry](../administration/packages/container_registry.md), +configuring the [container registry](../administration/packages/container_registry/index.md), so you can do things like restrict automatic enablement on new projects and disabling the container registry entirely. You may have to adjust firewall rules to allow access - if a completely standalone system, you should restrict access to the diff --git a/doc/security/hardening_nist_800_53.md b/doc/security/hardening_nist_800_53.md index d9737a89145062..f0dce18650f020 100644 --- a/doc/security/hardening_nist_800_53.md +++ b/doc/security/hardening_nist_800_53.md @@ -444,7 +444,7 @@ document, under Supply Chain Risk Management. GitLab provides an integrated container registry to store container images for GitLab projects, which can be used as an authoritative repository for deploying containers in a highly virtualized and scalable -environment. [Container registry administration guidance](../administration/packages/container_registry.md) +environment. [Container registry administration guidance](../administration/packages/container_registry/index.md) is available for review. ### Contingency Planning (CP) diff --git a/doc/subscriptions/gitlab_dedicated/_index.md b/doc/subscriptions/gitlab_dedicated/_index.md index 9e4f9e37004608..962189a0e451b1 100644 --- a/doc/subscriptions/gitlab_dedicated/_index.md +++ b/doc/subscriptions/gitlab_dedicated/_index.md @@ -91,7 +91,7 @@ By default, [Amazon Simple Email Service (Amazon SES)](https://aws.amazon.com/se {{< /details >}} Cloudflare is implemented as a web application firewall (WAF) for distributed denial-of-service (DDoS) -protection and related security capabilities. The WAF implementation and configuration is managed by the GitLab SRE team. +protection and related security capabilities. The WAF implementation and configuration is managed by the GitLab SRE team. Direct access to WAF configuration or logs is not available. ### Compliance @@ -165,7 +165,7 @@ By default, GitLab Dedicated enables direct downloads from S3 for optimal perfor - [Merge request diffs](../../administration/merge_request_diffs.md) - [Git Large File Storage (LFS) objects](../../administration/lfs/_index.md) - [Project packages (for example, PyPI, Maven, or NuGet)](../../administration/packages/_index.md) -- [Container registry containers](../../administration/packages/container_registry.md) +- [Container registry containers](../../administration/packages/container_registry/index.md) - [User uploads](../../administration/uploads.md) When you download one of the above object types, your browser or client connects directly to Amazon S3 rather than routing through GitLab infrastructure. diff --git a/doc/topics/offline/quick_start_guide.md b/doc/topics/offline/quick_start_guide.md index dd8865e5eb61be..22de47f7cec01f 100644 --- a/doc/topics/offline/quick_start_guide.md +++ b/doc/topics/offline/quick_start_guide.md @@ -110,7 +110,7 @@ Follow these steps to enable SSL for your fresh instance. These steps reflect th ## Enabling the GitLab container registry Follow these steps to enable the container registry. These steps reflect those for -[configuring the container registry under an existing domain](../../administration/packages/container_registry.md#configure-container-registry-under-an-existing-gitlab-domain): +[configuring the container registry under an existing domain](../../administration/packages/container_registry/index.md#configure-container-registry-under-an-existing-gitlab-domain): 1. Make the following changes to `/etc/gitlab/gitlab.rb`: @@ -129,7 +129,7 @@ Follow these steps to enable the container registry. These steps reflect those f ## Allow the Docker daemon to trust the registry and GitLab Runner Provide your Docker daemon with your certs by -[following the steps for using trusted certificates with your registry](../../administration/packages/container_registry_troubleshooting.md#using-self-signed-certificates-with-container-registry): +[following the steps for using trusted certificates with your registry](../../administration/packages/container_registry/troubleshooting.md#using-self-signed-certificates-with-container-registry): ```shell sudo mkdir -p /etc/docker/certs.d/my-host.internal:5000 diff --git a/doc/update/versions/gitlab_16_changes.md b/doc/update/versions/gitlab_16_changes.md index 0ee8e1da35a6a2..5eaddcb1b7a5fa 100644 --- a/doc/update/versions/gitlab_16_changes.md +++ b/doc/update/versions/gitlab_16_changes.md @@ -868,7 +868,7 @@ Specific information applies to installations using Geo: - For Go applications, [`crypto/tls`: verifying certificate chains containing large RSA keys is slow (CVE-2023-29409)](https://github.com/golang/go/issues/61460) introduced a hard limit of 8192 bits for RSA keys. In the context of Go applications at GitLab, RSA keys can be configured for: - - [Container registry](../../administration/packages/container_registry.md) + - [Container registry](../../administration/packages/container_registry/index.md) - [Gitaly](../../administration/gitaly/tls_support.md) - [GitLab Pages](../../user/project/pages/custom_domains_ssl_tls_certification/_index.md#manual-addition-of-ssltls-certificates) - Workhorse diff --git a/doc/user/application_security/container_scanning/_index.md b/doc/user/application_security/container_scanning/_index.md index c3da47d7ab5abd..abf5e31fc8123f 100644 --- a/doc/user/application_security/container_scanning/_index.md +++ b/doc/user/application_security/container_scanning/_index.md @@ -924,7 +924,7 @@ Container Scanning for Registry populates the vulnerability report only when a n - You must have at least the Maintainer role in a project to enable Container Scanning for Registry. - The project being used must not be empty. If you are utilizing an empty project solely for storing container images, this feature won't function as intended. As a workaround, ensure the project contains an initial commit on the default branch. - By default there is a limit of `50` scans per project per day. -- You must [configure container registry notifications](../../../administration/packages/container_registry.md#configure-container-registry-notifications). +- You must [configure container registry notifications](../../../administration/packages/container_registry/index.md#configure-container-registry-notifications). - You must [configure the Package Metadata Database](../../../administration/settings/security_and_compliance.md#choose-package-registry-metadata-to-sync). This is configured by default on GitLab.com. ### Enabling Container Scanning for Registry diff --git a/doc/user/gitlab_com/_index.md b/doc/user/gitlab_com/_index.md index ce8c3de62864e5..bfab0bd8fd6fa4 100644 --- a/doc/user/gitlab_com/_index.md +++ b/doc/user/gitlab_com/_index.md @@ -98,7 +98,7 @@ the related documentation: | IP address | `35.227.35.254` | | | CDN domain name | `cdn.registry.gitlab-static.net` | | | CDN IP address | `34.149.22.116` | | -| Authorization token duration (minutes) | `15` | See [increase container registry token duration](../../administration/packages/container_registry.md#increase-token-duration). | +| Authorization token duration (minutes) | `15` | See [increase container registry token duration](../../administration/packages/container_registry/index.md#increase-token-duration). | To use the GitLab container registry, Docker clients must have access to: diff --git a/doc/user/packages/container_registry/_index.md b/doc/user/packages/container_registry/_index.md index 48ef80a83dfa7d..ed243c14a98b20 100644 --- a/doc/user/packages/container_registry/_index.md +++ b/doc/user/packages/container_registry/_index.md @@ -16,7 +16,7 @@ description: Use the GitLab Container Registry to store container images for you You can use the integrated container registry to store container images for each GitLab project. An administrator must enable the container registry for your GitLab instance. For more information, -see [GitLab container registry administration](../../../administration/packages/container_registry.md). +see [GitLab container registry administration](../../../administration/packages/container_registry/index.md). {{< alert type="note" >}} @@ -213,7 +213,7 @@ Prerequisites: - To sign container images, Cosign v2.0 or later. - For GitLab Self-Managed, you need a GitLab container registry configured with a metadata database - to display signatures. For more information, see [container registry metadata database](../../../administration/packages/container_registry_metadata_database.md). + to display signatures. For more information, see [container registry metadata database](../../../administration/packages/container_registry/metadata_database.md). ### Sign container images with OCI referrer data diff --git a/doc/user/packages/container_registry/authenticate_with_container_registry.md b/doc/user/packages/container_registry/authenticate_with_container_registry.md index fe79ad3b97a197..64be67afe5ed8e 100644 --- a/doc/user/packages/container_registry/authenticate_with_container_registry.md +++ b/doc/user/packages/container_registry/authenticate_with_container_registry.md @@ -69,7 +69,7 @@ After authentication, the client caches the credentials. Later operations make a requests that return JWT tokens, authorized to do only the specified operation. Tokens remain valid: -- For [5 minutes by default](../../../administration/packages/container_registry.md#increase-token-duration) on GitLab Self-Managed +- For [5 minutes by default](../../../administration/packages/container_registry/index.md#increase-token-duration) on GitLab Self-Managed - For [15 minutes](../../gitlab_com/_index.md#container-registry) on GitLab.com ## Use GitLab CI/CD to authenticate @@ -138,7 +138,7 @@ Error response from daemon: Get "https://gitlab.company.com:4567/v2/": denied: a To avoid this error, ensure the `Authorization` header is not stripped from the request. For example, a proxy in front of GitLab might be redirecting to the `/jwt/auth` endpoint. -For more information about credential validation with Docker clients, see [Container registry architecture](../../../administration/packages/container_registry.md#container-registry-architecture). +For more information about credential validation with Docker clients, see [Container registry architecture](../../../administration/packages/container_registry/index.md#container-registry-architecture). ### `unauthorized: authentication required` when pushing large images diff --git a/doc/user/packages/container_registry/cosign_tutorial.md b/doc/user/packages/container_registry/cosign_tutorial.md index 10eeda4afdc191..737cb017f04524 100644 --- a/doc/user/packages/container_registry/cosign_tutorial.md +++ b/doc/user/packages/container_registry/cosign_tutorial.md @@ -28,7 +28,7 @@ When you put it all together, your `.gitlab-ci.yml` should look similar to the [ You must have: - Cosign v2.0 or later installed. -- For GitLab Self-Managed, the GitLab container registry [configured with a metadata database](../../../administration/packages/container_registry_metadata_database.md) +- For GitLab Self-Managed, the GitLab container registry [configured with a metadata database](../../../administration/packages/container_registry/metadata_database.md) to display signatures. ## Set image and service image diff --git a/doc/user/packages/container_registry/delete_container_registry_images.md b/doc/user/packages/container_registry/delete_container_registry_images.md index 0d832b70e29fff..1045bf2e02bf33 100644 --- a/doc/user/packages/container_registry/delete_container_registry_images.md +++ b/doc/user/packages/container_registry/delete_container_registry_images.md @@ -33,7 +33,7 @@ a deleted container image, you must rebuild and re-upload it. Deleting a container image on GitLab Self-Managed instances doesn't free up storage space, it only marks the image as eligible for deletion. To actually delete unreferenced container images and recover storage space, GitLab Self-Managed instance administrators -must run [garbage collection](../../../administration/packages/container_registry.md#container-registry-garbage-collection). +must run [garbage collection](../../../administration/packages/container_registry/index.md#container-registry-garbage-collection). The container registry on GitLab.com includes an automatic online garbage collector. @@ -64,7 +64,7 @@ To delete container images using the GitLab UI: 1. On the dialog, select **Remove tag**. -Container repositories that [fail deletion more than 10 times](../../../administration/packages/container_registry.md#max-retries-for-deleting-container-images) +Container repositories that [fail deletion more than 10 times](../../../administration/packages/container_registry/index.md#max-retries-for-deleting-container-images) automatically stop attempting to delete images. ## Use the GitLab API diff --git a/doc/user/packages/container_registry/immutable_container_tags.md b/doc/user/packages/container_registry/immutable_container_tags.md index cf2a3360e4afe9..dfdef684a29e3f 100644 --- a/doc/user/packages/container_registry/immutable_container_tags.md +++ b/doc/user/packages/container_registry/immutable_container_tags.md @@ -78,7 +78,7 @@ For a project with these rules: To use immutable container tags, make sure the container registry is available: - In GitLab.com, the container registry is enabled by default. -- In GitLab Self-Managed, [enable the metadata database](../../../administration/packages/container_registry_metadata_database.md). +- In GitLab Self-Managed, [enable the metadata database](../../../administration/packages/container_registry/metadata_database.md). ## Create an immutable rule @@ -129,7 +129,7 @@ The immutable rule is deleted and matching tags are no longer protected. ## Propagation delay -Rule changes rely on JWT tokens to propagate between services. As a result, changes to protection rules and user access roles might take effect only after current JWT tokens expire. The delay equals the [configured token duration](../../../administration/packages/container_registry.md#increase-token-duration): +Rule changes rely on JWT tokens to propagate between services. As a result, changes to protection rules and user access roles might take effect only after current JWT tokens expire. The delay equals the [configured token duration](../../../administration/packages/container_registry/index.md#increase-token-duration): - Default: 5 minutes - GitLab.com: [15 minutes](../../gitlab_com/_index.md#container-registry) diff --git a/doc/user/packages/container_registry/protected_container_tags.md b/doc/user/packages/container_registry/protected_container_tags.md index eb34d9b9807f2a..8d2d23b6655a12 100644 --- a/doc/user/packages/container_registry/protected_container_tags.md +++ b/doc/user/packages/container_registry/protected_container_tags.md @@ -40,7 +40,7 @@ Before you can use protected container tags: - You must use the new container registry version: - GitLab.com: Enabled by default - - GitLab Self-Managed: [Enable the metadata database](../../../administration/packages/container_registry_metadata_database.md) + - GitLab Self-Managed: [Enable the metadata database](../../../administration/packages/container_registry/metadata_database.md) ## Create a protection rule @@ -93,7 +93,7 @@ The protection rule is deleted and matching tags are no longer protected. ## Propagation delay -Rule changes rely on JWT tokens to propagate between services. As a result, changes to protection rules and user access roles might take effect only after current JWT tokens expire. The delay equals the [configured token duration](../../../administration/packages/container_registry.md#increase-token-duration): +Rule changes rely on JWT tokens to propagate between services. As a result, changes to protection rules and user access roles might take effect only after current JWT tokens expire. The delay equals the [configured token duration](../../../administration/packages/container_registry/index.md#increase-token-duration): - Default: 5 minutes - GitLab.com: [15 minutes](../../gitlab_com/_index.md#container-registry) diff --git a/doc/user/packages/container_registry/reduce_container_registry_storage.md b/doc/user/packages/container_registry/reduce_container_registry_storage.md index f0bebfbd9ceb0a..994a788ce19811 100644 --- a/doc/user/packages/container_registry/reduce_container_registry_storage.md +++ b/doc/user/packages/container_registry/reduce_container_registry_storage.md @@ -42,7 +42,7 @@ View storage usage data for your container registry repositories. Prerequisites: -- For GitLab Self-Managed instances, an administrator must [enable the container registry metadata database](../../../administration/packages/container_registry_metadata_database.md). +- For GitLab Self-Managed instances, an administrator must [enable the container registry metadata database](../../../administration/packages/container_registry/metadata_database.md). - You must have at least the Maintainer role for the project or the Owner role for the namespace. To view storage usage for a project: @@ -62,7 +62,7 @@ You can also use: Prerequisites: -- For GitLab Self-Managed instances, an administrator must [enable the container registry metadata database](../../../administration/packages/container_registry_metadata_database.md). +- For GitLab Self-Managed instances, an administrator must [enable the container registry metadata database](../../../administration/packages/container_registry/metadata_database.md). - You must have the Owner role for the group. To view storage usage for a group: @@ -157,7 +157,7 @@ For the project where it's defined, tags matching the regex pattern are removed. The underlying layers and images remain. To delete the underlying layers and images that aren't associated with any tags, administrators can use -[garbage collection](../../../administration/packages/container_registry.md#removing-untagged-manifests-and-unreferenced-layers) with the `-m` switch. +[garbage collection](../../../administration/packages/container_registry/index.md#removing-untagged-manifests-and-unreferenced-layers) with the `-m` switch. ### Enable the cleanup policy @@ -407,7 +407,7 @@ See the API documentation for further details: [Edit project API](../../../api/p ### Use with external container registries -When using an [external container registry](../../../administration/packages/container_registry.md#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint), +When using an [external container registry](../../../administration/packages/container_registry/index.md#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint), running a cleanup policy on a project may have some performance risks. If a project runs a policy to remove thousands of tags, the GitLab background jobs may get backed up or fail completely. @@ -428,7 +428,7 @@ Here are some other options you can use to reduce the container registry storage If you cannot see container registry storage size information: -1. Ask an administrator to verify the [metadata database is properly configured](../../../administration/packages/container_registry_metadata_database.md). +1. Ask an administrator to verify the [metadata database is properly configured](../../../administration/packages/container_registry/metadata_database.md). 1. Verify the registry storage backend is correctly configured and accessible. 1. Check registry logs for storage-related errors: @@ -456,7 +456,7 @@ There can be different reasons behind this: - You can [set limits for the cleanup policy](reduce_container_registry_storage.md#set-cleanup-limits-to-conserve-resources). This limits the cleanup execution in time, and avoids the expired token error. - - [Extend the expiration delay](../../../administration/packages/container_registry.md#increase-token-duration) + - [Extend the expiration delay](../../../administration/packages/container_registry/index.md#increase-token-duration) of the container registry authentication tokens. This defaults to 5 minutes. Alternatively, you can generate a list of tags to delete, and use that list to delete diff --git a/doc/user/packages/container_registry/troubleshoot_container_registry.md b/doc/user/packages/container_registry/troubleshoot_container_registry.md index cb6bc66bc20b66..19a63202836606 100644 --- a/doc/user/packages/container_registry/troubleshoot_container_registry.md +++ b/doc/user/packages/container_registry/troubleshoot_container_registry.md @@ -8,7 +8,7 @@ description: Tips for troubleshooting common errors with the GitLab container re You must sign in to GitLab with administrator rights to troubleshoot most issues with the GitLab container registry. -You can find [additional troubleshooting information](../../../administration/packages/container_registry_troubleshooting.md) in the GitLab container registry administration documentation. +You can find [additional troubleshooting information](../../../administration/packages/container_registry/troubleshooting.md) in the GitLab container registry administration documentation. ## Migrating OCI container images to GitLab container registry diff --git a/doc/user/project/repository/branches/_index.md b/doc/user/project/repository/branches/_index.md index 7b9265ded402ad..95f5ddb53cc488 100644 --- a/doc/user/project/repository/branches/_index.md +++ b/doc/user/project/repository/branches/_index.md @@ -180,7 +180,7 @@ GitLab enforces these additional rules on all branches: - Branch names are case-sensitive. Common software packages, like Docker, can enforce -[additional branch naming restrictions](../../../../administration/packages/container_registry_troubleshooting.md#docker-connection-error). +[additional branch naming restrictions](../../../../administration/packages/container_registry/troubleshooting.md#docker-connection-error). For the best compatibility with other software packages, use only: diff --git a/spec/features/groups/container_registry_spec.rb b/spec/features/groups/container_registry_spec.rb index 6773cdf7058746..2c20e3d87d4fa1 100644 --- a/spec/features/groups/container_registry_spec.rb +++ b/spec/features/groups/container_registry_spec.rb @@ -11,7 +11,7 @@ create(:container_repository, name: 'my/image') end - let(:help_page_href) { help_page_path('administration/packages/container_registry_metadata_database.md') } + let(:help_page_href) { help_page_path('administration/packages/container_registry/metadata_database.md') } before do group.add_owner(user) diff --git a/spec/features/projects/container_registry_spec.rb b/spec/features/projects/container_registry_spec.rb index 3e7c3dd7ccdb24..ef98db606343f4 100644 --- a/spec/features/projects/container_registry_spec.rb +++ b/spec/features/projects/container_registry_spec.rb @@ -16,7 +16,7 @@ create(:container_repository, name: '') end - let(:help_page_href) { help_page_path('administration/packages/container_registry_metadata_database.md') } + let(:help_page_href) { help_page_path('administration/packages/container_registry/metadata_database.md') } before do sign_in(user) diff --git a/spec/features/projects/settings/registry_settings_spec.rb b/spec/features/projects/settings/registry_settings_spec.rb index f64b99b9b2fbf8..a12584053fe46c 100644 --- a/spec/features/projects/settings/registry_settings_spec.rb +++ b/spec/features/projects/settings/registry_settings_spec.rb @@ -10,7 +10,7 @@ let(:container_registry_enabled) { true } let(:container_registry_enabled_on_project) { ProjectFeature::ENABLED } - let(:help_page_href) { help_page_path('administration/packages/container_registry_metadata_database.md') } + let(:help_page_href) { help_page_path('administration/packages/container_registry/metadata_database.md') } before do project.project_feature.update!(container_registry_access_level: container_registry_enabled_on_project) -- GitLab