Repository navigation
feat(server): support private Unix socket listeners - #2312
Conversation
hidb4ai
left a comment
There was a problem hiding this comment.
Reviewed commit 2e20bcc. Three correctness issues remain in HTTPS-proxy Dashboard access, JSON listener configuration, and startup exit status on a supported Uvicorn version. Changes are needed before merge; reproductions and required behavior are attached inline.
hireview001
left a comment
There was a problem hiding this comment.
- CI failed: tests (3.11, unit) (failure).
- CI failed: tests (3.12, unit) (failure).
- CI failed: tests (3.14, unit) (failure).
- CI failed: tests (3.13, unit) (failure).
- CI failed: Main (failure). Failed steps: tests (3.13, unit) / Run unit tests; tests (3.14, unit) / Run unit tests; tests (3.12, unit) / Run unit tests.
hireview001
left a comment
There was a problem hiding this comment.
- Resolve merge conflicts with the target branch.
- CI failed: tests (3.11, unit) (failure).
- CI failed: tests (3.12, unit) (failure).
- CI failed: tests (3.14, unit) (failure).
- CI failed: tests (3.13, unit) (failure).
- CI failed: Main (failure). Failed steps: tests (3.13, unit) / Run unit tests; tests (3.14, unit) / Run unit tests; tests (3.12, unit) / Run unit tests.
|
在 head 已确认落地
仍然存在的一处
本地验证(Windows,head 源码树)
完整的 |
|
no obviously significant problem for me, LGTM |
|
Regarding the HTTPS-proxy scheme concern: this is already handled by Replayed both cases using a real Server process and a local TLS-terminating proxy forwarding over the Unix socket: with the explicit HTTPS setting, Dashboard login returns 303 and a Secure/HttpOnly/SameSite=strict cookie; without it, the HTTPS-origin request returns 403 with no cookie. Mismatched origins also return 403. Both cases passed. |
Which issue or RFC does this PR close?
Extracts the independent local Unix-socket transport support from #2264. It can merge directly into master without the RFC #2086 inference or context changes.
Rationale for this change
Local deployments need to expose the Server over a private Unix-domain socket while preserving authentication, existing API/MCP behavior, and reliable restart. Socket startup and cleanup must respect path ownership and avoid deleting unrelated files or live listeners.
What changes are included in this PR?
Are there any user-facing changes?
Local deployments can opt into a Unix socket. A trusted TLS-terminating proxy can use
POWERCONTEXT_SERVER_HTTP_UDS_EXTERNAL_SCHEME=httpsto preserve Dashboard origin and Secure-cookie behavior; forwarded IP headers remain untrusted. Existing TCP/HTTPS configuration remains the default. Unsupported combinations fail configuration validation. No HTTP API, database table, or migration is added.How was this change tested?
make check: passed, including lint, types, lock consistency, and integration manifest checks.uvicorn==0.35.0returned exit code 3 for real lifespan startup failure. These checks are independent of the context reuse/check feature.AI usage statement
OpenAI Codex assisted with implementation, scope separation, regression tests, documentation, and validation.