Skip to content

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.

MQTT 3.1.1 HTTP ingress Modbus TCP/RTU Apache-2.0

Get the highlights.

  • v0.2.11
    Current release — adds Modbus RTU and J1939 industrial transports
  • 262
    Lettered fleet sites simulated end-to-end by nodra-sim
  • 2,0003
    Activity entries retained live in the console Logs ring
  • 655324
    Non-root UID/GID enforced by the default Kubernetes manifests
  • 65
    Documented trust boundaries across edge, control plane, and console

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.

  1. v0.2.1 adds Modbus RTU and J1939 industrial transports on top of the v0.2.0 base. See Industrial protocols. ↩
  2. nodra-sim seeds and continuously drives up to 26 lettered demo sites (A–Z). See the Demo walkthrough. ↩
  3. Console activity is an in-memory ring capped at 2000 entries, intentionally non-durable. See Architecture — Activity log. ↩
  4. Default manifests run as non-root UID/GID 65532 with a read-only root filesystem and all capabilities dropped. See Security model — Kubernetes. ↩
  5. 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. ↩