Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions framework/configstore/migrations.go
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,15 @@ func triggerMigrations(ctx context.Context, db *gorm.DB) error {
if err := migrationAddCreatedByUserIDColumnForVirtualKeys(ctx, db); err != nil {
return err
}
// Must run before migrationRefreshConfigHashAfterMCPExternalServerURLRemoval:
// that migration SELECTs config_client using the column list derived from
// the TableClientConfig struct, which still declares allow_direct_keys.
// Without re-adding the column first, the SELECT fails with
// "no such column: allow_direct_keys" on any DB where the earlier
// drop_allow_direct_keys_column_ddl migration has run.
if err := migrationReAddAllowDirectKeysColumn(ctx, db); err != nil {
return err
}
if err := migrationRefreshConfigHashAfterMCPExternalServerURLRemoval(ctx, db); err != nil {
return err
}
Expand All @@ -813,9 +822,6 @@ func triggerMigrations(ctx context.Context, db *gorm.DB) error {
if err := migrationAddPerUserHeadersFlowsTable(ctx, db); err != nil {
return err
}
if err := migrationReAddAllowDirectKeysColumn(ctx, db); err != nil {
return err
}
if err := migrationAddMCPClientTLSConfigColumn(ctx, db); err != nil {
return err
}
Expand Down
3 changes: 3 additions & 0 deletions transports/bifrost-http/lib/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15766,6 +15766,9 @@ var excludedSchemaFields = map[string]map[string]bool{
"budget_id": true, // Replaced by budgets[] relationship with team_id FK on TableBudget
"business_unit_id": true, // Enterprise feature; not in OSS TableTeam
},
"governance.virtual_keys": {
"access_profile_id": true, // Enterprise access-profile assignment; not on OSS TableVirtualKey
},
"governance.virtual_keys.provider_configs": {
"keys": true, // Complex nested type, validated separately
"key_ids": true, // Config-file format; handled via custom UnmarshalJSON into allow_all_keys/keys
Expand Down
25 changes: 24 additions & 1 deletion transports/config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,11 @@
},
"description": "Additional allowed headers for CORS and WebSocket"
},
"allow_direct_keys": {
"type": "boolean",
"description": "Allow callers to bypass the registered key pool by supplying x-bf-direct-key: true and an Authorization header carrying the provider's raw API key.",
"default": false
},
"mcp_agent_depth": {
"type": "integer",
"minimum": 1,
Expand Down Expand Up @@ -485,6 +490,10 @@
"type": "string",
"description": "Team name"
},
"source_id": {
"type": "string",
"description": "Optional external source identifier (e.g. SCIM group ID) used to map this team to an upstream system. Unique when set."
},
"customer_id": {
"type": "string",
"description": "Associated customer ID"
Expand Down Expand Up @@ -1908,6 +1917,13 @@
"type": "string"
}
},
"blacklisted_models": {
"type": "array",
"description": "Models blocked for this provider config even if matched by allowed_models. Use [\"*\"] to block all; empty array blocks none.",
"items": {
"type": "string"
}
},
"rate_limit_id": {
"type": "string",
"description": "Associated rate limit ID"
Expand Down Expand Up @@ -2816,7 +2832,7 @@
},
"auth_type": {
"type": "string",
"enum": ["none", "headers", "oauth", "per_user_oauth"],
"enum": ["none", "headers", "oauth", "per_user_oauth", "per_user_headers"],
"description": "Authentication type for MCP connection"
},
"oauth_config_id": {
Expand All @@ -2830,6 +2846,13 @@
"type": "string"
}
},
"per_user_header_keys": {
"type": "array",
"description": "Header names each caller must supply when auth_type is 'per_user_headers'. Required (non-empty) for that auth type.",
"items": {
"type": "string"
}
},
"stdio_config": {
"type": "object",
"properties": {
Expand Down
Loading