Skip to content

Isolate authenticated single-cluster catalogs and sessions - #187

Merged
BorisTyshkevich merged 4 commits into
mainfrom
deliver/182-credential-catalogs
Oct 7, 2026
Merged

BorisTyshkevich merged 4 commits into
mainfrom
deliver/182-credential-catalogs

Conversation

@BorisTyshkevich

@BorisTyshkevich BorisTyshkevich commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Authenticated single-cluster HTTP and SSE requests now discover and expose dynamic tools through a catalog owned by the effective caller credential. Anonymous schema and database requests fail without using configured ClickHouse credentials; static mode remains available when authentication is disabled.

HTTP requests receive caller-specific MCP registries and OpenAPI catalogs. SSE sessions use credential-specific SDK handlers, reject cross-credential POSTs, and reconnect after configuration reload. Catalog caches and request dispatch share an immutable configuration generation and clean up on replacement or shutdown.

Closes #182.

Unchanged periodic reloads retain live SSE sessions and cached catalogs. Changed configurations retire the previous generation; requests holding that generation can finish bounded discovery. Log-level reload uses the atomic level without replacing the shared logger.

Validation at PR head a0fd29a: go vet, full Go tests, the CI-matched shuffled coverage command, make build, full server race tests, and full command-package race tests passed. CI passed. Independent native Sol/xhigh and external Opus/xhigh reviews returned SHIP after the first-round findings were fixed. No required checks were waived.

Post-merge verification at 0366d90: concurrent dependency updates landed on main during review. The actual merged tree received a fresh full local gate, including server and command-package race tests, and independent native and Opus reviews both returned SHIP. The main-branch CI test passed.

@BorisTyshkevich
BorisTyshkevich marked this pull request as ready for review October 7, 2026 08:49
@BorisTyshkevich
BorisTyshkevich merged commit 0366d90 into main Oct 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

security(openapi): unauthenticated /openapi runs dynamic-tool discovery with the server's static ClickHouse credentials

1 participant