Overview & design
Meshanics is not agentless. A small agent runs on every managed device and is the thing that actually verifies, applies, and rolls back updates. What is zero-integration is your application and model code: it rides in containers and artifacts on top of a signed base, with no Meshanics-specific code linked into it. The agent does the trust-sensitive work so your software does not have to.
What the agent is
The agent is a single static Go binary with no external runtime dependencies. It ships for ARM64 and AMD64, targets industrial and edge-AI hardware (NVIDIA Jetson, Raspberry Pi compute modules, generic x86-64), and runs as a hardened systemd service. It does not require a container runtime to exist on the device - that is only needed when you actually deliver containerised payloads.
What it does on each device
The agent's job is a short, auditable loop:
- Identify - it detects the hardware profile (SoC, architecture, memory, CPU cores, accelerators such as an NVIDIA GPU or Edge TPU, OS and kernel version) and reports it on enrollment.
- Connect - it registers and heartbeats to the platform over mutual TLS, using the device's own certificate and the fleet CA.
- Apply - when an artifact is assigned to it, it downloads, verifies, and atomically swaps the new payload into place. Large file payloads stream to an agent-owned staging area and continue from a verified range after interruption.
- Prove health - it runs the update's health probe contract, and if the probe fails it automatically rolls back to the previous good state.
Verification-first by design
There is no update path that skips verification. The agent only enables over-the-air updates when it has both an artifact server address and a provisioned trust anchor; without the trust anchor it simply does not apply anything. Every payload is checked against signed update metadata before it is touched, and the agent re-validates the payload's own descriptor on-device rather than trusting the control plane to have done so. The container registry and artifact server are treated as untrusted transport: content is pinned by digest, so a lying registry can only fail a pull, never substitute content. There is no insecure or "skip verification" mode, in any build.
Partial downloads are never used as active content. Their journal is tied to the trusted metadata version, expected digest, and exact byte length. A completed file is hashed again before placement, and placement streams from that verified file without loading the complete payload into memory.
Small, boring, and auditable
The agent is deliberately minimal. A smaller binary with a narrow surface is easier for a security reviewer to read end to end, easier to keep within a tight resource budget on constrained hardware, and easier to reason about when it runs as root on a fleet of devices you cannot physically reach.