Skip to content

Deployment

The simplest way to run PulseRoute in production.

Core Stack

docker compose up -d

Starts the API, dashboard, and backing store:

Service Port Description
api 8080 PulseRoute engine
dashboard 8000 Monitoring UI

With Monitoring

docker compose --profile monitoring up -d

Adds Prometheus and Grafana:

Service Port Credentials
prometheus 9090 (none)
grafana 3001 admin / pulseroute

Environment Variables

API Configuration

Variable Default Description
PULSEROUTE_TIER 3 Engine tier: 1 (Sentinel), 2 (Foresight), 3 (Autopilot)
PULSEROUTE_API_KEYS (unset) API keys with optional tenant mapping. Unset = no auth (dev mode).
PULSEROUTE_CORS_ORIGINS (unset) Comma-separated allowed CORS origins

Production Recommendations

# .env file
PULSEROUTE_TIER=3
PULSEROUTE_API_KEYS=key-abc-123:tenant_acme,key-def-456:tenant_beta
PULSEROUTE_CORS_ORIGINS=https://your-dashboard.com

Multi-Tenancy

PulseRoute supports multi-tenant deployments where each tenant has fully isolated routing rules, health metrics, predictions, and webhooks.

Configuration

Tenants are defined through the PULSEROUTE_API_KEYS environment variable using key:tenant_id pairs:

# Multi-tenant: each key maps to a tenant
PULSEROUTE_API_KEYS=key-abc:acme_corp,key-def:acme_corp,key-xyz:beta_inc

# Legacy format (backward compatible): all keys map to "default" tenant
PULSEROUTE_API_KEYS=key-abc,key-def

Multiple API keys can map to the same tenant (e.g., production and staging keys for one customer).

Tenant Isolation

Resource Isolated?
Routing rules Yes
Transaction metrics Yes
Health evaluations Yes
Failure predictions (Tier 2) Yes
Adaptive routing (Tier 3) Yes
Webhooks Yes

Tenant Management API

# List active tenants
curl -H "X-API-Key: key-abc" http://localhost:8080/v1/tenants

# Get tenant details
curl -H "X-API-Key: key-abc" http://localhost:8080/v1/tenants/acme_corp

Health Checks

The API exposes health check endpoints:

# Basic liveness
curl http://localhost:8080/
# {"service": "pulseroute", "version": "0.1.0"}

# Engine health (detailed)
curl http://localhost:8080/v1/health

Performance

PulseRoute is designed for low-latency, high-throughput routing decisions:

Metric Value
Routing decisions 300+ req/s
Outcome reports 120+ req/s
Route latency (p50) 5ms
Route latency (p99) 30ms