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.