Add artifact registry UI feature flag
What does this MR do and why?
Establishes the shared foundation for the Artifact Registry
organization UI, behind a new disabled-by-default feature flag
artifact_registry_ui. The surface is unavailable until the flag is enabled and
makes no Artifact Registry API or GraphQL calls.
It ships:
artifact_registry_uifeature flag (type: wip,default_enabled: false).ArtifactRegistryGatingcontroller concern: abefore_actionthat renders404unless the flag is enabled and the current user canread_artifact_registryon the organization. Both the flag-off and the no-access paths return an identical not-found (enumeration-safe).- The slug-less Activation route (
Organizations::ArtifactRegistryController#index) is now gated through the concern (its previous inline read-check moved into the concern). - An EE prepend of
Organizations::OrganizationsControllerpushesartifact_registry_uito the organization overview frontend (adding the missingprepend_modseam on the CE controller). - The organization overview EE component gates the "Go to Artifact Registry"
link and empty-state copy on
canReadArtifactRegistry && glFeatures.artifactRegistryUi.
References
- Feature: gitlab-org#21052
- Rollout: #605113
Related to gitlab-org#21052
Screenshots or screen recordings
UI is behind the disabled artifact_registry_ui flag. Verified live in GDK
across both flag states:
| State | Overview (/o/<org>/-/overview) |
Activation (/o/<org>/-/artifact_registry) |
|---|---|---|
| flag off (default) | no "Go to Artifact Registry" link or copy | 404 not-found |
| flag on + org access | "Go to Artifact Registry" link shown | placeholder (page title) renders, clean console |
How to set up and validate locally
- Enable the flag in the Rails console:
Feature.enable(:ui_for_organizations) Feature.enable(:artifact_registry_ui) - As an organization member, visit the organization overview
(
/o/<organization_path>/-/overview) - the "Go to Artifact Registry" link appears. - Visit
/o/<organization_path>/-/artifact_registry- the placeholder page renders. - Disable the flag (
Feature.disable(:artifact_registry_ui)) - the link disappears and the activation route returns404.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Rahul Chanila