emqx/apps/emqx_exhook
Andrew Mayorov 99ea9b86c2
feat(tlslib): add separate managed certfiles GC process
Which periodically inpects managed certificates directory and tries
to collect "orphans" here, in other words files that aren't
referenced anywhere in the current emqx config.
2023-06-05 22:41:07 +03:00
..
docs feat(exhook): provide meta data in RequestMeta 2022-04-23 19:45:34 +08:00
etc feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
include chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
priv/protos chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
src fix(ssl): avoid explicit deletion of managed certs / keys 2023-06-05 22:41:07 +03:00
test feat(tlslib): add separate managed certfiles GC process 2023-06-05 22:41:07 +03:00
.gitignore fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update 2022-11-29 10:40:08 +08:00
README.md docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
rebar.config refactor: move emqx_json to emqx_utils_json 2023-04-14 13:31:27 +02:00

emqx_exhook

The emqx_exhook extremely enhance the extensibility for EMQX. It allow using an others programming language to mount the hooks instead 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

EMQX                                      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