EDGE RUNTIME & CONTROL PLANE
Nodra
The open edge runtime that keeps sites running when the cloud doesn't: local MQTT/HTTP ingress, a durable store-and-forward WAL, device twins, and edge app reconciliation — offline-first by design.
Get the highlights.
-
v0.2.11Current release — adds Modbus RTU and J1939 industrial transports
-
262Lettered fleet sites simulated end-to-end by nodra-sim
-
2,0003Activity entries retained live in the console Logs ring
-
655324Non-root UID/GID enforced by the default Kubernetes manifests
-
65Documented trust boundaries across edge, control plane, and console
-
FAQ
Questions people evaluating Nodra actually ask, before they've decided to adopt it.
-
Troubleshooting
Real operational issues, with the documented fix — not a generic checklist.
-
Demo and user walkthrough
A full user-demo path: control plane console, A–Z fleet simulation, and verification scripts.
-
Production
Single-replica file mode, Postgres revision checks, TLS, backup/restore, and known limits.
-
Qualification
Software matrix via make qualify versus operator-signed soak and restore drills.
-
Architecture
nodra-server is the management/control plane, nodrad is the edge runtime, nodractl is the operator CLI.
Nodra is an Apache-2.0 edge runtime and control plane from Zyvor. It gives remote sites a local MQTT/HTTP ingress, durable store-and-forward, local routes, device twins, edge application reconciliation, fleet health, replayable dead letters and a clean web control plane. Edge sites are offline-first: WAN loss is a first-class operating mode, not a degraded one.
For the full project overview — architecture diagram, feature highlights, quick start, build instructions and licensing — see the README on GitHub.
What's included today¶
- 📡 MQTT 3.1.1 edge ingress
- 🌐 HTTP ingress
- 💾 Offline-first WAL spool
- 🔀 Local routes
- 👥 Device twins
- ✉️ Dead-letter queue with replay
- 🐳 Docker app reconciliation
- ☸️ Kubernetes-ready (Helm, Kustomize)
Source code, releases and issue tracking live in the zyvorai/nodra GitHub repository.
- v0.2.1 adds Modbus RTU and J1939 industrial transports on top of the v0.2.0 base. See Industrial protocols. ↩
- nodra-sim seeds and continuously drives up to 26 lettered demo sites (A–Z). See the Demo walkthrough. ↩
- Console activity is an in-memory ring capped at 2000 entries, intentionally non-durable. See Architecture — Activity log. ↩
- Default manifests run as non-root UID/GID 65532 with a read-only root filesystem and all capabilities dropped. See Security model — Kubernetes. ↩
- Six trust boundaries are documented: device→nodrad, nodrad→control plane, operator→API, operator→console, control plane→webhook, and simulator→control plane. See Security model — Trust boundaries. ↩