emqx/apps/emqx_exhook
Zaiming (Stone) Shi 913420588d
Merge branch 'dev/v5.0' into resolve-conflict-to-5.0
2021-05-31 09:17:21 +02:00
..
docs chore(exhook): upgrade to 0.6.2 2021-03-09 11:37:30 +08:00
etc feat(cuttlefish): use hocon as a parsing function (#4008) 2021-01-19 19:52:17 +09:00
include chore: update copyrights 2021-04-23 20:43:00 +02:00
priv fix(exhook): change default value to CONTINUE 2021-05-28 19:28:03 +08:00
src chore(action): fix syntax error (#4885) 2021-05-31 15:08:52 +08:00
test feat(exhook): add ssl cert info to ClientInfo 2021-04-27 09:20:38 +08:00
.gitignore chore(apps): Sync again all apps 2020-12-07 21:30:21 +01:00
README.md chore(apps): Sync again all apps 2020-12-07 21:30:21 +01:00
rebar.config Merge pull request #4293 from emqx/master 2021-03-10 20:57:45 +01: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