2807b2b0673c8de98cd900dde034c2fae79928c2
continuum-proxy
Edge gateway daemon for the Continuum print farm platform. Runs on a Linux SBC
on-site, discovers and talks to printers over the LAN, and maintains a
resilient uplink to the cloud control plane (continuum-backend).
Responsibilities
- Uplink (
src/uplink/): persistent WebSocket connection towss://api.domain.com/ws/edge/v1with exponential-backoff reconnects, heartbeat ping/pong, and inbound task dispatch. - Printer adapters (
src/adapters/): protocol clients per printer vendor — Bambu Lab (MQTT 8883 + FTPS 990), PrusaLink (REST), Klipper (Moonraker WS). - Plate changer (
src/plate_changer/): mechanical cycle execution and sensor validation over GPIO/serial for automated plate-swap hardware. - Local cache (
rusqlite): buffers telemetry and job state through connectivity gaps so nothing is lost if the uplink drops. - go2rtc watchdog: supervises the bundled
go2rtcprocess for camera restreaming (RTSP/USB → WebRTC).
Getting started
cp .env.example .env
cargo run
Structure
src/
main.rs Multi-threaded async engine: uplink, discovery, go2rtc watchdog
uplink/ Cloud WebSocket client (reconnect, heartbeat, dispatch)
adapters/ bambu.rs, prusalink.rs, moonraker.rs printer clients
plate_changer/ Mechanical cycle control + sensor validation
discovery/ LAN printer discovery (SSDP / mDNS / static config)
Description
Languages
Rust
100%