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} ->