Roboflare
Cloudflare for robots — enroll fleets, ship releases, roll out config from a single typed API.
Roboflare is a control plane for fleets of mobile robots. It gives your robot software the same loop you already expect from cloud apps: enroll a device, observe it live, ship a release, watch the rollout, roll back on failure.
It is a single Cloudflare Worker. There is no separate dashboard, API, and
agent broker — web/ owns all of them. Robots open a single persistent
WebSocket to the Worker; everything else (logs, shell, camera, OTA, config
sync) is multiplexed inside that tunnel.
The loop
- Provision a site, a fleet inside the site, and an enrollment key.
- Enroll a robot. The agent on the robot exchanges the key for a robot token, connects to the tunnel, and shows up in your dashboard.
- Observe the robot: live health, structured logs, remote shell, camera, ROS diagnostics, rosbag history.
- Release a new robot application as a container image or app tarball.
- Deploy the release to one robot or a whole fleet, with an idempotency key. The agent pulls the artifact, swaps the container, and watches for 30s. If the new process exits, it rolls back to the previous image.
- Configure robot behavior with versioned config blobs. Deployed configs
land at
~/.roboflare/robot-configs/<namespace>.jsonon the robot.
What's in this site
Get started
Install the CLI, log in with a portal token, and enroll your first robot.
Concepts
Sites, fleets, releases, configs, enrollment — the model behind the API.
CLI
rf is the same operational loop as the dashboard, scriptable.
SDKs
Typed TypeScript and Python clients over the OpenAPI spec.
Status
Roboflare is v0. The end-to-end loop runs against a real Raspberry Pi from a local laptop. The control plane targets Cloudflare (D1 + Durable Objects); the robot-side agent is Rust, with a Python compatibility agent kept temporarily for parity work. Anything documented here reflects code that exists today — not a roadmap.