fix(exhook): fix the server config format
This commit is contained in:
parent
31d4f72d16
commit
183a65d263
|
@ -3,12 +3,14 @@
|
||||||
##====================================================================
|
##====================================================================
|
||||||
|
|
||||||
exhook: {
|
exhook: {
|
||||||
server.default: {
|
servers: [
|
||||||
url: "http://127.0.0.1:9000"
|
# { name: "default"
|
||||||
#ssl: {
|
# url: "http://127.0.0.1:9000"
|
||||||
# cacertfile: "{{ platform_etc_dir }}/certs/cacert.pem"
|
# #ssl: {
|
||||||
# certfile: "{{ platform_etc_dir }}/certs/cert.pem"
|
# # cacertfile: "{{ platform_etc_dir }}/certs/cacert.pem"
|
||||||
# keyfile: "{{ platform_etc_dir }}/certs/key.pem"
|
# # certfile: "{{ platform_etc_dir }}/certs/cert.pem"
|
||||||
#}
|
# # keyfile: "{{ platform_etc_dir }}/certs/key.pem"
|
||||||
}
|
# #}
|
||||||
|
# }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,10 +65,14 @@ stop(_State) ->
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
load_all_servers() ->
|
load_all_servers() ->
|
||||||
_ = maps:map(fun(Name, Options) ->
|
try
|
||||||
load_server(Name, Options)
|
lists:foreach(fun(#{name := Name} = Options) ->
|
||||||
end, emqx_config:get([exhook, server])),
|
load_server(Name, maps:remove(name, Options))
|
||||||
ok.
|
end, emqx_config:get([exhook, servers]))
|
||||||
|
catch
|
||||||
|
_Class : _Reason ->
|
||||||
|
ok
|
||||||
|
end, ok.
|
||||||
|
|
||||||
unload_all_servers() ->
|
unload_all_servers() ->
|
||||||
emqx_exhook:disable_all().
|
emqx_exhook:disable_all().
|
||||||
|
|
|
@ -30,7 +30,7 @@ cli(["server", "list"]) ->
|
||||||
cli(["server", "enable", Name0]) ->
|
cli(["server", "enable", Name0]) ->
|
||||||
if_enabled(fun() ->
|
if_enabled(fun() ->
|
||||||
Name = list_to_atom(Name0),
|
Name = list_to_atom(Name0),
|
||||||
case maps:get(Name, emqx_config:get([exhook, server]), undefined) of
|
case find_server_options(Name) of
|
||||||
undefined ->
|
undefined ->
|
||||||
emqx_ctl:print("not_found~n");
|
emqx_ctl:print("not_found~n");
|
||||||
Opts ->
|
Opts ->
|
||||||
|
@ -59,6 +59,14 @@ print(ok) ->
|
||||||
print({error, Reason}) ->
|
print({error, Reason}) ->
|
||||||
emqx_ctl:print("~p~n", [Reason]).
|
emqx_ctl:print("~p~n", [Reason]).
|
||||||
|
|
||||||
|
find_server_options(Name) ->
|
||||||
|
Ls = emqx_config:get([exhook, servers]),
|
||||||
|
case [ E || E = #{name := N} <- Ls, N =:= Name] of
|
||||||
|
[] -> undefined;
|
||||||
|
[Options] ->
|
||||||
|
maps:remove(name, Options)
|
||||||
|
end.
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Internal funcs
|
%% Internal funcs
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
|
@ -29,13 +29,11 @@
|
||||||
-export([structs/0, fields/1]).
|
-export([structs/0, fields/1]).
|
||||||
-export([t/1, t/3, t/4, ref/1]).
|
-export([t/1, t/3, t/4, ref/1]).
|
||||||
|
|
||||||
structs() -> [server].
|
structs() -> [servers].
|
||||||
|
|
||||||
fields(server) ->
|
fields(servers) ->
|
||||||
[{"$name", t(ref(server_structs))}];
|
[ {name, string()}
|
||||||
|
, {url, string()}
|
||||||
fields(server_structs) ->
|
|
||||||
[ {url, t(string(), "emqx_exhook.url", "")}
|
|
||||||
, {ssl, t(ref(ssl_conf_group))}
|
, {ssl, t(ref(ssl_conf_group))}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,13 @@
|
||||||
-include_lib("common_test/include/ct.hrl").
|
-include_lib("common_test/include/ct.hrl").
|
||||||
|
|
||||||
-define(CONF_DEFAULT, <<"
|
-define(CONF_DEFAULT, <<"
|
||||||
exhook: { server.default: { url: \"http://127.0.0.1:9000\" } }
|
exhook: {
|
||||||
|
servers: [
|
||||||
|
{ name: \"default\"
|
||||||
|
url: \"http://127.0.0.1:9000\"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
">>).
|
">>).
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
@ -49,8 +55,8 @@ end_per_suite(_Cfg) ->
|
||||||
t_noserver_nohook(_) ->
|
t_noserver_nohook(_) ->
|
||||||
emqx_exhook:disable(default),
|
emqx_exhook:disable(default),
|
||||||
?assertEqual([], loaded_exhook_hookpoints()),
|
?assertEqual([], loaded_exhook_hookpoints()),
|
||||||
Opts = emqx_config:get([exhook, server, default]),
|
[#{name := Name} = Opts] = emqx_config:get([exhook, servers]),
|
||||||
ok = emqx_exhook:enable(default, Opts),
|
ok = emqx_exhook:enable(Name, Opts),
|
||||||
?assertNotEqual([], loaded_exhook_hookpoints()).
|
?assertNotEqual([], loaded_exhook_hookpoints()).
|
||||||
|
|
||||||
t_cli_list(_) ->
|
t_cli_list(_) ->
|
||||||
|
|
|
@ -31,7 +31,13 @@
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-define(CONF_DEFAULT, <<"
|
-define(CONF_DEFAULT, <<"
|
||||||
exhook: { server.default: { url: \"http://127.0.0.1:9000\" } }
|
exhook: {
|
||||||
|
servers: [
|
||||||
|
{ name: \"default\"
|
||||||
|
url: \"http://127.0.0.1:9000\"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
">>).
|
">>).
|
||||||
|
|
||||||
-define(ALL(Vars, Types, Exprs),
|
-define(ALL(Vars, Types, Exprs),
|
||||||
|
|
|
@ -267,7 +267,7 @@ relx_apps(ReleaseType) ->
|
||||||
, emqx_authn
|
, emqx_authn
|
||||||
, emqx_authz
|
, emqx_authz
|
||||||
, emqx_gateway
|
, emqx_gateway
|
||||||
, {emqx_exhook, load}
|
, emqx_exhook
|
||||||
, emqx_data_bridge
|
, emqx_data_bridge
|
||||||
, emqx_rule_engine
|
, emqx_rule_engine
|
||||||
, emqx_rule_actions
|
, emqx_rule_actions
|
||||||
|
|
Loading…
Reference in New Issue