Installation
EdgePlane has three components:
| Component | Purpose |
|---|---|
edgeplane | Operator CLI and agent launcher — your primary interface |
edgeplaned | Headless executor daemon — manages agent subprocesses and secrets brokering |
edgeplane-tower | HTTP server backing the REST/SSE API — domains, missions, tasks, artifacts, Git publication |
Install Script (recommended)
Section titled “Install Script (recommended)”The install script downloads a prebuilt binary and falls back to a source build if no binary is available for your platform.
Linux / macOS (quickest path):
curl -fsSL https://edgeplane.ai/install.sh | bashOr directly from the repo:
bash <(curl -fsSL https://raw.githubusercontent.com/RyanMerlin/edgeplane/main/scripts/install-edgeplane.sh)Windows (PowerShell):
irm https://raw.githubusercontent.com/RyanMerlin/edgeplane/main/scripts/bootstrap-edgeplane.ps1 | iexBy default installs to ~/.local/bin/edgeplane. Ensure ~/.local/bin is on PATH.
Build from Source
Section titled “Build from Source”Requires a working Rust toolchain (stable).
git clone https://github.com/RyanMerlin/edgeplane.gitcd edgeplane
# Build all three binaries from the workspace rootcargo build --release -p edgeplane -p edgeplaned -p edgeplane-tower
# Installcp target/release/edgeplane ~/.local/bin/edgeplanecp target/release/edgeplaned ~/.local/bin/edgeplanedcp target/release/edgeplane-tower ~/.local/bin/edgeplane-towerRunning the Control Plane
Section titled “Running the Control Plane”edgeplane-tower is the API server all agents and operators talk to. Migrations run automatically on startup.
edgeplane-tower --bind 0.0.0.0:8008Verify it’s up:
curl http://localhost:8008/api/healthEnvironment Variables
Section titled “Environment Variables”| Variable | Purpose | Default |
|---|---|---|
EP_BASE_URL | Control plane HTTP base URL | http://localhost:8008 |
You can set this in your shell profile or pass it inline:
export EP_BASE_URL="https://edgeplane.example.com"Authentication
Section titled “Authentication”EdgePlane uses three auth mechanisms — no static EP_TOKEN is required:
| Auth mode | When to use | How |
|---|---|---|
| OIDC (interactive) | Operators, interactive use | edgeplane auth login — browser flow, issues a session token |
| Node JWT (machine) | Daemons, edgeplaned | edgeplane agent node register --hostname <name> — JWT stored at ~/.edgeplane/config/node.json ($EP_HOME/config/node.json) |
| Service account | CI, programmatic | ep_sa_* tokens — created via API, passed as Bearer |
Verify
Section titled “Verify”edgeplane --versionedgeplane health --jsonNext Steps
Section titled “Next Steps”- Quick Start — run your first agent in 5 minutes
- Agent Setup — connect Claude Code, Codex, or Gemini CLI