From 698b1b6df67e0b44629aae5f93cedd8983714c99 Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Thu, 11 Aug 2022 16:45:03 +0800 Subject: [PATCH] fix: different default plugins start between ee and ce --- src/emqx_plugins.erl | 50 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/src/emqx_plugins.erl b/src/emqx_plugins.erl index 4088988c2..1c8849745 100644 --- a/src/emqx_plugins.erl +++ b/src/emqx_plugins.erl @@ -217,22 +217,50 @@ load_plugin_conf(AppName, PluginDir) -> ensure_file(File) -> case filelib:is_file(File) of false -> - DefaultPlugins = [ {emqx_management, true} - , {emqx_dashboard, true} - , {emqx_modules, true} - , {emqx_recon, true} - , {emqx_retainer, true} - , {emqx_telemetry, true} - , {emqx_rule_engine, true} - , {emqx_bridge_mqtt, false} - , {emqx_eviction_agent, true} - , {emqx_node_rebalance, true} - ], + DefaultPlugins = default_plugins(), write_loaded(DefaultPlugins); true -> ok end. +-ifndef(EMQX_ENTERPRISE). +%% default plugins see rebar.config.erl +default_plugins() -> + [ + {emqx_management, true}, + {emqx_dashboard, true}, + %% emqx_modules is not a plugin, but a normal application starting when boots. + {emqx_modules, false}, + {emqx_retainer, true}, + {emqx_recon, true}, + {emqx_telemetry, true}, + {emqx_rule_engine, true}, + {emqx_bridge_mqtt, false}, + {emqx_eviction_agent, true}, + {emqx_node_rebalance, true} + ]. + +-else. + +default_plugins() -> + [ + {emqx_management, true}, + {emqx_dashboard, true}, + %% enterprise version of emqx_modules is a plugin + {emqx_modules, true}, + %% retainer is managed by emqx_modules. + %% default is true in data/load_modules. **NOT HERE** + {emqx_retainer, false}, + {emqx_recon, true}, + {emqx_telemetry, true}, + {emqx_rule_engine, true}, + {emqx_bridge_mqtt, false}, + {emqx_eviction_agent, true}, + {emqx_node_rebalance, true} + ]. + +-endif. + with_loaded_file(File, SuccFun) -> case read_loaded(File) of {ok, Names0} ->