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_ui feature flag (type: wip, default_enabled: false).
  • ArtifactRegistryGating controller concern: a before_action that renders 404 unless the flag is enabled and the current user can read_artifact_registry on 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::OrganizationsController pushes artifact_registry_ui to the organization overview frontend (adding the missing prepend_mod seam 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

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

  1. Enable the flag in the Rails console:
    Feature.enable(:ui_for_organizations)
    Feature.enable(:artifact_registry_ui)
  2. As an organization member, visit the organization overview (/o/<organization_path>/-/overview) - the "Go to Artifact Registry" link appears.
  3. Visit /o/<organization_path>/-/artifact_registry - the placeholder page renders.
  4. Disable the flag (Feature.disable(:artifact_registry_ui)) - the link disappears and the activation route returns 404.

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

Merge request reports

Loading