Skip to content

Gateway

Image: ghcr.io/parlesec/protocolsoup-gateway

Use gateway when you run multiple protocol services and need a single API entrypoint for routing, protocol discovery, and Looking Glass WebSocket connections.

PropertyValue
Port8080
HealthGET /health
Upstream healthGET /health/upstreams
API indexGET /api
WebSocket/ws/lookingglass/{session}
  • GET /api/protocols — list all registered protocols
  • GET /api/protocols/{id} — protocol details
  • GET /api/protocols/{id}/flows — flow definitions
  • POST /api/protocols/{id}/demo/{flow} — start demo session
  • POST /api/lookingglass/decode — decode token
  • GET /api/lookingglass/sessions — list Looking Glass sessions
  • GET /.well-known/jwks.json — JSON Web Key Set
VariableRequiredDefaultDescription
SHOWCASE_BASE_URLYeshttp://localhost:8080External URL for generated links
SHOWCASE_CORS_ORIGINSNohttp://localhost:3000,http://localhost:5173Allowed browser origins
FEDERATION_SERVICE_URLNo-Federation upstream URL
SCIM_SERVICE_URLNo-SCIM upstream URL
SSF_SERVICE_URLNo-SSF upstream URL
SPIFFE_SERVICE_URLNo-SPIFFE upstream URL
SHOWCASE_ENVNodevelopmentEnvironment mode
Terminal window
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:latest
  • Configure at least one upstream service URL. Without upstreams, the protocol inventory will be empty.
  • Set SHOWCASE_CORS_ORIGINS to 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.