Zaiming (Stone) Shi bf7ac80a83 feat: add api to delete override conf files 4 anni fa
..
docs 5440b431a1 fix: typo takeovered -> takenover 4 anni fa
etc 10b110447c chore(exhook): change root name emqx_exhook > exhook 4 anni fa
include 9a6a8a778b feat(emqx_exhook): add metrics 4 anni fa
priv 9f7b513a3f chore: fix copyright update script to include more files 4 anni fa
src 1d832c3026 fix(emqx_exhook): improve test coverage of the emqx_exhook_metrics 4 anni fa
test bf7ac80a83 feat: add api to delete override conf files 4 anni fa
.gitignore 879c191e41 refactor(exhook): adapt to the hocon schmea 4 anni fa
README.md 879c191e41 refactor(exhook): adapt to the hocon schmea 4 anni fa
rebar.config 34d6dbca61 chore(mix): simplify build by using rebar3 for umbrella apps 4 anni fa

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

Recommended gRPC Framework

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

Thanks