Skip to content

feat: add server.readBufferSize field to Bifrost Helm chart config - #4339

Merged
akshaydeo merged 2 commits into
devfrom
06-12-feat_add_server.readbuffersize_in_helm_for_headers
Jun 12, 2026
Merged

feat: add server.readBufferSize field to Bifrost Helm chart config#4339
akshaydeo merged 2 commits into
devfrom
06-12-feat_add_server.readbuffersize_in_helm_for_headers

Conversation

@BearTS

@BearTS BearTS commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds support for configuring the HTTP server's readBufferSize via the Bifrost Helm chart. This allows operators to tune the read buffer used for parsing HTTP headers, which is useful when dealing with large headers or high-throughput workloads.

Changes

  • Added bifrost.server.readBufferSize to values.yaml with a default of 65536 (64 KiB)
  • Added the server block to values.schema.json with type validation and description for readBufferSize
  • Updated _helpers.tpl to map bifrost.server.readBufferSizeserver.read_buffer_size in the rendered config
  • Added a validation test in validate-helm-config-fields.sh (section 1b) to assert the field renders correctly
  • Added a template rendering test in validate-helm-templates.sh for the new server.readBufferSize field (Gap 9)

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (React)
  • Docs

How to test

# Render the Helm chart with the new server config and verify the output
helm template bifrost ./helm-charts/bifrost \
  --set bifrost.server.readBufferSize=131072 \
  | grep -A5 "read_buffer_size"

# Run the validation scripts
./.github/workflows/scripts/validate-helm-config-fields.sh
./.github/workflows/scripts/validate-helm-templates.sh

Expected: read_buffer_size: 131072 appears in the rendered config output.

New config field:

Helm Value Config Key Default Description
bifrost.server.readBufferSize server.read_buffer_size 65536 Read buffer size in bytes for HTTP header parsing

Screenshots/Recordings

N/A

Breaking changes

  • Yes
  • No

Related issues

Security considerations

No security implications. This is a performance tuning parameter for HTTP header buffer sizing.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@BearTS, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 2 minutes and 33 seconds. Learn how PR review limits work.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1f7edeef-b5c7-4da6-bcd6-f0340ed2f482

📥 Commits

Reviewing files that changed from the base of the PR and between 92f7167 and 8c35268.

📒 Files selected for processing (5)
  • .github/workflows/scripts/validate-helm-config-fields.sh
  • .github/workflows/scripts/validate-helm-templates.sh
  • helm-charts/bifrost/templates/_helpers.tpl
  • helm-charts/bifrost/values.schema.json
  • helm-charts/bifrost/values.yaml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 06-12-feat_add_server.readbuffersize_in_helm_for_headers

Comment @coderabbitai help to get the list of available commands and usage tips.

@BearTS BearTS changed the title feat: add server.readBufferSize in helm for headers feat: add server.readBufferSize field to Bifrost Helm chart config Jun 12, 2026
@BearTS
BearTS marked this pull request as ready for review June 12, 2026 10:39
@BearTS
BearTS requested a review from a team as a code owner June 12, 2026 10:39
@BearTS
BearTS force-pushed the 06-12-feat_add_server.readbuffersize_in_helm_for_headers branch from aa43c2e to 8c35268 Compare June 12, 2026 10:42
@BearTS
BearTS force-pushed the 06-12-chore_add_mcp_library_url_to_helm branch from 66d1bb7 to 92f7167 Compare June 12, 2026 10:42
@greptile-apps

greptile-apps Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 4/5

Safe to merge; the change adds a new Helm knob with a sensible default and doesn't touch any Go runtime paths.

The rendered config change is additive and the default value is consistent with the existing schema. The truthiness guard for readBufferSize drops the entire server block when explicitly set to 0, which is unexpected but unlikely in practice given the non-zero default. The combined validation test is stale after Gap 9 was introduced.

helm-charts/bifrost/templates/_helpers.tpl — the if .Values.bifrost.server.readBufferSize check; and .github/workflows/scripts/validate-helm-templates.sh — combined test not updated for Gap 9.

Important Files Changed

Filename Overview
helm-charts/bifrost/templates/_helpers.tpl Adds server block rendering to the config dict; conditional on readBufferSize being truthy, which silently drops the field when set to 0
helm-charts/bifrost/values.yaml Adds bifrost.server.readBufferSize: 65536 as an always-active (non-commented) default; consistent with schema default
helm-charts/bifrost/values.schema.json Adds server.readBufferSize as an integer field with default 65536; matches field definition in transports/config.schema.json
.github/workflows/scripts/validate-helm-config-fields.sh Adds section 1b testing server.read_buffer_size renders correctly from bifrost.server.readBufferSize
.github/workflows/scripts/validate-helm-templates.sh Adds Gap 9 standalone test for readBufferSize, but the existing combined "Gap 1-8" test is not updated to include the new field

Reviews (1): Last reviewed commit: "feat: add server.readBufferSize in helm ..." | Re-trigger Greptile

Comment thread helm-charts/bifrost/templates/_helpers.tpl
Comment thread .github/workflows/scripts/validate-helm-templates.sh

akshaydeo commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Merge activity

  • Jun 12, 10:50 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 12, 10:51 AM UTC: @akshaydeo merged this pull request with Graphite.

@akshaydeo
akshaydeo changed the base branch from 06-12-chore_add_mcp_library_url_to_helm to graphite-base/4339 June 12, 2026 10:51
@akshaydeo
akshaydeo changed the base branch from graphite-base/4339 to dev June 12, 2026 10:51
@akshaydeo
akshaydeo merged commit b42449b into dev Jun 12, 2026
11 checks passed
@akshaydeo
akshaydeo deleted the 06-12-feat_add_server.readbuffersize_in_helm_for_headers branch June 12, 2026 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants