Multiple environments support for feature flags (Unleash API standpoint)
What does this MR do?
This MR is for supporting multiple environment extension for feature flags. This MR is focusing on Unleash API, which is used by Unleash clients, such as https://github.com/Unleash/unleash-client-ruby.
Key changes
- Add
operations_feature_flag_scopes
table, which will be a child table ofoperations_feature_flag
(1-to-Many) -
Operations::FeatureFlagScope
hasHasEnvironmnetScope
module that supports multiple environments architecture
feature_flags_environment_scope
This feature is behind a feature flag (Flipper) named To enable this feature, execute FeatureFlag.enable(:feature_flags_environment_scope)
.
What are the relevant issue numbers?
Related: https://gitlab.com/gitlab-org/gitlab-ee/issues/8621
Test clients (powered by Unleash libraries)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary - [-] Documentation created/updated
-
Tests added for this feature/bug - [-] Tested in all supported browsers
-
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides - [-] Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process.
-
EE specific content should be in the top level /ee
folder - [-] For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan?
-
Security reports checked/validated by reviewer
Edited by Shinya Maeda