Introduce maven_virtual_registry beta feature flag
Context
The beta version of the Maven virtual registry MVC (API only interactions) (&14137 - closed) feature is ready for release.
The whole feature is currently gated behind the virtual_registry_maven feature flag. However, there are some issues that we need to address:
- It's a WIP feature flag, and we need a beta feature flag.
- Its YAML definition file is located in the
ceside of the code base. Since the Maven VReg feature is a premium+, we need the feature flag to be defined in theeeside of the codebase. - Its actor is the current user. Switching to a Group actor would make the rollout way easier for customers.
In order to fix those issues, we replace the virtual_registry_maven feature flag with a new one: maven_virtual_registry. The new feature flag has the following characteristics:
- It's a beta feature flag.
- It has the group as an actor.
- It lives in the
eeside of the codebase.
What does this MR do and why?
- Replace the
WIPvirtual_registry_mavenfeature flag withbetamaven_virtual_registry. - Update all occurrences in the codebase and documentation to have the new feature flag name.
- Remove the feature flag check from the application setting rate limit UI.
References
- Maven virtual registry MVC (API only interactions) (&14137 - closed) • David Fernandez, Moaz Khalifa • 18.1
- Convert virtual_registry_maven feature flag fro... (#540276 - closed) • Moaz Khalifa • 18.1
Screenshots or screen recordings
N/A
How to set up and validate locally
-
Try to create a new registry on a top level group:
curl -v -i \ -H "PRIVATE-TOKEN:<PAT>" \ -H "Content-Type: application/json" \ -d '{"name": "foo"}' \ "http://gdk.test:3000/api/v4/groups/<group_id>/-/virtual_registries/packages/maven/registries" # {"message":"401 Unauthorized"}% -
Enable the flag:
Feature.enable(:maven_virtual_registry) -
Repeat the same curl command, the registry should be created successfully.
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.
Related to #540276 (closed)