Skip to content

chore: add sagemaker provider config to helm chart and config schemas - #9003

Merged
Pratham-Mishra04 merged 1 commit into
devfrom
10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker
Oct 27, 2026
Merged

Pratham-Mishra04 merged 1 commit into
devfrom
10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker

Conversation

@sammaji

@sammaji sammaji commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Summary

Adds config schema and Helm chart support for AWS SageMaker real-time endpoints as a provider. Users can now declare a sagemaker provider with a sagemaker_key_config block in config.schema.json and the Helm chart's values.schema.json. Without this, the provider block is rejected by schema validation.

Changes

  • Added a sagemaker provider entry to transports/config.schema.json, backed by a new provider_with_sagemaker_config definition. It supports the same provider-level options as the other providers: network_config, concurrency_and_buffer_size, proxy_config, raw request/response flags, ignore_provider_cost, injected_tools, passthrough, and custom_provider_config. At least one key is required.
  • Added a sagemaker_key definition that extends base_key with a sagemaker_key_config object. Its fields:
    • region is required.
    • access_key, secret_key and session_token are optional. If the access key and secret key are left empty, the default AWS credential chain is used.
    • role_arn, external_id and session_name configure AssumeRole.
    • model_name sets the value sent as the body model to the container. Empty sends "", because SageMaker routes by endpoint name and vLLM rejects any other name.
    • endpoints.runtime overrides the runtime host, for example an interface VPC endpoint or a FIPS or dual-stack host. It must contain a .. Region is still required because it sets the token's credential scope.
  • Mirrored sagemaker_key_config in the Helm chart's values.schema.json.
  • Added a commented SageMaker example to the Helm values.yaml. It shows models as endpoint names in the form sagemaker/<endpoint>[/<inference-component>], and shows using the default AWS credential chain (IRSA or instance role) by omitting the keys.
  • Design notes:
    • Bifrost mints the SageMaker bearer token from the configured AWS credentials. A plain key value is sent verbatim as a pre-minted sagemaker-api-key-... token.
    • A model id can override the region with a prefix, for example sagemaker/us-west-2/my-endpoint.
    • Both key config objects set additionalProperties: false, so unknown fields are rejected.

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

Validate a config that uses the new provider against the schema, and lint the Helm chart with an example values file.

# Core/Transports
go version
go test ./...

# UI
cd ui
pnpm i || npm i
pnpm test || npm test
pnpm build || npm run build

Example config to validate against transports/config.schema.json (or via Helm values):

sagemaker:
  keys:
    - name: "sagemaker-key"
      models: ["my-qwen3-endpoint"]
      weight: 1
      sagemaker_key_config:
        region: "us-east-1"
        access_key: "env.AWS_ACCESS_KEY_ID"
        secret_key: "env.AWS_SECRET_ACCESS_KEY"

Expected outcomes:

  • The config above validates.
  • A config with sagemaker_key_config missing region fails validation.
  • A config with unknown fields in sagemaker_key_config fails validation.
  • An endpoints.runtime value without a . fails validation.
helm lint helm-charts/bifrost

Screenshots/Recordings

N/A

Breaking changes

  • Yes
  • No

Related issues

N/A

Security considerations

  • Credentials (access_key, secret_key, session_token, role_arn, external_id, session_name, and the runtime host) can be supplied through the env. prefix, so secrets need not be stored in config files.
  • Omitting static credentials lets deployments rely on the default AWS credential chain (IRSA or instance roles).
  • A key value is sent verbatim as a pre-minted token, so it should be handled like any other secret.

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

@sammaji
sammaji temporarily deployed to ci-trusted-branch October 24, 2026 16:01 — with GitHub Actions Inactive
@coderabbitai

coderabbitai Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 56dd8e7 and 0d81e11.

Files selected for processing: 3
  • helm-charts/bifrost/values.schema.json
  • helm-charts/bifrost/values.yaml
  • transports/config.schema.json
Files skipped from review as they are similar to previous changes: 1
  • helm-charts/bifrost/values.yaml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.

📝 Summary

Summary by CodeRabbit

  • New Features
    • Added configuration support for AWS SageMaker real-time endpoints, including endpoint routing, AWS region and credentials, optional role assumption, and runtime host overrides.
    • Added a Helm chart example for configuring a SageMaker provider with credentials supplied through environment variables. Explicit credentials can be omitted to use the default AWS credential chain.

The change adds SageMaker provider and key configuration schemas. They support AWS credentials, region, role-assumption settings, and an optional runtime host. It also adds a commented Helm values example for a SageMaker real-time endpoint.

Changes: SageMaker configuration

Layer / File(s) Summary
Provider configuration schema
transports/config.schema.json
Registers SageMaker as a provider and adds its key and provider schemas. The key schema requires a region and allows AWS credentials, role-assumption settings, and an optional runtime host override.
Helm chart configuration
helm-charts/bifrost/values.schema.json, helm-charts/bifrost/values.yaml
Adds the SageMaker key schema to the Helm values schema and a commented endpoint example. The example includes a model, weight, region, and environment-referenced credentials. Its comments describe using the default AWS credential chain when explicit credentials are omitted.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • maximhq/bifrost#9004: Adds SageMaker key-management tests and documents the key configuration contract in OpenAPI.
  • maximhq/bifrost#9002: Implements the SageMaker provider and consumes the configuration fields declared here.
  • maximhq/bifrost#8952: Provisions SageMaker endpoints and emits provider configuration that these schemas define.
Merge Risk: Low · previous review 0d81e

SageMaker configuration does not expose a model-name override. Confirm whether that capability is intended before depending on it.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: adding SageMaker provider configuration support to the Helm chart and configuration schemas.
Description check Passed The description is complete and aligned with the template. It explains the purpose, changes, affected areas, testing steps, security considerations, and breaking-change status. It includes expected va…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description is complete and aligned with the template. It explains the purpose, changes, affected areas, testing steps, security considerations, and breaking-change status. It includes expected validation outcomes, although it does not report completed test results.

Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@sammaji sammaji changed the title chore: updates config schema and helm schema for sagemaker feat: add sagemaker provider config to helm chart and config schemas Oct 24, 2026
@sammaji sammaji changed the title feat: add sagemaker provider config to helm chart and config schemas chore: add sagemaker provider config to helm chart and config schemas Oct 24, 2026
@sammaji
sammaji force-pushed the 10-24-feat_adds_aws_sagemaker_provider branch from 6dff398 to 523e7d4 Compare October 24, 2026 17:25
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from 1e5c84e to 4309a25 Compare October 24, 2026 17:25
@sammaji
sammaji temporarily deployed to ci-trusted-branch October 24, 2026 17:25 — with GitHub Actions Inactive
@sammaji
sammaji temporarily deployed to ci-trusted-branch October 24, 2026 17:25 — with GitHub Actions Inactive
@sammaji
sammaji force-pushed the 10-24-feat_adds_aws_sagemaker_provider branch from 523e7d4 to 2ec4f35 Compare October 25, 2026 04:56
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from 4309a25 to 98232f2 Compare October 25, 2026 04:56
@sammaji
sammaji deployed to ci-trusted-branch October 25, 2026 04:56 — with GitHub Actions Active
@sammaji
sammaji deployed to ci-trusted-branch October 25, 2026 04:56 — with GitHub Actions Active
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from 98232f2 to dace9d0 Compare October 26, 2026 09:42
@sammaji
sammaji force-pushed the 10-24-feat_adds_aws_sagemaker_provider branch from 2ec4f35 to dd5a44b Compare October 26, 2026 09:42
@sammaji
sammaji changed the base branch from 10-24-feat_adds_aws_sagemaker_provider to graphite-base/9003 October 26, 2026 10:19
@sammaji
sammaji force-pushed the graphite-base/9003 branch from dd5a44b to 9e3f9ad Compare October 26, 2026 10:19
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from dace9d0 to 66774bc Compare October 26, 2026 10:19
@sammaji
sammaji changed the base branch from graphite-base/9003 to 10-26-feat_adds_sagemaker_passthrough October 26, 2026 10:19
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from 8544549 to b9f2196 Compare October 26, 2026 19:27
@sammaji
sammaji force-pushed the 10-26-feat_adds_sagemaker_passthrough branch from e9bbf7b to 18dc59a Compare October 26, 2026 19:27
@sammaji
sammaji force-pushed the 10-26-feat_adds_sagemaker_passthrough branch from 18dc59a to cd224a5 Compare October 26, 2026 20:08
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from b9f2196 to 56dd8e7 Compare October 26, 2026 20:08
@sammaji
sammaji force-pushed the 10-26-feat_adds_sagemaker_passthrough branch from cd224a5 to 5dc4a20 Compare October 27, 2026 08:44
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from 56dd8e7 to 0d81e11 Compare October 27, 2026 08:44
coderabbitai[bot]
coderabbitai Bot previously approved these changes Oct 27, 2026

Pratham-Mishra04 commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Merge activity

@Pratham-Mishra04
Pratham-Mishra04 changed the base branch from 10-26-feat_adds_sagemaker_passthrough to graphite-base/9003 October 27, 2026 17:14
@sammaji
sammaji force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from 0d81e11 to fd13e0a Compare October 27, 2026 17:20
@sammaji
sammaji force-pushed the graphite-base/9003 branch from 5dc4a20 to aca2846 Compare October 27, 2026 17:20
@sammaji
sammaji changed the base branch from graphite-base/9003 to 10-26-feat_adds_sagemaker_passthrough October 27, 2026 17:20
@Pratham-Mishra04
Pratham-Mishra04 changed the base branch from 10-26-feat_adds_sagemaker_passthrough to graphite-base/9003 October 27, 2026 17:33
@Pratham-Mishra04
Pratham-Mishra04 changed the base branch from graphite-base/9003 to dev October 27, 2026 17:33
@Pratham-Mishra04
Pratham-Mishra04 dismissed coderabbitai[bot]’s stale review October 27, 2026 17:33

The base branch was changed.

@Pratham-Mishra04
Pratham-Mishra04 force-pushed the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch from fd13e0a to 28e6a17 Compare October 27, 2026 17:36
@Pratham-Mishra04
Pratham-Mishra04 merged commit e5928cc into dev Oct 27, 2026
7 of 12 checks passed
@Pratham-Mishra04
Pratham-Mishra04 deleted the 10-24-chore_updates_config_schema_and_helm_schema_for_sagemaker branch October 27, 2026 17:40

This branch had an error being deployed

1 failed deployment
ci-trusted-branch — 28e6a17c Deployed Oct 27, 2026 by Pratham-Mishra04 via dependency-review #40316
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