Relocate artifact registry organization page to ee/
What does this MR do and why?
Relocates the Artifact Registry organization Activation page from FOSS into ee/, so the feature is EE-only. This is S01 Step 2 of the Artifact Registry Vue app shell (the Platform foundation the later AR slices build on); it makes no AR call and defines no AR GraphQL or client.
Changes:
- Move the AR organization controller (the slug-less
#index), its placeholder view, and the slug-less index route from FOSS intoee/, and switch the controller tofeature_category :artifact_registry(from:organization). - Keep the
read_artifact_registrygrant fororganization_userin the core organization policy (per review): admins already receive it in core via the admin role config, so keeping the organization-member grant in core too avoids a CE/EE split in authorization logic and eases the migration to the new auth stack. The controller still enforcesread_artifact_registry, so the feature stays EE-only. - Regenerate the
js-routespath helpers:artifactRegistryOrganizationIndexPathis dropped from the FOSS bundle and added to the EE bundle. - Repoint the EE
organizations/showoverview override to importartifactRegistryOrganizationIndexPathfromee/lib/utils/path_helpers/organizations(the FOSS bundle no longer exports it after the route move), fixing an organization-overview page crash.
EE behavior is preserved (the slug-less .../-/artifact_registry path still renders identically); on a FOSS build the route is absent (404). This slice ships dark behind the existing ui_for_organizations flag, so there is no changelog entry yet.
References
- Related to #604731 (closed).
Screenshots or screen recordings
No user-visible change on an EE build - this is a pure relocation. Verified live on GDK: the organization overview page renders the "Go to Artifact Registry" link (href .../-/artifact_registry) with a clean console, and the relocated Activation placeholder ("Artifact registry") renders for an organization member (404 for non-members).
| Before | After |
|---|---|
| Org overview + AR Activation placeholder render on an EE build | Identical, with the controller, view, and route now under ee/ |
How to set up and validate locally
- Enable the organization UI flag in the rails console:
Feature.enable(:ui_for_organizations) - As an organization member, visit the org overview
/-/organizations/<organization_path>/-/overview(or/o/<organization_path>/-/overview): the "Go to Artifact Registry" link renders and points to.../-/artifact_registry(regression guard for the js-routes import repoint). - Visit
.../-/artifact_registry: the Activation placeholder renders on EE; a non-member gets a 404. - Run the specs:
bundle exec rspec ee/spec/requests/organizations/artifact_registry_controller_spec.rb ee/spec/routing/organizations/artifact_registry_routing_spec.rb ee/spec/policies/organizations/organization_policy_spec.rb spec/policies/organizations/organization_policy_spec.rb yarn jest ee/spec/frontend/organizations/show spec/frontend/organizations/show
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.