emqx/apps/emqx_exhook
zhongwencool d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
..
docs docs(exhook): renanme CheckAcl to Authorize 2021-08-03 14:06:58 +08:00
etc refactor(config): replace all ':' with '=' in the *.conf (#5531) 2021-08-19 19:57:42 +08:00
include test(exhook): refine tests 2021-08-03 14:06:58 +08:00
priv/protos fix(exhook): BrokerInfo uptime is now a duration integer 2021-08-05 12:58:03 +02:00
src emqx_conf (#5939) 2021-10-21 18:08:51 +08:00
test chore: Remove emqx_ct_helpers as dependency 2021-10-15 10:40:57 +02:00
.gitignore refactor(exhook): adapt to the hocon schmea 2021-08-03 14:06:58 +08:00
README.md refactor(exhook): adapt to the hocon schmea 2021-08-03 14:06:58 +08:00
rebar.config test(exhook): refine tests 2021-08-03 14:06:58 +08:00

README.md

emqx_exhook

The emqx_exhook extremly enhance the extensibility for EMQ X. It allow using an others programming language to mount the hooks intead of erlang.

Feature

  • Based on gRPC, it brings a very wide range of applicability
  • Allows you to use the return value to extend emqx behavior.

Architecture

EMQ X                                      Third-party Runtime
+========================+                 +========+==========+
|    ExHook              |                 |        |          |
|   +----------------+   |      gRPC       | gRPC   |  User's  |
|   |   gPRC Client  | ------------------> | Server |  Codes   |
|   +----------------+   |    (HTTP/2)     |        |          |
|                        |                 |        |          |
+========================+                 +========+==========+

Usage

gRPC service

See: priv/protos/exhook.proto

CLI

Example

See: https://github.com/grpc-ecosystem/awesome-grpc

Thanks