MCM — Mosquitto Control Manager — FGJCARLOS
Proyectos
alpha

MCM — Mosquitto Control Manager

Control plane open source para Eclipse Mosquitto. UI web, API REST/WebSocket, RBAC, audit trail y observabilidad en tiempo real — sin reemplazar el broker.

GoReactMQTTSQLiteDockerOpenAPI
Captura de MCM — Mosquitto Control Manager

El problema

Mosquitto es ligero, fiable y ampliamente usado en el edge industrial. Pero operar un broker en producción significa editar ficheros de configuración a mano, gestionar ACLs en texto plano, rotar contraseñas sin trazabilidad y montar dashboards por separado. No existe una capa de control oficial.

MCM cubre ese hueco: un plano de control limpio que se conecta al broker existente como cliente, lo configura donde es posible, y da al operador visibilidad, auditabilidad y acceso con mínimo privilegio.

Qué hace

Auth y RBAC — Login con JWT, bcrypt, cuatro roles (viewer < auditor < operator < admin) y bloqueo por IP/usuario tras intentos fallidos (429).

Gestión de ACLs y schemas — Reglas Mosquitto con validación de wildcards. Validadores JSON Schema enlazados a filtros de topic MQTT.

Stream en tiempo real — Cliente paho.mqtt.golang con keepalive y reconexión automática, distribuido por WebSocket autenticado al dashboard React.

Audit trail — Cada acción de administración y evento de seguridad persiste en SQLite, expuesto por APIs de solo lectura.

Observabilidad — slog estructurado con request IDs, /metrics Prometheus con labels acotados, dashboard Grafana de arranque.

HTTPS / mTLS — Listener TLS opcional con versión mínima configurable y verificación de certificado cliente.

Stack

CapaTecnología
BackendGo 1.24, net/http, slog
Base de datosSQLite (driver pure-Go)
MensajeríaEclipse paho MQTT
ObservabilidadPrometheus, Grafana
APIOpenAPI 3.1
FrontendReact 19, Vite, Tailwind 4
OpsSingle binary, Docker Compose

El binario es estático — sin CGO, sin dependencias de sistema. Cross-compila a Linux amd64/arm64, macOS arm64 y Windows en cada PR.

CLI

mcm server   — arranca el control plane
mcm doctor   — valida config y conectividad con el broker
mcm status   — estado del servidor en ejecución
mcm backup   — exporta la base de datos
mcm version  — versión y build info

Estado actual

MVP feature-complete en fase de hardening. Auth, RBAC, ACL, stream en tiempo real, audit trail, observabilidad y HTTPS están implementados, testeados y ejercitados en cada PR vía CI.