-
Notifications
You must be signed in to change notification settings - Fork 1
Add a dedicated Chutes sidecar route without changing existing /v1/chat/completions behavior #8
Copy link
Copy link
Open
Description
Summary
We want to integrate Chutes models into vllm-proxy while preserving the current production-stable behavior for existing users.
Instead of modifying the current /v1/chat/completions path, add a dedicated Chutes route:
POST /v1/chutes/chat/completionsGET /v1/chutes/models
This lets upstream gateways (e.g., Redpill) continue receiving standard OpenAI-style /v1/chat/completions requests and selectively forward Chutes-bound traffic to the new sidecar route.
Goals
- Keep existing
/v1/chat/completionsbehavior unchanged - Minimize coupling/risk to current production path
- Add Chutes integration behind explicit route + config flag
Proposed behavior
Existing route (unchanged)
POST /v1/chat/completions
- continues to forward to local vLLM backend as today
New Chutes route
POST /v1/chutes/chat/completions
- reuses existing E2EE parse/decrypt logic on ingress
- forwards plaintext request to Chutes OpenAI-compatible endpoint over TLS:
${CHUTES_BASE_URL}/v1/chat/completions- with
Authorization: Bearer ${CHUTES_API_KEY}
- reuses existing E2EE encrypt logic on egress
New Chutes models route
GET /v1/chutes/models
- proxies
${CHUTES_BASE_URL}/v1/modelswith Chutes auth header
Config
CHUTES_ENABLED(default false)CHUTES_BASE_URL(defaulthttps://llm.chutes.ai)CHUTES_API_KEY(required if enabled)
Security note
This is not pure client-to-model cryptographic E2EE.
It is a practical TEE-mediated segmented model:
- Client ↔ Proxy: existing E2EE
- Proxy ↔ Chutes: TLS
- Plaintext is only visible inside trusted runtime boundaries
Acceptance criteria
- Existing route behavior remains unchanged
- Chutes route supports stream + non-stream
- Existing E2EE nonce/replay checks remain in effect
- Misconfig returns explicit 503 errors
- No API-key leakage in logs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels