Merge pull request #8890 from zhongwencool/add-edition-to-nodes-api

feat: add edition info to /nodes api
This commit is contained in:
zhongwencool 2022-09-06 16:56:36 +08:00 committed by GitHub
commit f6e55a5f7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 4 deletions

View File

@ -18,6 +18,7 @@
-export([
edition/0,
edition_longstr/0,
description/0,
version/0
]).
@ -44,8 +45,12 @@ description() ->
-spec edition() -> ce | ee.
-ifdef(EMQX_RELEASE_EDITION).
edition() -> ?EMQX_RELEASE_EDITION.
edition_longstr() -> <<"Enterprise">>.
-else.
edition() -> ce.
edition_longstr() -> <<"Opensource">>.
-endif.
%% @doc Return the release version.

View File

@ -3,7 +3,7 @@
{id, "emqx_machine"},
{description, "The EMQX Machine"},
% strict semver, bump manually!
{vsn, "0.1.0"},
{vsn, "0.1.1"},
{modules, []},
{registered, []},
{applications, [kernel, stdlib]},

View File

@ -45,9 +45,10 @@ set_prompt_func() ->
prompt_func(PropList) ->
Line = proplists:get_value(history, PropList, 1),
Version = emqx_release:version(),
Edition = emqx_release:edition(),
case is_alive() of
true -> io_lib:format(<<"~ts(~s)~w> ">>, [Version, node(), Line]);
false -> io_lib:format(<<"~ts ~w> ">>, [Version, Line])
true -> io_lib:format(<<"~ts-~ts(~s)~w> ">>, [Edition, Version, node(), Line]);
false -> io_lib:format(<<"~ts-~ts ~w> ">>, [Edition, Version, Line])
end.
local_allowed(MF, Args, State) ->

View File

@ -141,6 +141,7 @@ node_info() ->
node_status => 'running',
uptime => proplists:get_value(uptime, BrokerInfo),
version => iolist_to_binary(proplists:get_value(version, BrokerInfo)),
edition => emqx_release:edition_longstr(),
role => mria_rlog:role()
}.

View File

@ -215,7 +215,12 @@ fields(node_info) ->
{version,
mk(
string(),
#{desc => <<"Release version">>, example => "5.0.0-beat.3-00000000"}
#{desc => <<"Release version">>, example => "5.0.0"}
)},
{edition,
mk(
enum(['Opensource', 'Enterprise']),
#{desc => <<"Release edition">>, example => "Opensource"}
)},
{sys_path,
mk(

View File

@ -57,6 +57,8 @@ t_nodes_api(_) ->
LocalNodeInfo = hd(NodesResponse),
Node = binary_to_atom(maps:get(<<"node">>, LocalNodeInfo), utf8),
?assertEqual(Node, node()),
Edition = maps:get(<<"edition">>, LocalNodeInfo),
?assertEqual(emqx_release:edition_longstr(), Edition),
NodePath = emqx_mgmt_api_test_util:api_path(["nodes", atom_to_list(node())]),
{ok, NodeInfo} = emqx_mgmt_api_test_util:request_api(get, NodePath),