Skip to content

Add Enable/Disable Toggle for Virtual Registry at Root Group Level

Overview

We need to add an enable/disable toggle for the Virtual Registry feature at the root group level. This functionality is currently missing from the Virtual Registry list and detail pages design but has been identified as a necessary feature before GA release.

Current State

  • The Virtual Registry list and detail pages do not include an enable/disable feature
  • Users cannot toggle the Virtual Registry functionality on/off at the root group level

Proposed Change

  • Add a setting to the root group for toggling the Virtual Registry feature
  • This should allow administrators to enable/disable the Virtual Registry functionality as needed

Acceptance Criteria

  • An enable/disable toggle is added to the root group settings for Virtual Registry
  • The toggle state is properly persisted and affects the availability of the Virtual Registry
  • UI clearly indicates the current state (enabled/disabled) of the feature
  • Documentation is updated to include information about this new toggle functionality

Why is this needed?

This feature will provide administrators with greater control over the Virtual Registry functionality, allowing them to enable or disable it based on organizational needs without removing the configuration entirely.

Implementation overview

backend:

  1. Add new EE model to add group setting for virtual registry (something similar to the existing Namespace::PackageSetting model). Gate virtual registry controllers, APIs, frontend behind this setting.
    • Add a model validation to ensure the group is always a top-level one.
  2. Implement EE-only group level settings GraphQL query to fetch virtualRegistrySettings.enabled and a mutation to update settings.

frontend

  1. Implement EE-only frontend components for group settings ee/app/assets/javascripts/packages_and_registries/settings/group which uses the GraphQL APIs to query/update settings UI
Edited by Rahul Chanila