Skip to content

Pilot Deployment Overview

A self-contained deployment package for running SCP in a pilot environment.


Deployment Artifacts

File Purpose
control-plane/Dockerfile Multi-service Docker image (API, Rules, Context, Telemetry)
control-plane/docker-entrypoint.sh Service selection entrypoint
control-plane/docker-compose.yaml Full-stack deployment with all services
control-plane/.env.pilot.template Documented environment configuration template

Documentation

File Purpose
control-plane/docs/pilot/SETUP.md Step-by-step installation and startup guide
control-plane/docs/pilot/ONBOARDING.md How to use SCP (bundles, agents, context requests)
control-plane/docs/pilot/TROUBLESHOOTING.md Common issues and solutions

Onboarding Scripts

Script Purpose
scripts/load_bundle.py Load a bundle from a YAML file via the API
scripts/register_agent.py Interactive agent registration with API key generation
scripts/verify_setup.py Comprehensive health check of all components

Example Content

File Purpose
examples/pilot/acme-bundle.yaml Comprehensive healthcare bundle with compliance rules, clinical guidelines, and escalation paths
examples/pilot/simple-bundle.yaml Minimal bundle template
examples/pilot/README.md Guide to using the examples

Services

Service Port(s) Purpose
Control Plane API 8000 Bundle Registry, Agent Registry, Governance APIs
Rules Engine 8001 Custom business rules
Context Service 8002 (gRPC), 8003 (webhook) Agent context streaming
Telemetry Service 8004 Usage reporting
PostgreSQL + Apache AGE 5432 Graph + relational database
Redis 6379 Pub/sub for real-time updates
Caddy 443, 8443 TLS reverse proxy

Quick Start

# 1. Clone and configure
git clone https://github.com/tim-mccrimmon/supervisory-control-plane.git
cd supervisory-control-plane/control-plane
cp .env.pilot.template .env
# Edit .env — generate and set DB_PASSWORD, JWT_SECRET, ADMIN_API_KEY, DEPLOYMENT_ID

# 2. Start all services
docker compose up -d

# 3. Verify everything is running
python scripts/verify_setup.py

# 4. Load a bundle
python scripts/load_bundle.py ./examples/pilot/acme-bundle.yaml --publish

# 5. Register an agent
python scripts/register_agent.py

# 6. Test a context request
curl -X POST http://localhost:8000/api/context \
  -H "X-API-Key: sk_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"task_type": "prior_auth_check"}'

See Getting Started for a detailed walkthrough.