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
2 changes: 1 addition & 1 deletion helm-charts/bifrost/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: bifrost
description: A Helm chart for deploying Bifrost - AI Gateway with unified interface for multiple providers
type: application
version: 2.1.0-prerelease2
version: 2.1.1
appVersion: "1.4.11"
keywords:
- ai
Expand Down
7 changes: 6 additions & 1 deletion helm-charts/bifrost/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@

Official Helm charts for deploying [Bifrost](https://github.com/maximhq/bifrost) - a high-performance AI gateway with unified interface for multiple providers.

**Latest Version:** 2.1.0-prerelease2
**Latest Version:** 2.1.1

## Changelog

### v2.1.1

- Made `bifrost.governance.virtualKeys[].value` optional — template no longer fails when the field is omitted, allowing the backend to auto-generate the virtual key value
- When `value` is absent, the rendered `config.json` omits the field entirely (consistent with other optional VK fields)

### v2.1.0-prerelease2 (prerelease)

- Synced helm `values.schema.json` with transport `config.schema.json` — fixed virtual key and budget drift:
Expand Down
6 changes: 2 additions & 4 deletions helm-charts/bifrost/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,8 @@ false
{{- if .Values.bifrost.governance.virtualKeys }}
{{- $vks := list }}
{{- range .Values.bifrost.governance.virtualKeys }}
{{- $vk := dict "id" .id "name" .name "value" .value }}
{{- $vk := dict "id" .id "name" .name }}
{{- if .value }}{{- $_ := set $vk "value" .value }}{{- end }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Truthiness vs. existence check for value

{{- if .value }} is falsy for any empty string, so a user who explicitly sets value: "" in their values.yaml will silently have the field omitted rather than passed to the backend. Using hasKey is a more precise guard if the intent is "omit only when the key is absent":

Suggested change
{{- if .value }}{{- $_ := set $vk "value" .value }}{{- end }}
{{- if hasKey . "value" }}{{- $_ := set $vk "value" .value }}{{- end }}

For this specific field an empty string and an absent key have the same practical effect (backend auto-generates), so the current behaviour is acceptable — this is a minor suggestion for semantic clarity.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

{{- if .description }}{{- $_ := set $vk "description" .description }}{{- end }}
{{- if hasKey . "is_active" }}{{- $_ := set $vk "is_active" .is_active }}{{- end }}
{{- if .team_id }}{{- $_ := set $vk "team_id" .team_id }}{{- end }}
Expand Down Expand Up @@ -1267,9 +1268,6 @@ Call this template at the beginning of deployment/stateful templates
{{- if not $vk.name }}
{{- fail (printf "ERROR: bifrost.governance.virtualKeys[%d].name is required for virtual key '%s'." $idx $vk.id) }}
{{- end }}
{{- if not $vk.value }}
{{- fail (printf "ERROR: bifrost.governance.virtualKeys[%d].value is required for virtual key '%s'." $idx $vk.id) }}
{{- end }}
{{- end }}
{{- end }}

Expand Down
2 changes: 1 addition & 1 deletion helm-charts/bifrost/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ bifrost:
# - id: "vk-1"
# name: "Virtual Key 1"
# description: "Virtual key description"
# value: "vk-..."
# value: "vk-..." # Optional - auto-generated if omitted
# is_active: true
# team_id: "team-1" # Mutually exclusive with customer_id
# customer_id: "" # Mutually exclusive with team_id
Expand Down
23 changes: 22 additions & 1 deletion helm-charts/index.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
apiVersion: v1
entries:
bifrost:
- apiVersion: v2
appVersion: 1.4.11
created: "2026-04-15T18:00:00.000000+00:00"
description: A Helm chart for deploying Bifrost - AI Gateway with unified interface for multiple providers
digest: ""
home: https://www.getmaxim.ai/bifrost

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Empty digest in index.yaml

The digest field for the new 2.1.1 entry (and several preceding entries) is an empty string. Helm repo clients use this SHA256 hash to verify the downloaded .tgz archive's integrity — leaving it blank disables that check. This is consistent with how the chart has been published since v1.4.1, so it isn't a regression introduced here, but it is worth regenerating index.yaml via helm repo index --merge against the real packaged tarballs so the digest field is populated correctly going forward.

icon: https://www.getmaxim.ai/bifrost/bifrost-logo-only.png
keywords:
- ai
- gateway
- llm
maintainers:
- email: akshay@getmaxim.ai
name: Bifrost Team
name: bifrost
sources:
- https://github.com/maximhq/bifrost
type: application
urls:
- https://maximhq.github.io/bifrost/helm-charts/bifrost-2.1.1.tgz
version: 2.1.1
- apiVersion: v2
appVersion: 1.4.11
created: "2026-04-15T12:00:00.000000+00:00"
Expand Down Expand Up @@ -649,4 +670,4 @@ entries:
urls:
- https://maximhq.github.io/bifrost/helm-charts/bifrost-1.3.36.tgz
version: 1.3.36
generated: "2026-04-13T12:00:00.000000+00:00"
generated: "2026-04-15T18:00:00.000000+00:00"
Loading