From e522f408cec64c736c134ea31c2bc283252a6b6f Mon Sep 17 00:00:00 2001 From: Jeff McCollum Date: Sat, 21 Mar 2026 12:39:40 -0500 Subject: [PATCH] init for no_pg --- braintrust/README.md | 8 +++ braintrust/UPGRADE.md | 46 ++++++++++++++ braintrust/images/no-pg-prereqs.png | Bin 0 -> 110406 bytes braintrust/templates/api-configmap.yaml | 6 +- .../brainstore-fastreader-configmap.yaml | 4 ++ .../brainstore-reader-configmap.yaml | 6 +- .../brainstore-writer-configmap.yaml | 6 +- braintrust/tests/api-configmap_test.yaml | 53 +++++++++++++++++ .../brainstore-fastreader-configmap_test.yaml | 56 ++++++++++++++++++ .../brainstore-reader-configmap_test.yaml | 56 ++++++++++++++++++ .../brainstore-writer-configmap_test.yaml | 56 ++++++++++++++++++ braintrust/values.yaml | 12 ++++ 12 files changed, 306 insertions(+), 3 deletions(-) create mode 100644 braintrust/images/no-pg-prereqs.png diff --git a/braintrust/README.md b/braintrust/README.md index 0b32372..30ff6b9 100644 --- a/braintrust/README.md +++ b/braintrust/README.md @@ -179,6 +179,14 @@ You may have to adjust your helm values.yaml overrides if you have adjusted any Also if you have custom readiness checks, please unset these customizations and use our new default readiness checks. There is a bug in the dataplane where the endpoint we were using for readiness checks, would never recover if it failed. +### Version 6 + +This version introduces opt-in no-PG mode, allowing Brainstore to store objects directly without PostgreSQL. The new `skipPgForBrainstoreObjects` value defaults to `""` (disabled), so upgrading to v6 makes no behavioral change unless you explicitly set it. + +> **⚠️ WARNING: This is a one-way operation.** Once an object type has been migrated off PostgreSQL, it cannot be un-migrated without downtime. + +See [UPGRADE.md](UPGRADE.md#v600---no-pg-brainstore-objects) for prerequisites and full migration instructions. + ## Example Values Files Example values files for different cloud providers and configurations are located in the `examples/` folder. diff --git a/braintrust/UPGRADE.md b/braintrust/UPGRADE.md index 35877ac..edebfdc 100644 --- a/braintrust/UPGRADE.md +++ b/braintrust/UPGRADE.md @@ -2,6 +2,52 @@ This document outlines breaking changes and required configuration updates for major releases. +## v6.0.0 - No-PG Brainstore Objects + +This release introduces the ability to store Brainstore objects (such as project logs) directly in Brainstore, bypassing PostgreSQL entirely. This is an **opt-in** feature — upgrading to v6 makes no behavioral change unless you explicitly set `skipPgForBrainstoreObjects`. + +> **⚠️ WARNING: This is a one-way operation.** Once an object type has been migrated off PostgreSQL, it cannot be un-migrated without downtime. Do not enable this unless you are ready to commit. + +### Requirements to migrate + +Before enabling no-pg mode, you must: + +1. **Upgrade your data plane to version 1.1.32 or higher.** + +2. **Verify all Brainstore configuration checks pass** on your organization's Data Plane settings page: + + ![Brainstore prerequisites](images/no-pg-prereqs.png) + + The following checks are expected to be incomplete at this stage and can be ignored: + - `Brainstore direct writes` — this will pass once the migration below is complete + - `Response cache URI` and `Code Bundle URI` — these are part of a separate Topics configuration + +### Enabling no-pg mode + +Set the `skipPgForBrainstoreObjects` value in your `values.yaml`: + +```yaml +# Skip PostgreSQL for all object types (recommended for new deployments) +skipPgForBrainstoreObjects: "all" + +# OR: skip for specific objects only +skipPgForBrainstoreObjects: "include:project_logs:5ad850f0-3a1a-4980-b889-d21d4116b5d7,project_logs:45b3aed2-3dde-4f0d-a22c-9af69ee8508e" + +# OR: skip for all objects except specific ones +skipPgForBrainstoreObjects: "exclude:project_logs:5ad850f0-3a1a-4980-b889-d21d4116b5d7" +``` + +When set, the following environment variables are automatically configured: + +- **API**: `BRAINSTORE_WAL_USE_EFFICIENT_FORMAT=true`, `SKIP_PG_FOR_BRAINSTORE_OBJECTS=` +- **Brainstore** (reader, writer, fastreader): `BRAINSTORE_ASYNC_SCORING_OBJECTS=`, `BRAINSTORE_LOG_AUTOMATIONS_OBJECTS=` + +### No rollback + +Unlike previous major version upgrades, there is **no rollback path** for this change. Once objects are migrated off PostgreSQL, reverting requires downtime and manual intervention. Reach out to the Braintrust team on Slack before enabling this if you have concerns. + +--- + ## v2.0.0 - Brainstore Reader/Writer Split This release introduces a significant architectural change that splits the Brainstore service into separate reader and writer services for improved scalability and performance. diff --git a/braintrust/images/no-pg-prereqs.png b/braintrust/images/no-pg-prereqs.png new file mode 100644 index 0000000000000000000000000000000000000000..e2fbf0661cf0d0726d5f22d226bbb2465507dc62 GIT binary patch literal 110406 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%0DRY= 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 kCNOPhNiEc2Eg^EK^J~2)8xqe1 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 literal 0 HcmV?d00001 diff --git a/braintrust/templates/api-configmap.yaml b/braintrust/templates/api-configmap.yaml index f6414a8..bc0fd30 100644 --- a/braintrust/templates/api-configmap.yaml +++ b/braintrust/templates/api-configmap.yaml @@ -51,5 +51,9 @@ data: BRAINSTORE_INSERT_ROW_REFS: "true" # Logs v2 table. Requires pg_partman extension (default enabled in our TF modules) INSERT_LOGS2: "true" - ALLOW_INVALID_BASE64: {{ .Values.api.allowInvalidBase64 | default "false" | quote }} + ALLOW_INVALID_BASE64: {{ .Values.api.allowInvalidBase64 | default "false" | quote }} NODE_MEMORY_PERCENT: {{ .Values.api.nodeMemoryPercent | default "80" | quote }} + {{- if .Values.skipPgForBrainstoreObjects }} + BRAINSTORE_WAL_USE_EFFICIENT_FORMAT: "true" + SKIP_PG_FOR_BRAINSTORE_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + {{- end }} diff --git a/braintrust/templates/brainstore-fastreader-configmap.yaml b/braintrust/templates/brainstore-fastreader-configmap.yaml index 0faec08..b994299 100644 --- a/braintrust/templates/brainstore-fastreader-configmap.yaml +++ b/braintrust/templates/brainstore-fastreader-configmap.yaml @@ -45,3 +45,7 @@ data: {{- end }} BRAINSTORE_CONTROL_PLANE_TELEMETRY: {{ .Values.global.controlPlaneTelemetry | quote }} NO_COLOR: "1" + {{- if .Values.skipPgForBrainstoreObjects }} + BRAINSTORE_ASYNC_SCORING_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + BRAINSTORE_LOG_AUTOMATIONS_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + {{- end }} diff --git a/braintrust/templates/brainstore-reader-configmap.yaml b/braintrust/templates/brainstore-reader-configmap.yaml index 049cc36..8804085 100644 --- a/braintrust/templates/brainstore-reader-configmap.yaml +++ b/braintrust/templates/brainstore-reader-configmap.yaml @@ -44,4 +44,8 @@ data: {{- end }} {{- end }} BRAINSTORE_CONTROL_PLANE_TELEMETRY: {{ .Values.global.controlPlaneTelemetry | quote }} - NO_COLOR: "1" \ No newline at end of file + NO_COLOR: "1" + {{- if .Values.skipPgForBrainstoreObjects }} + BRAINSTORE_ASYNC_SCORING_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + BRAINSTORE_LOG_AUTOMATIONS_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + {{- end }} \ No newline at end of file diff --git a/braintrust/templates/brainstore-writer-configmap.yaml b/braintrust/templates/brainstore-writer-configmap.yaml index 890d95c..98a9e14 100644 --- a/braintrust/templates/brainstore-writer-configmap.yaml +++ b/braintrust/templates/brainstore-writer-configmap.yaml @@ -44,4 +44,8 @@ data: {{- end }} {{- end }} BRAINSTORE_CONTROL_PLANE_TELEMETRY: {{ .Values.global.controlPlaneTelemetry | quote }} - NO_COLOR: "1" \ No newline at end of file + NO_COLOR: "1" + {{- if .Values.skipPgForBrainstoreObjects }} + BRAINSTORE_ASYNC_SCORING_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + BRAINSTORE_LOG_AUTOMATIONS_OBJECTS: {{ .Values.skipPgForBrainstoreObjects | quote }} + {{- end }} \ No newline at end of file diff --git a/braintrust/tests/api-configmap_test.yaml b/braintrust/tests/api-configmap_test.yaml index e546c32..5723020 100644 --- a/braintrust/tests/api-configmap_test.yaml +++ b/braintrust/tests/api-configmap_test.yaml @@ -188,3 +188,56 @@ tests: - equal: path: data.BRAINSTORE_BACKFILL_DISABLE_NONHISTORICAL value: "true" + + - it: should not include no-pg vars when skipPgForBrainstoreObjects is not set + values: + - __fixtures__/base-values.yaml + release: + namespace: "braintrust" + asserts: + - isNull: + path: data.BRAINSTORE_WAL_USE_EFFICIENT_FORMAT + - isNull: + path: data.SKIP_PG_FOR_BRAINSTORE_OBJECTS + + - it: should include no-pg vars when skipPgForBrainstoreObjects is "all" + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "all" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_WAL_USE_EFFICIENT_FORMAT + value: "true" + - equal: + path: data.SKIP_PG_FOR_BRAINSTORE_OBJECTS + value: "all" + + - it: should pass through include-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "include:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_WAL_USE_EFFICIENT_FORMAT + value: "true" + - equal: + path: data.SKIP_PG_FOR_BRAINSTORE_OBJECTS + value: "include:project_logs:abc123" + + - it: should pass through exclude-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "exclude:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.SKIP_PG_FOR_BRAINSTORE_OBJECTS + value: "exclude:project_logs:abc123" diff --git a/braintrust/tests/brainstore-fastreader-configmap_test.yaml b/braintrust/tests/brainstore-fastreader-configmap_test.yaml index 3bc9e11..0ede35f 100644 --- a/braintrust/tests/brainstore-fastreader-configmap_test.yaml +++ b/braintrust/tests/brainstore-fastreader-configmap_test.yaml @@ -32,3 +32,59 @@ tests: - equal: path: metadata.annotations["custom-annotation"] value: value + + - it: should not include no-pg vars when skipPgForBrainstoreObjects is not set + values: + - __fixtures__/base-values.yaml + release: + namespace: "braintrust" + asserts: + - isNull: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + - isNull: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + + - it: should include no-pg vars when skipPgForBrainstoreObjects is "all" + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "all" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "all" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "all" + + - it: should pass through include-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "include:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "include:project_logs:abc123" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "include:project_logs:abc123" + + - it: should pass through exclude-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "exclude:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "exclude:project_logs:abc123" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "exclude:project_logs:abc123" diff --git a/braintrust/tests/brainstore-reader-configmap_test.yaml b/braintrust/tests/brainstore-reader-configmap_test.yaml index 7626c76..2362693 100644 --- a/braintrust/tests/brainstore-reader-configmap_test.yaml +++ b/braintrust/tests/brainstore-reader-configmap_test.yaml @@ -182,3 +182,59 @@ tests: - equal: path: metadata.annotations["custom-annotation"] value: value + + - it: should not include no-pg vars when skipPgForBrainstoreObjects is not set + values: + - __fixtures__/base-values.yaml + release: + namespace: "braintrust" + asserts: + - isNull: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + - isNull: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + + - it: should include no-pg vars when skipPgForBrainstoreObjects is "all" + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "all" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "all" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "all" + + - it: should pass through include-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "include:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "include:project_logs:abc123" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "include:project_logs:abc123" + + - it: should pass through exclude-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "exclude:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "exclude:project_logs:abc123" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "exclude:project_logs:abc123" diff --git a/braintrust/tests/brainstore-writer-configmap_test.yaml b/braintrust/tests/brainstore-writer-configmap_test.yaml index 0de94d4..af6a0f0 100644 --- a/braintrust/tests/brainstore-writer-configmap_test.yaml +++ b/braintrust/tests/brainstore-writer-configmap_test.yaml @@ -182,3 +182,59 @@ tests: - equal: path: metadata.annotations["custom-annotation"] value: value + + - it: should not include no-pg vars when skipPgForBrainstoreObjects is not set + values: + - __fixtures__/base-values.yaml + release: + namespace: "braintrust" + asserts: + - isNull: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + - isNull: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + + - it: should include no-pg vars when skipPgForBrainstoreObjects is "all" + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "all" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "all" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "all" + + - it: should pass through include-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "include:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "include:project_logs:abc123" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "include:project_logs:abc123" + + - it: should pass through exclude-style skipPgForBrainstoreObjects value + values: + - __fixtures__/base-values.yaml + set: + skipPgForBrainstoreObjects: "exclude:project_logs:abc123" + release: + namespace: "braintrust" + asserts: + - equal: + path: data.BRAINSTORE_ASYNC_SCORING_OBJECTS + value: "exclude:project_logs:abc123" + - equal: + path: data.BRAINSTORE_LOG_AUTOMATIONS_OBJECTS + value: "exclude:project_logs:abc123" diff --git a/braintrust/values.yaml b/braintrust/values.yaml index 544b4aa..8073b2a 100644 --- a/braintrust/values.yaml +++ b/braintrust/values.yaml @@ -334,6 +334,18 @@ azureKeyVaultDriver: keyVaultSecretType: "secret" kubernetesSecretKey: "AZURE_STORAGE_CONNECTION_STRING" +# No-PG mode: controls which object types bypass PostgreSQL and use Brainstore directly. +# WARNING: This is a one-way operation. Once migrated off Postgres, objects cannot be +# un-migrated without downtime. +# Options: +# - "" (default): disabled, PostgreSQL used as normal +# - "all": skip PostgreSQL for all object types +# - "include::,...": skip for specific objects only +# e.g. "include:project_logs:5ad850f0-...,project_logs:45b3aed2-..." +# - "exclude::,...": skip for all objects except specific ones +# e.g. "exclude:project_logs:5ad850f0-..." +skipPgForBrainstoreObjects: "" + # Istio VirtualService configuration (optional) # Enable this to create an Istio VirtualService for the API virtualService: