support .config suffix
This commit is contained in:
parent
f977f9a908
commit
12d362a674
|
@ -47,6 +47,7 @@ start(_StartType, _StartArgs) ->
|
||||||
start_servers(Sup),
|
start_servers(Sup),
|
||||||
emqttd_cli:load(),
|
emqttd_cli:load(),
|
||||||
load_all_mods(),
|
load_all_mods(),
|
||||||
|
emqttd_plugins:init(),
|
||||||
emqttd_plugins:load(),
|
emqttd_plugins:load(),
|
||||||
start_listeners(),
|
start_listeners(),
|
||||||
register(emqttd, self()),
|
register(emqttd, self()),
|
||||||
|
|
|
@ -18,12 +18,32 @@
|
||||||
|
|
||||||
-include("emqttd.hrl").
|
-include("emqttd.hrl").
|
||||||
|
|
||||||
|
-export([init/0]).
|
||||||
|
|
||||||
-export([load/0, unload/0]).
|
-export([load/0, unload/0]).
|
||||||
|
|
||||||
-export([load/1, unload/1]).
|
-export([load/1, unload/1]).
|
||||||
|
|
||||||
-export([list/0]).
|
-export([list/0]).
|
||||||
|
|
||||||
|
%% @doc Init plugins' config
|
||||||
|
-spec(init() -> ok).
|
||||||
|
init() ->
|
||||||
|
case emqttd:env(plugins_etc_dir) of
|
||||||
|
{ok, PluginsEtc} ->
|
||||||
|
CfgFiles = [filename:join(PluginsEtc, File) ||
|
||||||
|
File <- filelib:wildcard("*.config", PluginsEtc)],
|
||||||
|
lists:foreach(fun init_config/1, CfgFiles);
|
||||||
|
undefined ->
|
||||||
|
ok
|
||||||
|
end.
|
||||||
|
|
||||||
|
init_config(CfgFile) ->
|
||||||
|
{ok, [AppsEnv]} = file:consult(CfgFile),
|
||||||
|
lists:foreach(fun({AppName, Envs}) ->
|
||||||
|
[application:set_env(AppName, Par, Val) || {Par, Val} <- Envs]
|
||||||
|
end, AppsEnv).
|
||||||
|
|
||||||
%% @doc Load all plugins when the broker started.
|
%% @doc Load all plugins when the broker started.
|
||||||
-spec(load() -> list() | {error, any()}).
|
-spec(load() -> list() | {error, any()}).
|
||||||
load() ->
|
load() ->
|
||||||
|
@ -76,7 +96,7 @@ stop_plugins(Names) ->
|
||||||
list() ->
|
list() ->
|
||||||
case emqttd:env(plugins_etc_dir) of
|
case emqttd:env(plugins_etc_dir) of
|
||||||
{ok, PluginsEtc} ->
|
{ok, PluginsEtc} ->
|
||||||
CfgFiles = filelib:wildcard("*.conf", PluginsEtc),
|
CfgFiles = filelib:wildcard("*.{conf,config}", PluginsEtc),
|
||||||
Plugins = [plugin(CfgFile) || CfgFile <- CfgFiles],
|
Plugins = [plugin(CfgFile) || CfgFile <- CfgFiles],
|
||||||
StartedApps = names(started_app),
|
StartedApps = names(started_app),
|
||||||
lists:map(fun(Plugin = #mqtt_plugin{name = Name}) ->
|
lists:map(fun(Plugin = #mqtt_plugin{name = Name}) ->
|
||||||
|
@ -247,3 +267,4 @@ write_loaded(AppNames) ->
|
||||||
lager:error("Open File ~p Error: ~p", [File, Error]),
|
lager:error("Open File ~p Error: ~p", [File, Error]),
|
||||||
{error, Error}
|
{error, Error}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue