Always upgrade one major version at a time. If you are on v4.x, upgrade to v5.x first before upgrading to v6.0. See the routine upgrade guide for the standard process.
What changed
APIHandler and AIProxy now run as ECS services alongside the existing Lambdas. The ECS API is split into three services for different workload types:braintrust-api— general API trafficbraintrust-api-ingest— ingestion paths (/logs3,/otel/v1/traces)braintrust-api-background— background paths (evals, function invoke, proxy)
After cutover, none of the primary Braintrust services handling traffic run on Lambda. Braintrust continues to use Lambda only for small one-off maintenance tasks, such as database migrations and other automations.
Upgrade steps
1
Bump the module to v6.0 and apply
Update your module source to v6.0.0, leaving The ECS services use new variables. If you customized the Lambda equivalents on an earlier module version, carry those values into the ECS variables before you apply, or the ECS services will start without them:This creates the ECS services, ALB, and related infrastructure. CloudFront continues to send traffic to Lambda. ECS and Lambda run side by side while ECS warms up.
enable_ecs_api at its default (false):- Values in
service_extra_env_vars.APIHandlerorservice_extra_env_vars.AIProxymust be duplicated intobraintrust_api_extra_env_vars. - A version pinned with
lambda_version_tag_overridemust be copied intobraintrust_api_version_override.
2
Verify your data plane is healthy
After the apply completes, exercise the data plane with a few calls in the Braintrust UI to confirm traffic is still flowing correctly through Lambda.Go to Settings > Data plane and confirm all settings show green status.
3
Cut over traffic to ECS
Set CloudFront will route API traffic to the ECS ALB instead of API Gateway and Lambda.
enable_ecs_api = true in your module configuration and apply again:4
Verify the cutover
Exercise the data plane again. Run API requests, ingest traces, and run an eval to confirm traffic is flowing correctly through ECS.
Rollback
If you need to revert to Lambda after cutting over, setenable_ecs_api = false and apply:
Next steps
- Self-hosting releases — review release notes and infrastructure requirements for each data plane version
- Advanced configuration — configure telemetry, network access, rate limiting, and other options