Skip to content

Adds first-class support for creating and deploying Braintrust data planes on module-managed EKS clusters.#245

Draft
JPurcell-Braintrust wants to merge 5 commits into
mainfrom
james/eks-auto-mode
Draft

Adds first-class support for creating and deploying Braintrust data planes on module-managed EKS clusters.#245
JPurcell-Braintrust wants to merge 5 commits into
mainfrom
james/eks-auto-mode

Conversation

@JPurcell-Braintrust

Copy link
Copy Markdown
Contributor

What changed

  • Add module-managed EKS cluster creation through create_eks_cluster
  • Add EKS Auto Mode support for system/API compute with custom Brainstore NodeClass/NodePools
  • Add Terraform-managed EKS node group support for system, services, and Brainstore workloads
  • Add bundled CloudFront + private NLB ingress support for module-managed EKS deployments
  • Add modules/eks-deploy flow for Kubernetes bootstrap resources and Braintrust Helm deployment
  • Add examples/eks-auto-mode for a one-click Auto Mode deployment
  • Add examples/eks-terraform-managed for customer-managed Helm/ingress workflows
  • Add EKS access entry support for explicit human and CI cluster access

Notes

The Auto Mode example is intended as the full one-click path: Terraform creates the AWS infrastructure, EKS cluster, Kubernetes bootstrap resources, and Braintrust Helm release.

The Terraform-managed example is intended as the handoff path: Terraform creates the AWS data plane and EKS cluster/node groups, then customers install the Braintrust chart through the official helm chart and choose their own ingress and domain approach.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7649ef9801

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "Codex (@codex) review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "Codex (@codex) address that feedback".

Comment on lines +250 to +253
variable "brainstore_reader_node_group_instance_type" {
type = string
description = "Instance type for the brainstore reader node group. Must be an instance with local NVMe storage. c8gd (Graviton4) instances are the recommended default."
default = "c8gd.8xlarge"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Enforce NVMe instance types for Brainstore EKS nodes

The new EKS Brainstore node-group inputs only describe the NVMe requirement (brainstore_reader_node_group_instance_type/writer) but never validate it, so users can pass non-NVMe types and still get a successful plan. In this module that leads to Brainstore nodes being provisioned without the required local instance storage, which breaks the safety invariant already enforced in the EC2 Brainstore path and can cause Brainstore scheduling/runtime failures after apply. Add plan-time validation (for both on-demand and spot inputs) against EC2 instance storage support.

Useful? React with 👍 / 👎.

@mdeeks Mike Deeks (mdeeks) marked this pull request as draft May 18, 2026 07:42
@mdeeks

Copy link
Copy Markdown
Collaborator

Moving to draft for now. Lets wait until we fully move to ECS before we merge this in. Right now our module has a lot of complexity as we juggle lambda and ECS.

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