Gateway
Gateway (protocolsoup-gateway)
Section titled “Gateway (protocolsoup-gateway)”Image: ghcr.io/parlesec/protocolsoup-gateway
When To Use
Section titled “When To Use”Use gateway when you run multiple protocol services and need a single API entrypoint for routing, protocol discovery, and Looking Glass WebSocket connections.
Runtime Contract
Section titled “Runtime Contract”| Property | Value |
|---|---|
| Port | 8080 |
| Health | GET /health |
| Upstream health | GET /health/upstreams |
| API index | GET /api |
| WebSocket | /ws/lookingglass/{session} |
Core Endpoints
Section titled “Core Endpoints”GET /api/protocols— list all registered protocolsGET /api/protocols/{id}— protocol detailsGET /api/protocols/{id}/flows— flow definitionsPOST /api/protocols/{id}/demo/{flow}— start demo sessionPOST /api/lookingglass/decode— decode tokenGET /api/lookingglass/sessions— list Looking Glass sessionsGET /.well-known/jwks.json— JSON Web Key Set
Configuration
Section titled “Configuration”| Variable | Required | Default | Description |
|---|---|---|---|
SHOWCASE_BASE_URL | Yes | http://localhost:8080 | External URL for generated links |
SHOWCASE_CORS_ORIGINS | No | http://localhost:3000,http://localhost:5173 | Allowed browser origins |
FEDERATION_SERVICE_URL | No | - | Federation upstream URL |
SCIM_SERVICE_URL | No | - | SCIM upstream URL |
SSF_SERVICE_URL | No | - | SSF upstream URL |
SPIFFE_SERVICE_URL | No | - | SPIFFE upstream URL |
SHOWCASE_ENV | No | development | Environment mode |
docker run -p 8080:8080 \ -e SHOWCASE_BASE_URL=http://localhost:8080 \ -e FEDERATION_SERVICE_URL=http://federation-service:8080 \ -e SCIM_SERVICE_URL=http://scim-service:8080 \ -e SSF_SERVICE_URL=http://ssf-service:8080 \ ghcr.io/parlesec/protocolsoup-gateway:latestOperational Notes
Section titled “Operational Notes”- Configure at least one upstream service URL. Without upstreams, the protocol inventory will be empty.
- Set
SHOWCASE_CORS_ORIGINSto your frontend origin for browser access. - Gateway includes rate limiting (100 requests/minute) and security headers.
- Place behind HTTPS termination for internet-facing deployments.
- Request timeout is 60 seconds.