CLI
nodara CLI
A single Rust binary. About 22ms cold start, no runtime dependencies, works over HTTP/2 with connection reuse.
Install
One line, macOS/Linux/Windows (via WSL):
user@nodara ~ zsh
➜ ~ curl -fsSL nodara.host/cli | sh ✓ installed nodara 2.1.4 → /usr/local/bin/nodara
On Windows, we ship an MSI at nodara.host/cli/nodara.msi. On macOS, we're on Homebrew: brew install nodara/tap/nodara.
Command reference
| command | description |
|---|---|
| nodara login | OAuth device flow. Credentials stored in OS keychain. |
| nodara deploy [--plan] [--region] [--image] | Rent a new instance interactively or via flags. |
| nodara ls | List instances in your account with status and IP. |
| nodara ssh <id> | Open an SSH session to the instance (uses your default key). |
| nodara console <id> | Open a browser-based console (KVM/serial for Linux, VNC for Windows). |
| nodara snap <id> | Take a snapshot of a running instance. |
| nodara restore <snap-id> | Restore a snapshot to a fresh instance. |
| nodara destroy <id> | Destroy an instance. Requires --yes to skip confirmation. |
| nodara fleet up <fleet.yaml> | Fan out a group of instances from a YAML spec. |
| nodara balance | Show current balance and burn rate. |
Fleet files
For anything more than a handful of instances, use a fleet file. It's a declarative spec that nodara fleet up reconciles against the running fleet.
fleet.yaml
# fleet.yaml name: edge-scrapers image: alpine-3.20 plan: nv-1x ssh_key: team-edge fanout: fra1: 40 iad1: 40 sin1: 20 on_boot: - curl -fsSL scrape.internal/agent.sh | sh
Environment variables
NODARA_TOKEN— bearer token, if you can't use the keychain (CI).NODARA_API— override the API endpoint (default:https://api.nodara.host).NODARA_NO_COLOR— disable ANSI colors in output.NODARA_JSON— force JSON output, useful for scripts.