Overview
Four ways to get data into Mesh Storage
Mesh Storage accepts MCAP files via four paths. Pick the one that matches how you record:
- Web upload — already have MCAP files on your laptop? Drag and drop them into Mesh Storage from your browser. Best for one-off or ad-hoc files.
- Python SDK — uploading from a notebook, script, backend job, or CI run? Use
alloy-sdkto upload files directly into Mesh. Best for code-driven workflows. - Docker — no recording stack yet? Pull the prebuilt edge image. You get recorder, compression, diagnostics, and graph recording end-to-end. Best for production fleets.
- Track a folder (binary) — already have your own ROS2 image or recorder? Install the lightweight binary and point it at a directory of MCAP files.
Web uploads land in the uploads/ folder. SDK uploads land in uploads/sdk-uploads/. Device uploads (Docker or binary) land in the devices/<device-id>/ folder. All are queryable from the same place once processed.
How the edge client uploads
Both device paths — Docker and track a folder — run the Alloy edge client (alloy-edge), a lightweight process that records, queues, and uploads MCAP data with no operator action after a one-time approval. With the default signed-URL upload, the backend issues a short-lived URL per file and the device streams straight to cloud storage, so no Alloy cloud credentials live on the robot.
Edge Sync is the uploader — it streams each closed file to cloud storage. Filter MCAP is an optional redaction stage that sits on that upload path; it's off by default, so unless you configure redaction, files upload as-is.
Once approved, the client runs unattended:
- files queue locally when the network drops and resume when it returns
- in-progress recordings are left untouched until their MCAP footer is written
- oldest files are evicted first when the local disk quota is hit
See the configuration reference for every edge-manager.yaml and edge-sync.yaml field, or Redact to strip sensitive data on the device before upload.
What the Docker image bundles on top of the binary
| Bundled extra | What it gives you |
|---|---|
| Transport compression | JPEG (40x), H.264 (43x), Draco (3.6x), LZ4 (2.8x) |
| System diagnostics | CPU, memory, disk, temperature as ROS2 topics |
| ROS graph recording | Computational graph snapshot at 1 Hz |
| Pre-wired recorder | ros2 bag record configured for compression and output paths |
| Multi-distro / multi-arch | Humble + Jazzy, amd64 + arm64 |
| ROS2 middleware | FastDDS (default), CycloneDDS, and Zenoh support |
If you already have a recording stack — or don't need these extras — the binary is the lighter option.