Skip to content

Commit e33d189

Browse files
committed
rabbit_feature_flags: Expose more feature flag properties to the management API
[Why] It allows to better communicate each feature flag specificities and make a better more user-friendly management UI.
1 parent b83aa00 commit e33d189

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

deps/rabbit/src/rabbit_feature_flags.erl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,8 @@
348348
feature_state/0,
349349
feature_states/0,
350350
stability/0,
351+
require_level/0,
352+
experiment_level/0,
351353
callback_fun_name/0,
352354
callbacks/0,
353355
callback_name/0,

deps/rabbit/src/rabbit_ff_extra.erl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
-type cli_info_entry() :: [{name, rabbit_feature_flags:feature_name()} |
2525
{state, enabled | disabled | unavailable} |
2626
{stability, rabbit_feature_flags:stability()} |
27+
{require_level,
28+
rabbit_feature_flags:require_level()} |
29+
{experiment_level,
30+
rabbit_feature_flags:experiment_level()} |
31+
{callbacks,
32+
[rabbit_feature_flags:callback_name()]} |
2733
{provided_by, atom()} |
2834
{desc, string()} |
2935
{doc_url, string()}].
@@ -61,6 +67,11 @@ cli_info(FeatureFlags) ->
6167
FeatureProps = maps:get(FeatureName, FeatureFlags),
6268
State = rabbit_feature_flags:get_state(FeatureName),
6369
Stability = rabbit_feature_flags:get_stability(FeatureProps),
70+
RequireLevel = rabbit_feature_flags:get_require_level(
71+
FeatureProps),
72+
ExperimentLevel = rabbit_feature_flags:get_experiment_level(
73+
FeatureProps),
74+
Callbacks = maps:keys(maps:get(callbacks, FeatureProps, #{})),
6475
App = maps:get(provided_by, FeatureProps),
6576
Desc = maps:get(desc, FeatureProps, ""),
6677
DocUrl = maps:get(doc_url, FeatureProps, ""),
@@ -69,6 +80,9 @@ cli_info(FeatureFlags) ->
6980
{doc_url, unicode:characters_to_binary(DocUrl)},
7081
{state, State},
7182
{stability, Stability},
83+
{require_level, RequireLevel},
84+
{experiment_level, ExperimentLevel},
85+
{callbacks, Callbacks},
7286
{provided_by, App}],
7387
[FFInfo | Acc]
7488
end, [], lists:sort(maps:keys(FeatureFlags))).

0 commit comments

Comments
 (0)