Skip to content

DP-2121: Feat mosquitto - #6

Merged
AlexFernandes-MOVAI merged 6 commits into
mainfrom
feat/mosquitto
Jun 3, 2026
Merged

DP-2121: Feat mosquitto#6
AlexFernandes-MOVAI merged 6 commits into
mainfrom
feat/mosquitto

Conversation

@AlexFernandes-MOVAI

Copy link
Copy Markdown
Contributor

This pull request introduces a major update to the MQTT Broker container project by adding a dual-broker architecture: a new Mosquitto-based edge broker runs in parallel with the existing HiveMQ-based fleet manager broker. The update includes new Dockerfiles, configuration files, documentation, and health check logic to support both profiles, as well as improvements to monitoring, build processes, and developer guidance.

Key highlights:

  • Adds a new Mosquitto edge broker profile with its own Dockerfile, configuration, ports, and health check.
  • Updates documentation and changelogs to reflect the new dual-broker design, usage, and migration path.
  • Enhances build scripts and CI to support building and running both broker images in parallel.
  • Refactors configuration and health check logic for improved maintainability and observability.

Dual-Broker Architecture & Service Additions

  • Introduced a Mosquitto-based edge broker with its own Dockerfile (Dockerfile.mosquitto), dedicated configuration (config/mosquitto/mosquitto.conf), and health check script (config/health_check.sh). The edge broker exposes ports 1884 (MQTT) and 9001 (WebSocket), runs in parallel with the HiveMQ broker, and is designed for lightweight edge workloads. ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-a7ef17e07c7bc6c1591cb73db07dbc6b40699bbeb82fb66f17bf4a8489d89f33R1-R24), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-14eec5571746604f039b78ff67ddf02f3b66db78b9979dc0aca44cc3ad8ea2aeR1-R30), [[3]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-a67e2c90686e9fc0f46ea7b91aa7b8f37f152fa37b23e58419a173274462ac24R1-R39))
  • Updated the Makefile and .dockerignore to build and manage both mqtt-broker (HiveMQ) and mqtt-edge-broker (Mosquitto) images, and to ensure all relevant config files are included in the build context. ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R3-R10), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-2f754321d62f08ba8392b9b168b83e24ea2852bb5d815d63e767f6c3d23c6ac5R7-R9))

Documentation & Migration

  • Expanded README.md and CHANGELOG.md to document the dual-profile architecture, key differences between HiveMQ and Mosquitto, runtime profiles, configuration guidance, monitoring, and migration strategies. Added a migration guide for transitioning from HiveMQ to Mosquitto. ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L3-R5), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R14-R116), [[3]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R127-R184), [[4]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R203-R205), [[5]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edL8-R26))
  • Clarified port mappings, monitoring endpoints, and configuration file locations for both brokers. ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R14-R116), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R127-R184))

Configuration & Health Checks

  • Refactored the main Dockerfile to only copy HiveMQ-specific configs, install the health check script, and use the unified health check script for both brokers. ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L17-R20), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L28-R36))
  • Added a robust health_check.sh script that validates MQTT connectivity at the protocol level, used as the health check for both brokers. ([config/health_check.shR1-R39](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-a67e2c90686e9fc0f46ea7b91aa7b8f37f152fa37b23e58419a173274462ac24R1-R39))

Monitoring & InfluxDB

  • Added a sample InfluxDB configuration (config/influxdb/influxdb.conf) and updated documentation describing how metrics are collected from both brokers (HiveMQ via extension, Mosquitto via Telegraf and $SYS topics). ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-dd3f98ca6e6bdf0939438afd812964a3f729ceaefa5a28ad0debadd1e1d97199R1-R67), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R127-R184))

Versioning & Changelog

  • Bumped the version to 1.2.0 to reflect these major changes and documented all new features, changes, and deprecations in CHANGELOG.md. ([[1]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-c157bf6a4fcea5e19ccb39979beb75b999c94a5e950492d7e423760fd4320208L2-R2), [[2]](https://github.com/MOV-AI/containers-mqtt-broker/pull/6/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edL8-R26))

- Added Mosquitto 2.0 edge broker service to run alongside HiveMQ CE.
- Created Dockerfile for Mosquitto and corresponding configuration.
- Updated docker-compose.yml to orchestrate both brokers independently.
- Modified Makefile to build both images and clean up accordingly.
- Enhanced README.md with dual-profile documentation and quick-start examples.
- Migrated HiveMQ configuration to a dedicated directory structure.
- Removed obsolete configuration files and ensured proper data persistence for both brokers.
@AlexFernandes-MOVAI
AlexFernandes-MOVAI requested a review from a team June 3, 2026 18:38
@AlexFernandes-MOVAI AlexFernandes-MOVAI self-assigned this Jun 3, 2026
@AlexFernandes-MOVAI
AlexFernandes-MOVAI requested review from OttoMation-Movai and saramovai and removed request for a team June 3, 2026 18:38
@AlexFernandes-MOVAI AlexFernandes-MOVAI added the enhancement New feature or request label Jun 3, 2026
@AlexFernandes-MOVAI
AlexFernandes-MOVAI merged commit 14e5030 into main Jun 3, 2026
9 checks passed
@AlexFernandes-MOVAI
AlexFernandes-MOVAI deleted the feat/mosquitto branch June 3, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant