Pre-wired topologies with smart adapters, mock collapse, A/B routing, multi-protocol support, federation, and self-healing. Define the board. Slot services in.
pip install baton-orchestrator
Topology is a first-class artifact. Define nodes, edges, and contracts in baton.yaml. Services slot in and out of a fixed board.
Every node gets an async reverse proxy. Health checks, metrics, hot-swap with drain, and per-request routing -- all built in.
HTTP, TCP, gRPC, protobuf, and SOAP out of the box. Extensible ProtocolHandler registry for custom protocols.
Auto-generate mock servers from OpenAPI specs. Start fully mocked, slot in services one at a time, collapse back when done.
Weighted splits, canary rollouts, header-based routing. Config locking prevents accidental overrides during tests.
Automated canary evaluation with error rate and latency thresholds. Promotes through weight steps or rolls back.
Replace running services with zero downtime. Drain connections from old instance, start new, switch. Atomic and safe.
Custodian monitors health every 5 seconds. Auto-restarts failed services, replaces with mocks, escalates when repairs fail.
Live dashboard, per-node metrics, request signals, per-path statistics. Prometheus export. JSONL persistence for offline analysis.
Multi-cluster heartbeat, cross-cluster state sync, automatic failover and restore. Pull-based peer discovery with configurable thresholds.
Monitor TLS certificate expiry with warning and critical thresholds. Auto-rotate certs with zero downtime -- new connections get the new cert.
Model Context Protocol server exposes circuit state to Claude Code and other AI assistants. Inspect topology, metrics, and signals.
Auto-detect Python or Node runtimes, generate Dockerfiles, build and push container images. Integrated into deploy pipeline.
Deploy to GCP Cloud Run with --build. Each node becomes a service. Edges auto-wired via environment variables.
Command injection prevention, header injection guards, path traversal protection, fail-closed auth, bounded header parsing.
701 hand-written tests plus 103 pact-generated smoke tests covering all 36 source modules. Every public function verified callable.
Define your topology, boot with mocks, slot in real services, run A/B tests, federate across clusters.
| Mode | Description | Health Check |
|---|---|---|
http |
HTTP/1.1 reverse proxy with tracing, circuit breaker, retries | HTTP GET to health path |
tcp |
Bidirectional byte pipe | TCP connectivity |
grpc |
Transparent HTTP/2 forwarding | TCP connectivity |
protobuf |
Length-prefixed binary proxy (4-byte big-endian + payload) | TCP connectivity |
soap |
HTTP with SOAPAction header awareness and fault detection | HTTP + SOAP fault check |
The board. Nodes + edges + contracts. Defined in baton.yaml.
Async reverse proxy at each node. Handles routing, health, metrics.
Insert or replace a service. Hot-swap drains before switching.
Compress circuit. Full mock through partial to full live.
Health monitor. Restart, replace, escalate. Self-heals the board.
Weighted, header, canary. Per-request. Lockable.
Pluggable handlers. HTTP, TCP, gRPC, protobuf, SOAP. Extensible.
Multi-cluster heartbeat, state sync, automatic failover.
Deployment backend. Local processes or GCP Cloud Run.
Service self-description. API spec, mocks, dependencies.
Entry point from outside the circuit. First node traffic hits.
External dependency. Always mocked. Third-party APIs, databases.
Live UI. Node cards, bar charts, signal log, topology. Polls every 2s.
Auto-promote or rollback. Compares error rate + latency against thresholds.
TLS cert monitoring, expiry alerts, zero-downtime rotation.
AI integration. Exposes circuit state to Claude Code and other assistants.