Run commands on remote machines over persistent WebSockets.
Overview
Agents connect out to a central TypeScript control plane, so managed machines need no inbound firewall rules or distributed SSH keys. Operators can work through a CLI or the browser dashboard.
Architecture
CLI / dashboard --> Core API/WS <-- Agents (Go)
|
PostgreSQL
Features
- JWT authentication with separate operator and agent roles
- Remote execution with stored output and per-machine history
- Online status derived from heartbeat timestamps
- NixOS modules for the control plane, agents, and CLI
Stack
TypeScript · Go · Fastify · Drizzle ORM · PostgreSQL · WebSockets · NixOS