IoT platform framework with multi-protocol messaging, device management, and fine-grained access control
- Stars2.6k
- Forks683
- Open Issues238
Apache-2.0
- Go
- Shell
- Makefile

About Magistrala
Magistrala is an IoT platform framework that gives engineers a single control plane for devices, users, and data. Rather than stitching together a broker, an auth layer, and a rule engine, you get a coherent system with one consistent model for identity, messaging, and observability.
Devices connect over MQTT, HTTP, WebSocket, and CoAP, each treated as a first-class protocol with the same authentication and authorization. The model is built from users, clients, channels, messages, and policies, with multi-tenant domains, ABAC and RBAC, mutual TLS, JWT, and personal access tokens governing who can do what.
A rules engine processes and routes messages, while alarms, triggers, and scheduled actions react to events. Audit logs, metrics, and tracing add visibility. Magistrala is container-native for Docker and Kubernetes, runs in cloud, edge, or hybrid setups, and is licensed under Apache-2.0.
Key features
- Native MQTT, HTTP, WebSocket, and CoAP connectivity
- Device provisioning and channel-based message control
- ABAC and RBAC with multi-tenant domains and access tokens
- Rules engine with alarms, triggers, and scheduled actions
- Audit logs, metrics, and tracing for observability
Details
- First released
- 2015
- Protocols
- MQTT · HTTP · WebSocket · CoAP
- Auth
- mTLS · JWT · PATs · ABAC · RBAC
- Deployment
- self-hostable · docker
- SDKs
- Go · TypeScript · Python · Rust
- License
- Apache-2.0
