simingwang/emqx-plugin-kafkav5
35.1
Weak · 17 September 2026
870
lines of production code
Erlang
primary language
1
measurement over time
What this system is
This system is the EMQX Kafka plugin, an integration component for the EMQX MQTT broker that publishes MQTT messages and client lifecycle events to Apache Kafka. It enables users to route specific MQTT topics and session data to Kafka brokers for downstream processing through configurable connection settings and topic filters.
Features
Add EMQX Kafka plugin (v5.0.0) and ASN.1 dependency (v5.0.18)
This change introduces the \emqx\_plugin\_kafka\ plugin (version 5.0.0), which enables EMQX to publish client lifecycle events (connect, disconnect, subscribe, unsubscribe) and message traffic to a Kafka topic. The plugin is configured via environment variables (\KAFKA\_ADDRESS\_LIST\, \KAFKA\_TOPIC\, etc.) and registers hooks for client and session events. Additionally, the \asn1\ Erlang library (version 5.0.18) is added to the release, providing ASN.1 compilation and encoding/decoding capabilities required by the plugin's dependencies.
_\_build/default/emqx\_plugrel/emqx\_plugin\_kafka-5.0.0/emqx\_plugin\_kafka-5.0.0, \_build/default/rel/emqx\_plugin\kafka · high confidence
Add default configuration files for Kafka plugin
The plugin now ships with two new configuration files: \emqx\_kafka.conf\ (in Erlang/OTP format) and \emqx\_plugin\_kafka.hocon\ (in HOCON format). These files provide default settings for the Kafka connection, including the broker address list, reconnection cooldown, API version querying, target topic, and MQTT topic filters, establishing the baseline configuration for the plugin.
priv · high confidence
Added EMQX Kafka plugin and supporting dependencies
The build now includes the emqx\_plugin\_kafka plugin (v5.0.0), which enables EMQX to publish client lifecycle events (connect, disconnect, subscribe, unsubscribe) and MQTT messages to a Kafka topic. The plugin is configured via environment variables (KAFKA\_ADDRESS\_LIST, KAFKA\_TOPIC, etc.) or config files, defaulting to a test topic and a list of Kafka brokers. This change also adds several Erlang dependencies required by the plugin and the broader EMQX stack, including brod (Kafka client), cowboy/cowlib (HTTP server), crc32cer (CRC32C NIF), getopt, and others.
_\build/default · high confidence
Added EMQX Kafka plugin release package
The build output now includes the \emqx\_plugin\_kafka-5.0.0\ release package, bundling the plugin application with its Erlang dependencies (\brod-3.16.3\, \kafka\_protocol-4.0.3\, \crc32cer-0.1.8\, \snappyer-1.2.8\). This package provides the necessary configuration files, schema definitions, and native code to enable EMQX 5.0 to connect to Kafka brokers for message publishing and consumption.
_\build · high confidence
Initial release of EMQX Kafka plugin template
This change introduces the initial codebase for the emqx-plugin-kafka, a plugin for EMQX 5.0 that publishes MQTT messages to Kafka. The project includes build infrastructure (Makefile, rebar.config) and dependencies (hocon, brod, crc32cer, jsx) to compile and package the plugin. It supports configuration via an external file at /etc/emqx\_kafka.conf or environment variables (e.g., KAFKA\_ADDRESS\_LIST, KAFKA\_TOPIC) to define Kafka connection details and MQTT topics for publishing.
(repo-wide) · high confidence
Initial release of the EMQX Kafka plugin
The \emqx\_plugin\_kafka\ plugin is now available, enabling EMQX to publish MQTT events (such as client connect/disconnect, subscribe/unsubscribe, and message publishing) to Apache Kafka. The plugin supports configuration via environment variables (e.g., \KAFKA\_ADDRESS\_LIST\, \KAFKA\_TOPIC\) and an external HOCON configuration file at \/etc/emqx\_kafka.conf\, allowing users to route specific MQTT topics to Kafka for downstream processing.
src · high confidence
Dependencies
Added brod 3.16.3 Apache Kafka Erlang client library
The EMQX Kafka plugin now includes the brod 3.16.3 Erlang client library, providing the underlying implementation for Kafka connectivity. This addition introduces core client APIs for producing and consuming messages, consumer group coordination, and a command-line interface (brod\_cli) for inspecting metadata, offsets, and groups, enabling the plugin to communicate with Apache Kafka brokers.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 35.
Lenses
- Code Health 97
- Architecture 69
- Maturity 36
- Readiness 10
- Security 85
Changes since last survey
- 76 commits — 51 feature/other, 25 fixes
By area
- (root) — 20 commits
- src/emqx_plugin_kafka.erl — 19 commits
- src/emqx_plugin_kafka_app.erl — 17 commits
- _build/default — 4 commits
- config/config.hocon — 3 commits
- priv/config.hocon — 3 commits
- (repo) — 2 commits
- etc/emqx_plugin_kafka.conf — 2 commits
- .vscode/configurationCache.log — 1 commit
- config/emqx_plugin_kafka.hocon — 1 commit
- priv/config.hacon — 1 commit
- priv/emqx_plugin_kafka.hocon — 1 commit
- src/emqx_plugin_kafka.app.src — 1 commit
- src/emqx_plugin_kafka_schema.erl — 1 commit
Notable commits
- fix: fix bug
- fix: fix bug
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- fix: fix log issue
- …and 56 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
simingwang/emqx-plugin-kafkav5 was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 156d860672c9c4eda27838dc0cbf3672efdd3b9b — the exact code this score is about.
- Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.