-
Notifications
You must be signed in to change notification settings - Fork 624
[fix]: allow model catalog URLs (pricing + parameters) to be overridden via env vars #3521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
dsherniiazov
wants to merge
194
commits into
maximhq:dev
from
dsherniiazov:fix/3238-custom-model-parameters
Closed
Changes from all commits
Commits
Show all changes
194 commits
Select commit
Hold shift + click to select a range
f94940b
feat: add granular RBAC checks for API keys, inference, metrics, and …
impoiler 7c838b2
fix: hide delete log button instead of disabling it when user lacks d…
impoiler 6e4044c
feat: add `MCPLogs` RBAC resource and enforce access control on MCP l…
impoiler 2ec0b20
fix: replace unsafe inline jsonb cast with `bifrost_safe_jsonb` PL/pg…
impoiler 9329830
feat: add required headers input to prompt playground settings panel …
impoiler e2d4127
fix: skip pagination clamp for virtual keys export requests (#3416)
impoiler a64338e
chore: bump `@maximhq/bifrost` to v1.6.3 (#3417)
impoiler 46d5e0a
feat: add volume histogram chart to MCP logs page and fix drag-select…
impoiler a3b91f4
refactor: semantic cache plugin (#3210)
Pratham-Mishra04 896e5e0
feat: remove `cleanup_on_shutdown` from semantic cache plugin config …
Pratham-Mishra04 122fd65
refactor: semantic cache ui revamp (#3331)
Pratham-Mishra04 488182e
fix: resolve cache plugin at request time to support post-boot loads …
Pratham-Mishra04 a97fe51
fix: decouple cache telemetry from write decision and guard no-op sea…
Pratham-Mishra04 a05f9e1
test: add semantic cache e2e test suite skeleton (#3425)
Pratham-Mishra04 49216bb
test: add direct cache e2e test suite (#3426)
Pratham-Mishra04 4f85b11
test: add semantic cache e2e test suite (#3427)
Pratham-Mishra04 a4d0ffa
test: add semantic cache plugin lifecycle tests (#3428)
Pratham-Mishra04 3d624d0
feat: add `test-semantic-cache` and `test-semantic-cache-complete` Ma…
Pratham-Mishra04 cda4391
harness improvements (#3457)
akshaydeo d8da0e9
makefile diff fixes (#3462)
akshaydeo 17e45f5
Preserve Anthropic output schema refs (#3449)
Javtor c66bc56
feat: use the new parameter json schema compliant to json schema spec…
BearTS b794482
feat: replace log delete button with actions dropdown menu and pin ac…
impoiler 8ed6606
fix: constrain model catalog table column widths and truncate overflo…
impoiler 803e1b5
fix: constrain provider keys table column widths and truncate long ke…
impoiler 2d63fcb
feat: replace inline edit/delete buttons with dropdown menu in model …
impoiler b5e2200
feat: replace routing rule action buttons with dropdown menu (#3484)
impoiler c098839
feat: replace inline edit/delete buttons with dropdown menu in pricin…
impoiler 8ecca79
feat: replace inline action buttons with dropdown menu and pin action…
impoiler 267f0e9
feat: replace inline action buttons with pinned dropdown menus and ad…
impoiler d7f5132
chore: `/ui` code formatting (#3494)
impoiler df50f36
send last n messages helm upgrade (#3490)
akshaydeo 52849a9
fix: wrap Makefile subshell cd commands in parentheses (#3333)
danpiths 2579242
feat: add Azure realtime provider and nested model normalization (#3334)
danpiths 736bd7f
feat: enrich realtime routing, logging, cost, and session tracking (#…
danpiths db343c3
feat: improve realtime log detail UI with voice, transport, and audio…
danpiths ff9601d
fix: max tokens and thinking budget value (#3498)
TejasGhatte 823bb0d
fix: include blob fields of azure in batch responses (#3469)
TejasGhatte 2786102
feat: add animated totals/averages to dashboard chart card headers (#…
impoiler 630eae2
fix: set idle stream timeouts in streaming requests (#3495)
TejasGhatte 04842b1
feat: add tooltip with full precision values to chart card totals and…
impoiler 818a58c
fix: trim trailing whitespaces for anthropic and bedrock anthropic pr…
sammaji afb6064
harness updates (#3466)
akshaydeo d612433
[docs]: docs for patronus ai guardrail provider (#3508)
Madhuvod bf8a8fe
feat: add claude skill to validate API docs / openapi schema correctn…
roroghost17 66a816e
chore: update openapi files for missing docs on api endpoints (#3410)
roroghost17 2384fd5
feat: adds support for custom selection of plugins for otel trace spa…
roroghost17 13d4ba5
streaming calls support for hanress (#3507)
akshaydeo 7ef9a9b
broker mode schema changes (#3509)
akshaydeo 8a20d41
broker docs (#3515)
akshaydeo ad59af1
fix: adds prefill message handling for responses in bedrock (#3517)
sammaji bd315bf
feat: updates playwright config to support enterprise ui tests and al…
sammaji fc2941b
fix: updates e2e ui tests for virtual keys management (#3460)
sammaji 98339cd
fix: updates e2e ui tests for provider management (#3463)
sammaji 6b78c0a
fix: adds e2e tests for mcp headers auth, oauth and per-user oauth (#…
sammaji e48cb17
[feat]: use chat completions for openai custom providers that disable…
kevinpdev f47850e
fix: allow catalog urls from env
dsherniiazov b96accf
Add changelog entry for model catalog URL override
dsherniiazov 9ceebdd
Merge branch 'dev' into fix/3238-custom-model-parameters
dsherniiazov 1d80b08
test: update union type test to verify `parametersJsonSchema` passthr…
BearTS 199a020
feat: add Bedrock Mantle inference engine support for `gpt-oss` model…
BearTS 171c9a7
fix: broaden Red Hat registry allowlist from `registry.access.redhat.…
BearTS e74655d
fix: dont pass multipart request bodies in enrich error (#3524)
TejasGhatte 76f37d2
fix: send missing bedrock lifecycle events (#3527)
TejasGhatte d9a76a3
fix: bedrock stop reason (#3506)
TejasGhatte ad7e37c
handle ctx cancel before handling read errors in streaming (#3522)
akshaydeo 3061821
test case fixes (#3525)
akshaydeo 685aed8
remove budget level calendar alignemnt (#3434)
akshaydeo 34ad812
fix: fixes calendar_aligned migration and UI for VK (#3452)
roroghost17 8142ae6
feat: implements calendar align feature at team level (#3476)
roroghost17 d2a19bf
feat: bedrock system tools (#3435)
TejasGhatte 8b3a47f
[fix]: openai provider - add usage to completed event in responses to…
kevinpdev 7fb22fc
codeeditor changes (#3529)
akshaydeo c4517e9
fix: preserve OpenAI responses stream metadata (#3528)
etnperlong 4f33dd8
[fix]: add missing padding to provider api structure form (#3513)
d3lm 9ff81e4
fix: address model catalog URL review comments
dsherniiazov 6f1d08a
fix: guard semantic cache `Cleanup` with `sync.Once` to prevent doubl…
Pratham-Mishra04 d5c26cf
Merge branch 'dev' into fix/3238-custom-model-parameters
dsherniiazov dc73564
feat: add granular RBAC checks for API keys, inference, metrics, and …
impoiler 69555e6
fix: hide delete log button instead of disabling it when user lacks d…
impoiler e250398
feat: add `MCPLogs` RBAC resource and enforce access control on MCP l…
impoiler 9b62156
fix: replace unsafe inline jsonb cast with `bifrost_safe_jsonb` PL/pg…
impoiler 2c6bd6d
feat: add required headers input to prompt playground settings panel …
impoiler 0c13600
fix: skip pagination clamp for virtual keys export requests (#3416)
impoiler 6caffa5
chore: bump `@maximhq/bifrost` to v1.6.3 (#3417)
impoiler 8c37ed1
feat: add volume histogram chart to MCP logs page and fix drag-select…
impoiler 5b54832
refactor: semantic cache plugin (#3210)
Pratham-Mishra04 fe6eea8
feat: remove `cleanup_on_shutdown` from semantic cache plugin config …
Pratham-Mishra04 a532cf7
refactor: semantic cache ui revamp (#3331)
Pratham-Mishra04 8216bd0
fix: resolve cache plugin at request time to support post-boot loads …
Pratham-Mishra04 7df5e38
fix: decouple cache telemetry from write decision and guard no-op sea…
Pratham-Mishra04 8e4684a
test: add semantic cache e2e test suite skeleton (#3425)
Pratham-Mishra04 b71899d
test: add direct cache e2e test suite (#3426)
Pratham-Mishra04 8f8e108
test: add semantic cache e2e test suite (#3427)
Pratham-Mishra04 335be6a
test: add semantic cache plugin lifecycle tests (#3428)
Pratham-Mishra04 f9cfe36
feat: add `test-semantic-cache` and `test-semantic-cache-complete` Ma…
Pratham-Mishra04 06eb289
harness improvements (#3457)
akshaydeo 4fccacb
makefile diff fixes (#3462)
akshaydeo c4a01bc
Preserve Anthropic output schema refs (#3449)
Javtor c3cb27a
feat: use the new parameter json schema compliant to json schema spec…
BearTS 9b98959
feat: replace log delete button with actions dropdown menu and pin ac…
impoiler fd1f6a5
fix: constrain model catalog table column widths and truncate overflo…
impoiler ca77d2a
fix: constrain provider keys table column widths and truncate long ke…
impoiler be8c682
feat: replace inline edit/delete buttons with dropdown menu in model …
impoiler a393ff9
feat: replace routing rule action buttons with dropdown menu (#3484)
impoiler d1f342a
feat: replace inline edit/delete buttons with dropdown menu in pricin…
impoiler 49ce7c6
feat: replace inline action buttons with dropdown menu and pin action…
impoiler f2a270b
feat: replace inline action buttons with pinned dropdown menus and ad…
impoiler 9a83fde
chore: `/ui` code formatting (#3494)
impoiler 00cddd2
send last n messages helm upgrade (#3490)
akshaydeo b1a7d70
fix: wrap Makefile subshell cd commands in parentheses (#3333)
danpiths d9edc3d
feat: add Azure realtime provider and nested model normalization (#3334)
danpiths 11f11a0
feat: enrich realtime routing, logging, cost, and session tracking (#…
danpiths a50c8e9
feat: improve realtime log detail UI with voice, transport, and audio…
danpiths 23f64ce
fix: max tokens and thinking budget value (#3498)
TejasGhatte 4837b8c
fix: include blob fields of azure in batch responses (#3469)
TejasGhatte 63c4654
feat: add animated totals/averages to dashboard chart card headers (#…
impoiler 08d8f7d
fix: set idle stream timeouts in streaming requests (#3495)
TejasGhatte 359fb6e
feat: add tooltip with full precision values to chart card totals and…
impoiler fff90c2
fix: trim trailing whitespaces for anthropic and bedrock anthropic pr…
sammaji 8d195db
harness updates (#3466)
akshaydeo 9a1af9d
[docs]: docs for patronus ai guardrail provider (#3508)
Madhuvod 4b61b2c
feat: add claude skill to validate API docs / openapi schema correctn…
roroghost17 fe0ce57
chore: update openapi files for missing docs on api endpoints (#3410)
roroghost17 fedacb2
feat: adds support for custom selection of plugins for otel trace spa…
roroghost17 91131be
streaming calls support for hanress (#3507)
akshaydeo 8726002
broker mode schema changes (#3509)
akshaydeo 4b4c916
broker docs (#3515)
akshaydeo 52bc07b
fix: adds prefill message handling for responses in bedrock (#3517)
sammaji 9460264
feat: updates playwright config to support enterprise ui tests and al…
sammaji 3c97739
fix: updates e2e ui tests for virtual keys management (#3460)
sammaji 2b6b680
fix: updates e2e ui tests for provider management (#3463)
sammaji 65809e4
fix: adds e2e tests for mcp headers auth, oauth and per-user oauth (#…
sammaji 81197c1
[feat]: use chat completions for openai custom providers that disable…
kevinpdev aa26bbc
test: update union type test to verify `parametersJsonSchema` passthr…
BearTS 5322c8a
feat: add Bedrock Mantle inference engine support for `gpt-oss` model…
BearTS ace5b1c
fix: broaden Red Hat registry allowlist from `registry.access.redhat.…
BearTS 1f39a81
fix: dont pass multipart request bodies in enrich error (#3524)
TejasGhatte 55c17a0
fix: send missing bedrock lifecycle events (#3527)
TejasGhatte e5b8a68
fix: bedrock stop reason (#3506)
TejasGhatte abddb6c
handle ctx cancel before handling read errors in streaming (#3522)
akshaydeo d507c01
test case fixes (#3525)
akshaydeo d051793
remove budget level calendar alignemnt (#3434)
akshaydeo 07f27b1
fix: fixes calendar_aligned migration and UI for VK (#3452)
roroghost17 aa0c652
feat: implements calendar align feature at team level (#3476)
roroghost17 d364a7b
feat: bedrock system tools (#3435)
TejasGhatte 92ad762
[fix]: openai provider - add usage to completed event in responses to…
kevinpdev df0effe
codeeditor changes (#3529)
akshaydeo fa9acbe
fix: preserve OpenAI responses stream metadata (#3528)
etnperlong 753c8eb
[fix]: add missing padding to provider api structure form (#3513)
d3lm ffa1888
fix: guard semantic cache `Cleanup` with `sync.Once` to prevent doubl…
Pratham-Mishra04 46e156f
fix: preserve OpenAI responses stream metadata (#3530)
akshaydeo 218e73d
fixes alias in migration for team calendar aligned fixes (#3535)
akshaydeo 18c4207
[image] : crowdstrike transparent logo (#3538)
Madhuvod 4fdb7c7
sidebar ux improvement when collapsed (#3539)
akshaydeo ef7759f
fix(ui): validate OAuth popup messages (#2615)
binbandit e588891
adds missing cancel() to integration router (#3541)
akshaydeo d4924b1
[docs] : docs for crowdstrike aidr as provider (#3540)
Madhuvod 91fac3d
Merge branch 'dev' into fix/3238-custom-model-parameters
dsherniiazov b218a7a
adds all scim providers in heml chanrt (#3544)
akshaydeo fd50409
updated budgets and limits documentation to indicate the multi-node l…
akshaydeo cef12d1
add budget and rate-limit dump for budget tracker (#3550)
akshaydeo 44b56a9
chore(npx): bump @maximhq/bifrost to v1.6.3 (#3340)
impoiler 89a99f0
migration fix for calendar aligned (#3553)
akshaydeo cb3cd32
fix: remove `defaultFilterDataLimit` cap from filter data queries (#3…
impoiler 811acfc
feat: service tier mappings for gemini and anthropic (#3554)
TejasGhatte fd904ac
fix: bedrock chat tool arguments (#3564)
TejasGhatte db2552e
fix: emit role chunk from anthropic message start in chat stream (#3575)
TejasGhatte 80d1828
feat: add `limit` and `query` params to filter data endpoints for ser…
impoiler ae35e04
feat: add server-side search to filter sidebar checkbox lists via deb…
impoiler bd09f03
feat: add search icon and fetching spinner to filter sidebar search i…
impoiler ab42a5e
fix(configstore): improve error message when API key name conflicts a…
SahilChoudhary22 30ed554
fix: bedrock mantle fixes (#3566)
TejasGhatte 4e004af
fix(mcp): remove stale stats from logs list response (#3583)
Vaibhav701161 dc20c79
fix(images): passthrough extra params (#3572)
Vaibhav701161 a9d0192
feat: add `access_profile_id` to virtual keys for direct access profi…
BearTS a78a528
feat: add source_id column and GetTeamBySourceID lookup to governance…
BearTS 71d8375
fix: add `FullyRedacted()` for proxy passwords and `MarshalForStorage…
BearTS 721d3a5
dac oss changes (#3198)
akshaydeo 7ecdba2
feature flags (#3581)
akshaydeo 654f969
fix: fixes nil pointer deref in stream cancellations (#3582)
roroghost17 81c4c7e
feat: replace user ID text input with searchable checkbox list in log…
impoiler b600aea
fix: fixes forwarding of reasoning content while conversion of Respon…
roroghost17 4a42d35
fix: set anthropic beta headers in vertex requests headers as well (#…
TejasGhatte 3a33800
fix: harness test fixes (#3589)
TejasGhatte d3d9f21
fix the race condition for remote stream close on context cancel (#3591)
akshaydeo c25f5da
feat: add cluster-aware log metadata and per-node usage aggregation (…
danpiths b00555c
clustering docs image fixes (#3593)
akshaydeo 82ad1db
fix: core test fixes (#3594)
TejasGhatte eef1ffa
[docs] : docs for forwarding headers to grayswan (#3601)
Madhuvod 607dd80
Merge branch 'dev' into fix/3238-custom-model-parameters
dsherniiazov 6f32c34
Merge upstream dev into custom model parameters fix
dsherniiazov 1a3ce06
test: isolate pricing URL env fallback cases
dsherniiazov 7f5b84e
Merge branch 'dev' into fix/3238-custom-model-parameters
dsherniiazov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| package modelcatalog | ||
|
|
||
| import ( | ||
| "context" | ||
| "encoding/json" | ||
| "net/http" | ||
| "net/http/httptest" | ||
| "sync/atomic" | ||
| "testing" | ||
| ) | ||
|
|
||
| func TestDefaultURLWithEnv(t *testing.T) { | ||
| t.Setenv(PricingURLEnvVar, " https://internal.example/datasheet ") | ||
| if got := defaultPricingURL(); got != "https://internal.example/datasheet" { | ||
| t.Fatalf("expected env pricing URL, got %q", got) | ||
| } | ||
|
|
||
| t.Setenv(ModelParametersURLEnvVar, "") | ||
| if got := defaultModelParametersURL(); got != DefaultModelParametersURL { | ||
| t.Fatalf("expected default model parameters URL, got %q", got) | ||
| } | ||
| } | ||
|
|
||
| func TestLoadModelParametersFromURLUsesConfiguredURL(t *testing.T) { | ||
| var requested atomic.Bool | ||
| server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | ||
| requested.Store(true) | ||
| _ = json.NewEncoder(w).Encode(map[string]any{ | ||
| "test-model": map[string]any{ | ||
| "max_output_tokens": 4096, | ||
| }, | ||
| }) | ||
| })) | ||
| defer server.Close() | ||
|
|
||
| mc := &ModelCatalog{ | ||
| modelParametersURL: server.URL, | ||
| logger: noOpLogger{}, | ||
| } | ||
|
|
||
| params, err := mc.loadModelParametersFromURL(context.Background()) | ||
| if err != nil { | ||
| t.Fatalf("expected model parameters load to succeed, got %v", err) | ||
| } | ||
| if !requested.Load() { | ||
| t.Fatal("expected configured URL to be requested") | ||
| } | ||
| if _, ok := params["test-model"]; !ok { | ||
| t.Fatal("expected test model parameters to be loaded") | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Env-backed URL overrides become sticky after the first DB backfill.
BIFROST_PRICING_URL/BIFROST_MODEL_PARAMETERS_URLare only folded into the default layer here, and the resolved values are then persisted. After the first boot with either env var set, a later redeploy with a different env value keeps using the stale DB row because Phase 3 still letsdbConfig.*win. That defeats the deployment-level override this PR is adding for Docker/Helm/air-gapped installs.Please either avoid persisting env-derived defaults, or treat a current env override that differs from the stored row as a refresh condition before applying DB precedence.
Also applies to: 3119-3138, 3177-3197
🤖 Prompt for AI Agents