bifrost.client block controls how Bifrost manages its internal worker pool, request logging, authentication enforcement, header policies, SDK compatibility shims, and MCP agent behaviour. All settings map directly to the client section of the rendered config.json.
Connection Pool
| Parameter | Description | Default |
|---|---|---|
bifrost.client.initialPoolSize | Pre-allocated worker goroutines per provider queue | 300 |
bifrost.client.dropExcessRequests | Drop requests when queue is full instead of waiting | false |
1000 is a common starting point.
Request & Response Logging
| Parameter | Description | Default |
|---|---|---|
bifrost.client.enableLogging | Log all LLM requests and responses | true |
bifrost.client.disableContentLogging | Strip message content from logs (keeps metadata) | false |
bifrost.client.logRetentionDays | Days to retain log entries in the store | 365 |
bifrost.client.loggingHeaders | HTTP request headers to capture in log metadata | [] |
disableContentLogging: true for HIPAA / PCI compliance workloads where message content must not be persisted.
Security & CORS
| Parameter | Description | Default |
|---|---|---|
bifrost.client.allowedOrigins | CORS allowed origins | ["*"] |
bifrost.client.enforceGovernanceHeader | Require x-bf-vk virtual-key header on every request | false |
bifrost.client.maxRequestBodySizeMb | Maximum allowed request body size | 100 |
bifrost.client.whitelistedRoutes | Routes that bypass auth middleware | [] |
Header Filtering
Controls whichx-bf-eh-* headers are forwarded to upstream LLM providers.
| Parameter | Description | Default |
|---|---|---|
bifrost.client.headerFilterConfig.allowlist | Only these headers are forwarded (whitelist mode) | [] |
bifrost.client.headerFilterConfig.denylist | These headers are always blocked | [] |
bifrost.client.requiredHeaders | Headers that must be present on every request | [] |
bifrost.client.allowedHeaders | Additional headers permitted for CORS and WebSocket | [] |
x-bf-eh-* headers pass through. Specifying an allowlist enables strict whitelist mode - only listed headers are forwarded.
Authentication
| Parameter | Description | Default |
|---|---|---|
bifrost.authConfig.isEnabled | Enable username/password auth for the API and dashboard | false |
bifrost.authConfig.adminUsername | Admin username (plain text, prefer secret) | "" |
bifrost.authConfig.adminPassword | Admin password (plain text, prefer secret) | "" |
bifrost.authConfig.existingSecret | Kubernetes Secret name for credentials | "" |
bifrost.authConfig.usernameKey | Key within the secret for username | "username" |
bifrost.authConfig.passwordKey | Key within the secret for password | "password" |
bifrost.authConfig.disableAuthOnInference | Skip auth check on /v1/* inference routes | false |
Encryption
| Parameter | Description | Default |
|---|---|---|
bifrost.encryptionKey | Optional encryption key (plain text - use encryptionKeySecret in production). If omitted, data is stored in plaintext. | "" |
bifrost.encryptionKeySecret.name | Kubernetes Secret name containing the key | "" |
bifrost.encryptionKeySecret.key | Key within the secret | "encryption-key" |
Async Jobs & Database Pings
| Parameter | Description | Default |
|---|---|---|
bifrost.client.disableDbPingsInHealth | Exclude DB connectivity from /health checks | false |
bifrost.client.asyncJobResultTTL | TTL (seconds) for async job results | 3600 |
Compat Shims
Compatibility flags that let Bifrost silently adapt request/response shapes for SDK integrations:| Parameter | Description | Default |
|---|---|---|
bifrost.client.compat.convertTextToChat | Wrap legacy text completions as chat messages | false |
bifrost.client.compat.convertChatToResponses | Translate chat completions to Responses API format | false |
bifrost.client.compat.shouldDropParams | Silently drop unsupported parameters instead of erroring | false |
bifrost.client.compat.shouldConvertParams | Auto-convert parameter names across provider schemas | false |
Prometheus Labels
Add custom labels to every Prometheus metric emitted by Bifrost:MCP Agent Settings
| Parameter | Description | Default |
|---|---|---|
bifrost.mcp.toolManagerConfig.maxAgentDepth | Maximum tool-call recursion depth for MCP agent mode | 10 |
bifrost.mcp.toolManagerConfig.toolExecutionTimeout | Timeout per tool execution in seconds | 30 |
bifrost.mcp.toolManagerConfig.codeModeBindingLevel | Code mode binding level (server or tool) | server |
bifrost.mcp.toolManagerConfig.disableAutoToolInject | Disable automatic MCP tool injection | false |
bifrost.mcp.toolSyncInterval | Global tool sync interval as a Go duration string (for example 10m). Use 0s to use the runtime default (it does not disable sync). This differs from legacy bifrost.client.mcpToolSyncInterval: 0, which represented disabled behavior. | 10m |

