Docs: Document Container Registry Feature Flags for Self-Managed Administrators
-
Start this issue's title with Docs:orDocs feedback:.
Problem to solve
Overview
Container registry feature flags are environment variable-based toggles that control experimental or transitional functionality in the GitLab Container Registry. Unlike GitLab application feature flags, these are managed through registry-specific environment variables and require registry reconfiguration to change.
This issue tracks the creation of comprehensive documentation for all currently active container registry feature flags, including how to enable/disable them across different deployment platforms.
Important: Container registry feature flags are distinct from GitLab application feature flags listed at https://docs.gitlab.com/administration/feature_flags/list/. They are defined in the container registry codebase and controlled via REGISTRY_FF_* environment variables.
Currently Active Feature Flags
| Feature Flag | Purpose | Default State | Introduced |
|---|---|---|---|
REGISTRY_FF_ONGOING_RENAME_CHECK |
Check Redis for GitLab projects undergoing rename operations | Disabled | TBD |
REGISTRY_FF_DYNAMIC_MEDIA_TYPES |
Allow creation of new media types during runtime | Disabled | TBD |
REGISTRY_FF_BBM |
Control asynchronous batched background migration process | Disabled | TBD |
REGISTRY_FF_ENFORCE_LOCKFILES |
Enable lockfile checking for database/filesystem metadata storage | Disabled | TBD |
Documentation Requirements
For each feature flag, the documentation should include:
1. Feature Flag Details
-
Name: The environment variable name (e.g.,
REGISTRY_FF_ONGOING_RENAME_CHECK) - Purpose: Clear, user-facing explanation of what the feature does
- Default state: Whether enabled or disabled by default
- Introduction date: GitLab version/date when introduced
- Enabled by default date: If applicable, when it was changed to enabled by default
- Deprecation timeline: Planned removal date/version if known
2. Configuration Instructions by Platform
Linux Package (Omnibus) Installations
# /etc/gitlab/gitlab.rb
registry['env'] = {
'REGISTRY_FF_FEATURE_NAME' => 'true' # or 'false' to disable
}
Then reconfigure:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart registry
Helm Chart (Kubernetes) Installations
# values.yaml
registry:
extraEnv:
REGISTRY_FF_FEATURE_NAME: "true" # or "false" to disable
Then upgrade:
helm upgrade gitlab gitlab/gitlab -f values.yaml
Docker/Docker Compose Installations
Important: Setting environment variables directly in Docker Compose does NOT work. You must configure through gitlab.rb.
Create or edit gitlab.rb:
registry['env'] = {
'REGISTRY_FF_FEATURE_NAME' => 'true'
}
Mount this configuration in your Docker Compose setup and ensure GitLab reconfigures on startup.
Further details
- Container Registry Feature Flags Development Documentation
- Container Registry Feature Flag Definitions
- Container Registry Metadata Database Documentation