From a3d75176aa01acd04328c5f5db34bbaa6b96cba6 Mon Sep 17 00:00:00 2001 From: Eric Becker Date: Sat, 2 May 2026 07:31:32 +0000 Subject: [PATCH] feat: bump EMQX to 6.2.0 in compose and integration harness MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates the reference EMQX version in docker-compose.yaml and the integration harness compose file from 6.1.1 to 6.2.0. The integration harness exercises floodgate end-to-end against this image, so a green CI run on this branch confirms the README's REST/ExHook walkthrough still works on 6.2.0 (exhook-init uses the same /api/v5/login and /api/v5/exhooks endpoints). The ExHook v3 proto is byte-identical between EMQX release-60, release-61, and release-62 — no field additions, removals, or renumbering. Only the proto header's source URL is bumped to release-62; stubs do not need regeneration. Closes #39 Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 2 ++ docker-compose.test.yaml | 2 +- docker-compose.yaml | 2 +- proto/emqx/exhook.proto | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f7ce7b7..179d99b 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Zero-hop MQTT anti-flood service for self-hosted [EMQX](https://www.emqx.io/) brokers serving [Meshtastic](https://meshtastic.org/) networks. Intercepts MQTT PUBLISH events via [EMQX ExHook](https://www.emqx.io/docs/en/latest/extensions/exhook.html) (gRPC) and sets `MeshPacket.hop_limit=0` in-flight before delivery to subscribers, preventing LoRa rebroadcast floods when gateways downlink MQTT packets. +Tested against EMQX 6.2.0 (ExHook v3 proto, EMQX 5.9.0+). + ## Why Meshtastic's official public broker enforces a [zero-hop policy](https://meshtastic.org/docs/software/integrations/mqtt/#zero-hop-policy): packets delivered from the broker to gateway nodes are zeroed before downlink so they don't rebroadcast across the local LoRa mesh. This prevents internet-scale MQTT traffic from flooding regional radio networks. diff --git a/docker-compose.test.yaml b/docker-compose.test.yaml index c715c6a..87ef24a 100644 --- a/docker-compose.test.yaml +++ b/docker-compose.test.yaml @@ -6,7 +6,7 @@ services: emqx: - image: emqx/emqx:6.1.1 + image: emqx/emqx:6.2.0 container_name: floodgate-test-emqx networks: [floodgate-test-net] ports: diff --git a/docker-compose.yaml b/docker-compose.yaml index f4ed153..b90fe94 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,6 +1,6 @@ services: emqx: - image: emqx/emqx:6.1.1 + image: emqx/emqx:6.2.0 ports: - "1883:1883" # MQTT - "18083:18083" # Dashboard / REST API diff --git a/proto/emqx/exhook.proto b/proto/emqx/exhook.proto index ee58b17..941c054 100644 --- a/proto/emqx/exhook.proto +++ b/proto/emqx/exhook.proto @@ -1,6 +1,6 @@ // Copyright (c) 2020-2026 EMQ Technologies Co., Ltd. All Rights Reserved. // Licensed under the Apache License, Version 2.0 -// Source: https://github.com/emqx/emqx/blob/release-60/apps/emqx_exhook/priv/protos/exhook.proto +// Source: https://github.com/emqx/emqx/blob/release-62/apps/emqx_exhook/priv/protos/exhook.proto // // v3: EMQX 5.9.0+ / EMQX 6.x // v2: EMQX 5.0–5.8.x