Skip to content

feat(orchestrator): add arcane-swarm-orchestrator binary#52

Merged
martinjms merged 1 commit intomainfrom
feat/orchestrator-binary
May 2, 2026
Merged

feat(orchestrator): add arcane-swarm-orchestrator binary#52
martinjms merged 1 commit intomainfrom
feat/orchestrator-binary

Conversation

@martinjms
Copy link
Copy Markdown
Collaborator

Adds the runnable orchestrator binary needed for AWS deployment. The crate was a library only; this wraps DriverServer + HTTP API + StatsCollector + TelemetrySource + TelemetryArchive into a single command-line process.

arcane-swarm-orchestrator \
  --driver-port 8088 \
  --http-port 8090 \
  --cluster-stats-url http://cluster1:8091/stats \
  --archive-dir /var/orchestrator/snapshots

All 61 existing tests still pass. clippy + fmt clean.

🤖 Generated with Claude Code

The orchestrator was a library only; AWS deployment needs a runnable
binary. Adds src/bin/orchestrator.rs that brings up the full
orchestrator process on a single command:
- DriverServer (WebSocket on --driver-port, default 8088)
- HTTP API server (telemetry SSE + command submission, --http-port 8090)
- StatsCollector (polls each --cluster-stats-url every 2s)
- TelemetrySource (snapshot every --telemetry-interval-ms, default 2s)
- TelemetryArchive (local JSON snapshots under --archive-dir)
- HttpClusterEndpoint adapter (parses cluster /stats JSON permissively)

All ports bind on 0.0.0.0; access control is the EC2 security group.

Adds reqwest (rustls-tls) + tokio signal feature.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@martinjms martinjms merged commit adcf03d into main May 2, 2026
1 check passed
@martinjms martinjms deleted the feat/orchestrator-binary branch May 2, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant