Copr Gateway
Single-container HTTP gateway for bounded runtime control. Thin status by default, step-driven execution, and SQLite-backed continuity under /data.
Status: Private distribution
What it does
Exposes explicit session and step control instead of hiding runtime behavior behind open-ended background work.
Uses SQLite-backed continuity under /data so runtime state can persist across container calls and restarts.
Returns intentionally sparse status by default for cloud-facing deployments while keeping the runtime inspectable.
Copr Gateway is aimed at controlled runtime surfaces, not general orchestration. The focus is bounded execution, inspectable state, and clean container packaging.
Deployment
The package is designed to run as one container containing the Go HTTP gateway, the bundled Rust copr_api runtime, and SQLite-backed continuity.
COPR_BIND_ADDR=:8080
COPR_API_BIN=/usr/local/bin/copr_api
COPR_DB_PATH=/data/copr.sqlite3
COPR_STATUS_THIN=true
Mount /data to preserve continuity across restarts and version changes.
docker run --rm \
-p 8080:8080 \
-v $(pwd)/data:/data \
-e COPR_BIND_ADDR=:8080 \
-e COPR_API_BIN=/usr/local/bin/copr_api \
-e COPR_DB_PATH=/data/copr.sqlite3 \
-e COPR_STATUS_THIN=true \
copr_gateway:2026.1.0
AWS
Copr Gateway is packaged with a single-container delivery shape suitable for AWS Marketplace container distribution once listing, EULA, and hosting surfaces are finalized.
Designed for controlled container deployment rather than host-wide control. It fits AWS-style packaging without pretending to be a cluster scheduler or orchestration layer.
Runtime continuity is local to the container deployment surface through SQLite under /data. Persistence and backups remain deployment responsibilities.
AWS-facing packaging is intended to stay honest: one container, explicit configuration, bounded runtime control, and no inflated platform claims.
HTTP surface
GET /health
GET /status
POST /open-note
POST /step
POST /close-session
Callers can open a note session, inspect status, advance the runtime by bounded steps, and close the session explicitly.
Status is grouped and intentionally thin by default. Runtime truth remains with the bundled runtime component.
curl -s http://127.0.0.1:8080/health
curl -s http://127.0.0.1:8080/status
curl -s -X POST http://127.0.0.1:8080/open-note \
-H 'Content-Type: application/json' \
-d '{"note_id":42}'
curl -s -X POST http://127.0.0.1:8080/step \
-H 'Content-Type: application/json' \
-d '{}'
curl -s -X POST http://127.0.0.1:8080/close-session
Pricing
Commercial packaging is being prepared. Pricing and evaluation details will be published as the private distribution surface matures.
Private distribution while customer-facing packaging, hosted documentation, EULA, and cloud-facing materials stabilize.
AWS-aware container distribution and listing materials are planned without changing the product into a broad platform claim.
Contact
Questions about packaging, evaluation, or commercial access: nsc@newssourcecrawler.com