From 7ba5772264ae7b82caf623112ed486ef9eb84359 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Wed, 5 Aug 2015 15:39:29 +0800 Subject: [PATCH 1/8] temporary --- src/emqttd_plugins.erl | 5 +++-- src/emqttd_session_sup.erl | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/emqttd_plugins.erl b/src/emqttd_plugins.erl index 4372ca3c7..f8bcc7696 100644 --- a/src/emqttd_plugins.erl +++ b/src/emqttd_plugins.erl @@ -213,8 +213,9 @@ read_loaded() -> write_loaded(AppNames) -> case file:open(env(loaded_file), [binary, write]) of {ok, Fd} -> - Line = list_to_binary(io_lib:format("~w.~n", [AppNames])), - file:write(Fd, Line); + lists:foreach(fun(Name) -> + file:write(Fd, iolist_to_binary(io_lib:format("~s.~n", [Name]))) + end, AppNames); {error, Error} -> {error, Error} end. diff --git a/src/emqttd_session_sup.erl b/src/emqttd_session_sup.erl index ff12b5055..1375c9fda 100644 --- a/src/emqttd_session_sup.erl +++ b/src/emqttd_session_sup.erl @@ -57,6 +57,6 @@ start_session(CleanSess, ClientId, ClientPid) -> init([]) -> {ok, {{simple_one_for_one, 10, 10}, [{session, {emqttd_session, start_link, []}, - transient, 10000, worker, [emqttd_session]}]}}. + temporary, 10000, worker, [emqttd_session]}]}}. From 45487523af2d8feb01ff622ddefad4ce154567c3 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:01:00 +0800 Subject: [PATCH 2/8] Plugin Guide --- PLUGIN.md | 4 ++++ plugins/README | 4 ++++ rel/files/loaded_plugins | 1 - rel/files/plugins.config | 27 +-------------------------- 4 files changed, 9 insertions(+), 27 deletions(-) create mode 100644 PLUGIN.md create mode 100644 plugins/README delete mode 100644 rel/files/loaded_plugins diff --git a/PLUGIN.md b/PLUGIN.md new file mode 100644 index 000000000..7991de2cd --- /dev/null +++ b/PLUGIN.md @@ -0,0 +1,4 @@ + +Please see [Plugin Design](https://github.com/emqtt/emqttd/wiki/Plugin%20Design). + + diff --git a/plugins/README b/plugins/README new file mode 100644 index 000000000..7991de2cd --- /dev/null +++ b/plugins/README @@ -0,0 +1,4 @@ + +Please see [Plugin Design](https://github.com/emqtt/emqttd/wiki/Plugin%20Design). + + diff --git a/rel/files/loaded_plugins b/rel/files/loaded_plugins deleted file mode 100644 index bf38a149a..000000000 --- a/rel/files/loaded_plugins +++ /dev/null @@ -1 +0,0 @@ -[emqttd_dashboard]. diff --git a/rel/files/plugins.config b/rel/files/plugins.config index 0a5655c66..bf38a149a 100644 --- a/rel/files/plugins.config +++ b/rel/files/plugins.config @@ -1,26 +1 @@ -[ -% {emysql, [ -% {pool_size, 4}, -% {host, "localhost"}, -% {port, 3306}, -% {username, "root"}, -% {password, "public"}, -% {database, "mqtt"}, -% {encoding, utf8} -% ]}, -% {emqttd_auth_mysql, [ -% {user_table, mqtt_users}, -% {password_hash, plain}, -% {field_mapper, [ -% {username, username}, -% {password, password} -% ]} -% ]}, -% {emqttd_dashboard, [ -% {listener, -% {emqttd_dashboard, 18083, [ -% {acceptors, 4}, -% {max_clients, 512}]}} -% ]} -% -]. +[emqttd_dashboard]. From 2e01595be731d67fd84d11f1c72a3d15b0fb31ff Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:01:25 +0800 Subject: [PATCH 3/8] plugins --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 2d8b5b01a..b319d3928 100644 --- a/Makefile +++ b/Makefile @@ -29,11 +29,14 @@ edoc: @$(REBAR) doc rel: compile - @cd rel && ../rebar generate -f + @cd rel && $(REBAR) generate -f plugins: @for plugin in ./plugins/* ; do \ + if [ -d $${plugin} ]; then \ + echo "copy $${plugin}"; \ cp -R $${plugin} $(DIST)/plugins/ && rm -rf $(DIST)/$${plugin}/src/ ; \ + fi \ done dist: rel plugins From ef4dbd525d3833bc22eb0fc35c6098bceba13ee5 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:01:44 +0800 Subject: [PATCH 4/8] rm --- plugins/README | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 plugins/README diff --git a/plugins/README b/plugins/README deleted file mode 100644 index 7991de2cd..000000000 --- a/plugins/README +++ /dev/null @@ -1,4 +0,0 @@ - -Please see [Plugin Design](https://github.com/emqtt/emqttd/wiki/Plugin%20Design). - - From 1a67a75423374b62c1c1ac0d89687c1b08098570 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:02:19 +0800 Subject: [PATCH 5/8] rm plugins.config --- rel/files/emqttd | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/rel/files/emqttd b/rel/files/emqttd index 83b0368d0..8574571c1 100755 --- a/rel/files/emqttd +++ b/rel/files/emqttd @@ -141,13 +141,6 @@ case "$1" in echo $RES exit 1 fi - # Sanity check the plugins.config file - RES=`$NODETOOL_LITE chkconfig $RUNNER_ETC_DIR/plugins.config` - if [ $? != 0 ]; then - echo "Error reading $RUNNER_ETC_DIR/plugins.config" - echo $RES - exit 1 - fi HEART_COMMAND="$RUNNER_SCRIPT_DIR/$SCRIPT start" export HEART_COMMAND mkdir -p $PIPE_DIR @@ -265,13 +258,6 @@ case "$1" in echo $RES exit 1 fi - # Sanity check the plugins.config file - RES=`$NODETOOL_LITE chkconfig $RUNNER_ETC_DIR/plugins.config` - if [ $? != 0 ]; then - echo "Error reading $RUNNER_ETC_DIR/plugins.config" - echo $RES - exit 1 - fi # Setup beam-required vars ROOTDIR=$RUNNER_BASE_DIR ERL_LIBS=$ROOTDIR/plugins @@ -279,7 +265,7 @@ case "$1" in EMU=beam PROGNAME=`echo $0 | sed 's/.*\///'` CMD="$BINDIR/erlexec -boot $RUNNER_BASE_DIR/releases/$APP_VSN/$SCRIPT \ - -embedded -config $RUNNER_ETC_DIR/emqttd.config -config $RUNNER_ETC_DIR/plugins.config \ + -embedded -config $RUNNER_ETC_DIR/emqttd.config \ -pa $RUNNER_LIB_DIR/basho-patches \ -args_file $RUNNER_ETC_DIR/vm.args -- ${1+"$@"}" export EMU @@ -305,13 +291,6 @@ case "$1" in echo $RES exit 1 fi - # Sanity check the plugins.config file - RES=`$NODETOOL_LITE chkconfig $RUNNER_ETC_DIR/plugins.config` - if [ $? != 0 ]; then - echo "Error reading $RUNNER_ETC_DIR/plugins.config" - echo $RES - exit 1 - fi echo "config is OK" ;; escript) From 6a7c940da2961f178b7db7c4f84e0e083802386d Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:02:36 +0800 Subject: [PATCH 6/8] plugins --- rel/files/emqttd.config | 2 +- rel/files/plugins.config | 2 +- rel/reltool.config | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/rel/files/emqttd.config b/rel/files/emqttd.config index 7ff3e49ba..f49718ff6 100644 --- a/rel/files/emqttd.config +++ b/rel/files/emqttd.config @@ -165,7 +165,7 @@ %% Plugins {plugins, [ {dir, "./plugins"}, - {loaded_file, "./data/loaded_plugins"} + {loaded_file, "./data/plugins.config"} ]}, %% Listeners {listeners, [ diff --git a/rel/files/plugins.config b/rel/files/plugins.config index bf38a149a..68ba6a41d 100644 --- a/rel/files/plugins.config +++ b/rel/files/plugins.config @@ -1 +1 @@ -[emqttd_dashboard]. +emqttd_dashboard. diff --git a/rel/reltool.config b/rel/reltool.config index 768b793f0..19c11600a 100644 --- a/rel/reltool.config +++ b/rel/reltool.config @@ -87,7 +87,6 @@ {template, "files/acl.config", "etc/acl.config"}, {template, "files/rewrite.config", "etc/rewrite.config"}, {template, "files/clients.config", "etc/clients.config"}, - {template, "files/plugins.config", "etc/plugins.config"}, {template, "files/vm.args", "etc/vm.args"}, - {copy, "files/loaded_plugins", "data/loaded_plugins"} + {copy, "files/plugins.config", "data/plugins.config"} ]}. From f91909703ea76d907db34e4fc39ce5b66d2f8a54 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:42:02 +0800 Subject: [PATCH 7/8] dashboard --- plugins/emqttd_dashboard | 1 + 1 file changed, 1 insertion(+) create mode 160000 plugins/emqttd_dashboard diff --git a/plugins/emqttd_dashboard b/plugins/emqttd_dashboard new file mode 160000 index 000000000..2d3c9aeab --- /dev/null +++ b/plugins/emqttd_dashboard @@ -0,0 +1 @@ +Subproject commit 2d3c9aeabeb5289b9ae27c503f017ad71bd81174 From 0bb228be470defa4cfe0c087b89758bd87398fc9 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 6 Aug 2015 00:43:21 +0800 Subject: [PATCH 8/8] mysql plugin --- .gitmodules | 6 ++++++ plugins/emqttd_plugin_mysql | 1 + plugins/emysql | 1 + 3 files changed, 8 insertions(+) create mode 160000 plugins/emqttd_plugin_mysql create mode 160000 plugins/emysql diff --git a/.gitmodules b/.gitmodules index 093a4a897..4015d5e02 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule "plugins/emqttd_dashboard"] path = plugins/emqttd_dashboard url = https://github.com/emqtt/emqttd_dashboard.git +[submodule "plugins/emysql"] + path = plugins/emysql + url = https://github.com/erylee/emysql.git +[submodule "plugins/emqttd_plugin_mysql"] + path = plugins/emqttd_plugin_mysql + url = https://github.com/emqtt/emqttd_plugin_mysql.git diff --git a/plugins/emqttd_plugin_mysql b/plugins/emqttd_plugin_mysql new file mode 160000 index 000000000..892810dbc --- /dev/null +++ b/plugins/emqttd_plugin_mysql @@ -0,0 +1 @@ +Subproject commit 892810dbc853ba147f9acabecd52bb51218275e2 diff --git a/plugins/emysql b/plugins/emysql new file mode 160000 index 000000000..38927104b --- /dev/null +++ b/plugins/emysql @@ -0,0 +1 @@ +Subproject commit 38927104b44b3f8d237bcf3a2b50f2e0608291b3