feat: add ClickHouse logs store, MCP OAuth2 server config, bedrock_mantle provider, virtual key expires_at, and per-client toolExecutionTimeout to Helm chart - #4960
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
✅ Files skipped from review due to trivial changes (4)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR bumps the Bifrost Helm chart to v2.1.26 and adds MCP auth, virtual key expiry, ClickHouse log storage, Bedrock Mantle, and per-server tool timeout configuration, with matching schema, values, docs, and index updates. ChangesHelm v2.1.26 configuration additions
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
bedrock_mantle provider, virtual key expires_at, and per-client toolExecutionTimeout to Helm chart
21352da to
78ff2b7
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
helm-charts/bifrost/values.schema.json (1)
550-581: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueConsider adding an explicit
defaultformcpServerAuthMode.The description states
'headers' (default)but the property itself has no"default": "headers"key, unlike several sibling enums in this file (e.g.logStyle,sourceOfTruth). Purely cosmetic/documentation consistency; runtime behavior is unaffected since the Go binary applies its own default when the field is omitted.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@helm-charts/bifrost/values.schema.json` around lines 550 - 581, Add an explicit default for mcpServerAuthMode in the schema so it matches the description and sibling enum fields like logStyle and sourceOfTruth. Update the mcpServerAuthMode schema entry to include a default of headers, keeping the existing enum and description intact, and verify any generated docs or schema consumers reflect the new default consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@helm-charts/bifrost/values.schema.json`:
- Around line 550-581: Add an explicit default for mcpServerAuthMode in the
schema so it matches the description and sibling enum fields like logStyle and
sourceOfTruth. Update the mcpServerAuthMode schema entry to include a default of
headers, keeping the existing enum and description intact, and verify any
generated docs or schema consumers reflect the new default consistently.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: ae9b4679-e73c-4e24-af84-593bb965a56f
📒 Files selected for processing (8)
docs/changelogs/helm-v2.1.26.mdxdocs/docs.jsonhelm-charts/bifrost/Chart.yamlhelm-charts/bifrost/README.mdhelm-charts/bifrost/templates/_helpers.tplhelm-charts/bifrost/values.schema.jsonhelm-charts/bifrost/values.yamlhelm-charts/index.yaml
78ff2b7 to
b97bc2b
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@helm-charts/bifrost/README.md`:
- Line 18: The README changelog contains an unrelated deepseek provider note
that does not belong in this Helm chart update. Remove the deepseek bullet from
the release notes section in helm-charts/bifrost/README.md, and keep the entry
scoped to the chart changes only; if needed, move the provider-routing note to
the separate provider PR release notes instead.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 648f7d35-9410-453e-80b2-6d7de5b6d005
📒 Files selected for processing (8)
docs/changelogs/helm-v2.1.26.mdxdocs/docs.jsonhelm-charts/bifrost/Chart.yamlhelm-charts/bifrost/README.mdhelm-charts/bifrost/templates/_helpers.tplhelm-charts/bifrost/values.schema.jsonhelm-charts/bifrost/values.yamlhelm-charts/index.yaml
✅ Files skipped from review due to trivial changes (5)
- docs/changelogs/helm-v2.1.26.mdx
- helm-charts/bifrost/Chart.yaml
- helm-charts/index.yaml
- docs/docs.json
- helm-charts/bifrost/values.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
- helm-charts/bifrost/templates/_helpers.tpl
- helm-charts/bifrost/values.schema.json
b97bc2b to
936ac46
Compare
Merge activity
|

Summary
Extends the Bifrost Helm chart with several new configuration capabilities: OAuth2/MCP server authentication modes, ClickHouse as a logs store backend, AWS Bedrock Mantle provider support, virtual key expiry, and per-client tool execution timeout overrides.
Changes
mcpServerAuthMode(headers,both,oauth) to control how/mcpauthenticates inbound clients. Addedoauth2ServerConfigblock supportingissuerUrl,authCodeTtl,accessTokenTtl, anddisableVkIdentityfor Bifrost-issued JWT flows.clickhouseas a validstorage.logsStore.type. Supports full connection configuration including host, port, database, credentials, protocol (native/http), TLS, dial timeout, and optional cluster name for replicated DDL.bedrock_mantle_key_configschema and example configuration supporting SigV4 credentials, AssumeRole viarole_arn,external_id, andsession_name. Added mutual-exclusivity constraints alongside existing provider key configs.expires_at(RFC3339) field to virtual key definitions. Requests using a key past its expiry timestamp are rejected.toolExecutionTimeoutto MCP client configuration, allowing per-server overrides of the globaltoolManagerConfig.toolExecutionTimeout. Accepts a Go duration string or bare integer (seconds);0falls back to the global default.Type of change
Affected areas
How to test
New configuration fields:
bifrost.client.mcpServerAuthModeheaders(default),both, oroauthbifrost.client.oauth2ServerConfig.*/mcpstorage.logsStore.type=clickhousestorage.logsStore.clickhouse.*virtualKeys[].expires_atmcpClients[].toolExecutionTimeoutproviders.bedrock_mantle.*Breaking changes
Security considerations
oauth2ServerConfigintroduces Bifrost as an OAuth2 authorization server issuing JWTs for MCP clients. TheissuerUrlmust be a stable, publicly reachable URL in multi-host deployments to ensure JWTissclaims and discovery documents are consistent.disableVkIdentityremoves virtual-key identity from the OAuth consent flow; only valid inoauthmode.bedrock_mantle_key_configcredentials support theenv.prefix to avoid embedding secrets directly in values files.expires_atenforcement happens server-side; expired keys are rejected at request time.Checklist
docs/contributing/README.mdand followed the guidelines