Decision guide
Web console (pw)
Best for: fleet managers, support engineers, day-to-day device operations.
- Visual dashboards, OTA wizards, integration setup
- Mock mode for local UI development (
VITE_MOCK_AUTH=true) - Requires only a browser and Zitadel login
Golain CLI (golain)
Best for: DevOps, SRE, agents, CI pipelines, power users who want JSON output.
Install from CDN:
- Full CRUD for orgs, projects, fleets, devices, tags, OTA, integrations
- Interactive TUI when run without subcommands
golain omega scaffoldand TUI Deploy Omega wizard for edge SQLite sync- Device authorization login; profiles for staging vs production
Device SSH CLI (golain-cli)
Best for: operators who need SSH into devices through the MQTT bridge.
- Separate tool from golain (platform CLI/TUI)
golain login→golain set→golain devices→golain ssh <name>- Focused command set; production endpoints baked in
Omega edge runtime
Best for: firmware and edge engineers shipping software onto Linux, macOS, or Windows hardware. Install from CDN:- Profile-driven YAML (
clients/*.yaml) or scaffold-generated config - Modules: shadow, OTA, heartbeat, RPC, SQLite replication, robotics, etc.
- JITR for certificate-based enrollment against ilyama
Self-hosted operator
Best for: running the full ilyama stack on your own VM with TLS, internal PKI, and Zitadel.- vm-edge bundle: Traefik, Let’s Encrypt (Cloudflare DNS-01), data-plane mTLS
- Distinct from laptop
make dev-infra(no TLS, local only)
Typical end-to-end flow
- Operator creates org/project/fleet in console or
golain. - Edge engineer runs
golain omega scaffold(or TUI wizard), starts Omega, connects MQTT. - Support monitors connectivity in console Event Stream or
golain events watch. - Release engineer publishes OTA release, creates deployment, triggers rollout.
- Field tech uses golain-cli
golain sshfor interactive shell when RPC/SSH module is enabled on device.
Local development vs production
→ Local development