From cd64d81478aabd7c5f7735d12eb40739d423d4c3 Mon Sep 17 00:00:00 2001 From: Zach Painter Date: Fri, 12 Dec 2025 10:27:17 -0500 Subject: [PATCH 1/8] Adds container FFs --- .../packages/container_registry.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 03d34e62fa8415..6ed90a44c0797e 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -394,6 +394,88 @@ To increase the token duration: 1. For the **Authorization token duration (minutes)**, update the value. 1. Select **Save changes**. +## Container registry feature flags + +Container registry feature flags are environment variable toggles +that control experimental or transitional functionality in the +container registry. + +Unlike [GitLab application feature flags](https://docs.gitlab.com/administration/feature_flags/list/), container registry feature flags are: + +- Managed through registry-specific environment variables +- Defined in the container registry codebase +- Require registry reconfiguration to change + +### Configure container registry feature flags + +The following table lists active container registry feature flags: + +| Feature flag | Description | Default state | +|--------------|---------|---------------| +| `REGISTRY_FF_ONGOING_RENAME_CHECK` | Check Redis for projects undergoing rename operations. | Disabled | +| `REGISTRY_FF_DYNAMIC_MEDIA_TYPES` | Allow creation of new media types during runtime. | Disabled | +| `REGISTRY_FF_BBM` | Control asynchronous batched background migration processes. | Disabled | +| `REGISTRY_FF_ENFORCE_LOCKFILES` | Enable lockfile checking for database or filesystem metadata storage. | Disabled | + +{{< tabs >}} + +{{< tab title="Linux package" >}} + +In `/etc/gitlab/gitlab.rb`, configure the feature flag: + +```ruby +registry['env'] = { + '' => 'true' # or 'false' to disable +} +``` + +Then, reconfigure the container registry: + +```shell +sudo gitlab-ctl reconfigure +sudo gitlab-ctl restart registry +``` + +{{< /tab >}} + +{{< tab title="Helm" >}} + +In `values.yaml`, configure the feature flag: + +```yaml +registry: + extraEnv: + : "true" # or "false" to disable +``` + +Then, upgrade `values.yaml`: + +```shell +helm upgrade gitlab gitlab/gitlab -f values.yaml +``` + +{{< /tab >}} + +{{< tab title="Docker" >}} + +> [!note] +> Setting environment variables directly in Docker Compose does not work. You must configure through `gitlab.rb`. + +For Docker or Docker Compose, create or edit `gitlab.rb`: + +```ruby +registry['env'] = { + '' => 'true' +} +``` + +Mount this configuration in your Docker Compose setup and +make sure GitLab reconfigures on startup. + +{{< /tab >}} + +{{< /tabs >}} + ## Configure storage for the container registry {{< alert type="note" >}} -- GitLab From a793389451198c3c0ebd88ba0ea14d43e5392da2 Mon Sep 17 00:00:00 2001 From: Zachary Painter Date: Fri, 12 Dec 2025 10:36:01 -0500 Subject: [PATCH 2/8] Apply 2 suggestion(s) to 1 file(s) Co-authored-by: GitLab Duo --- doc/administration/packages/container_registry.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 6ed90a44c0797e..a4e480c04951c2 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -400,7 +400,8 @@ Container registry feature flags are environment variable toggles that control experimental or transitional functionality in the container registry. -Unlike [GitLab application feature flags](https://docs.gitlab.com/administration/feature_flags/list/), container registry feature flags are: +Unlike [GitLab application feature flags](https://docs.gitlab.com/administration/feature_flags/list/), +container registry feature flags are: - Managed through registry-specific environment variables - Defined in the container registry codebase @@ -459,7 +460,8 @@ helm upgrade gitlab gitlab/gitlab -f values.yaml {{< tab title="Docker" >}} > [!note] -> Setting environment variables directly in Docker Compose does not work. You must configure through `gitlab.rb`. +> Setting environment variables directly in Docker Compose does not work. +> You must configure through `gitlab.rb`. For Docker or Docker Compose, create or edit `gitlab.rb`: -- GitLab From 3f57366106abece2aaa8dff795905202fa9c233b Mon Sep 17 00:00:00 2001 From: Zachary Painter Date: Fri, 12 Dec 2025 10:36:25 -0500 Subject: [PATCH 3/8] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GitLab Duo --- doc/administration/packages/container_registry.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index a4e480c04951c2..8374188fca3599 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -471,8 +471,7 @@ registry['env'] = { } ``` -Mount this configuration in your Docker Compose setup and -make sure GitLab reconfigures on startup. +Mount this configuration in your Docker Compose setup and make sure GitLab reconfigures on startup. {{< /tab >}} -- GitLab From ca8b4ca606e9fb092125059dc8339a8424b5b052 Mon Sep 17 00:00:00 2001 From: Zachary Painter Date: Fri, 12 Dec 2025 10:38:22 -0500 Subject: [PATCH 4/8] Apply 1 suggestion(s) to 1 file(s) --- doc/administration/packages/container_registry.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 8374188fca3599..41190a2ba204c9 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -400,7 +400,7 @@ Container registry feature flags are environment variable toggles that control experimental or transitional functionality in the container registry. -Unlike [GitLab application feature flags](https://docs.gitlab.com/administration/feature_flags/list/), +Unlike [GitLab application feature flags](../../administration/feature_flags/list.md), container registry feature flags are: - Managed through registry-specific environment variables -- GitLab From b39820cfa0ea595ce92cc6d842efbda50309d72e Mon Sep 17 00:00:00 2001 From: Zachary Painter Date: Fri, 12 Dec 2025 10:50:58 -0500 Subject: [PATCH 5/8] Apply 2 suggestion(s) to 1 file(s) --- doc/administration/packages/container_registry.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 41190a2ba204c9..d173d96175c13e 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -418,6 +418,9 @@ The following table lists active container registry feature flags: | `REGISTRY_FF_BBM` | Control asynchronous batched background migration processes. | Disabled | | `REGISTRY_FF_ENFORCE_LOCKFILES` | Enable lockfile checking for database or filesystem metadata storage. | Disabled | +To configure container registry feature flags, +follow the instructions for your platform. + {{< tabs >}} {{< tab title="Linux package" >}} @@ -439,7 +442,7 @@ sudo gitlab-ctl restart registry {{< /tab >}} -{{< tab title="Helm" >}} +{{< tab title="Helm chart (Kubernetes)" >}} In `values.yaml`, configure the feature flag: -- GitLab From 2b430d1772c23e0bdb318327225901e82175c88f Mon Sep 17 00:00:00 2001 From: Zachary Painter Date: Mon, 15 Dec 2025 11:06:23 -0500 Subject: [PATCH 6/8] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: Hayley Swimelar --- doc/administration/packages/container_registry.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index d173d96175c13e..0d3c7da7057ac1 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -416,7 +416,7 @@ The following table lists active container registry feature flags: | `REGISTRY_FF_ONGOING_RENAME_CHECK` | Check Redis for projects undergoing rename operations. | Disabled | | `REGISTRY_FF_DYNAMIC_MEDIA_TYPES` | Allow creation of new media types during runtime. | Disabled | | `REGISTRY_FF_BBM` | Control asynchronous batched background migration processes. | Disabled | -| `REGISTRY_FF_ENFORCE_LOCKFILES` | Enable lockfile checking for database or filesystem metadata storage. | Disabled | +| `REGISTRY_FF_ENFORCE_LOCKFILES` | Enable lockfile checking for database or legacy metadata storage. | Disabled | To configure container registry feature flags, follow the instructions for your platform. -- GitLab From 784328d53c0b881b3b7d1babcf76d20c44e9bd79 Mon Sep 17 00:00:00 2001 From: Zachary Painter Date: Tue, 16 Dec 2025 11:59:03 -0500 Subject: [PATCH 7/8] Apply 1 suggestion(s) to 1 file(s) --- doc/administration/packages/container_registry.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 0d3c7da7057ac1..8136ba5a768888 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -401,10 +401,10 @@ that control experimental or transitional functionality in the container registry. Unlike [GitLab application feature flags](../../administration/feature_flags/list.md), -container registry feature flags are: +container registry feature flags: -- Managed through registry-specific environment variables -- Defined in the container registry codebase +- Are managed through registry-specific environment variables +- Are defined in the container registry codebase - Require registry reconfiguration to change ### Configure container registry feature flags -- GitLab From 60e2c9b7cf4c68a8dd44270fb92408b02264a492 Mon Sep 17 00:00:00 2001 From: Hayley Swimelar Date: Tue, 16 Dec 2025 14:19:15 -0800 Subject: [PATCH 8/8] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: Zachary Painter --- doc/administration/packages/container_registry.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 8136ba5a768888..96f382955d750e 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -411,12 +411,12 @@ container registry feature flags: The following table lists active container registry feature flags: -| Feature flag | Description | Default state | -|--------------|---------|---------------| -| `REGISTRY_FF_ONGOING_RENAME_CHECK` | Check Redis for projects undergoing rename operations. | Disabled | -| `REGISTRY_FF_DYNAMIC_MEDIA_TYPES` | Allow creation of new media types during runtime. | Disabled | -| `REGISTRY_FF_BBM` | Control asynchronous batched background migration processes. | Disabled | -| `REGISTRY_FF_ENFORCE_LOCKFILES` | Enable lockfile checking for database or legacy metadata storage. | Disabled | +| Feature flag | Description | Milestone | Default state | Removal milestone | +|--------------|-------------|-----------|---------------|-------------------| +| `REGISTRY_FF_ONGOING_RENAME_CHECK` | Check Redis for projects undergoing rename operations. | 16.2 | Disabled | | +| `REGISTRY_FF_DYNAMIC_MEDIA_TYPES` | Allow creation of new media types during runtime. | 17.1 | Disabled | | +| `REGISTRY_FF_BBM` | Control asynchronous batched background migration processes. | 17.2 | Disabled | | +| `REGISTRY_FF_ENFORCE_LOCKFILES` | Enable lockfile checking for database or legacy metadata storage. | [Introduced](https://gitlab.com/gitlab-org/container-registry/-/issues/1335) in GitLab 17.6. | Disabled | 18.10 (See [issue 1439](https://gitlab.com/gitlab-org/container-registry/-/issues/1439)) | To configure container registry feature flags, follow the instructions for your platform. -- GitLab