From 452079fe49b4a70b3448b907c13a756dc17135c5 Mon Sep 17 00:00:00 2001 From: drewdrew Date: Wed, 28 Jan 2026 16:19:00 +0100 Subject: [PATCH 1/2] Add workarounds for Helm chart v1.1.3 installation issues Update values examples and add FAQ entries for two bugs in the langwatch-helm chart: 1. OpenSearch duplicate env var: Add singleNode: true to prevent duplicate cluster.initial_master_nodes entries 2. Missing Bitnami PostgreSQL images: Use bitnamilegacy/postgresql:16 and disable volumePermissions init container Fixes reference: langwatch/langwatch#1232 Co-Authored-By: Claude Opus 4.5 --- self-hosting/kubernetes-helm.mdx | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/self-hosting/kubernetes-helm.mdx b/self-hosting/kubernetes-helm.mdx index 7f9b3ea..7bb75f2 100644 --- a/self-hosting/kubernetes-helm.mdx +++ b/self-hosting/kubernetes-helm.mdx @@ -74,14 +74,21 @@ langevals: postgresql: chartManaged: true + image: + registry: docker.io + repository: bitnamilegacy/postgresql + tag: "16" auth: password: "rtfyg6j8iu" + volumePermissions: + enabled: false redis: chartManaged: true opensearch: chartManaged: true + singleNode: true clusterName: "langwatch-test-opensearch" ``` @@ -234,10 +241,16 @@ langevals: postgresql: chartManaged: true + image: + registry: docker.io + repository: bitnamilegacy/postgresql + tag: "16" auth: username: postgres password: dev-postgres-password database: langwatch + volumePermissions: + enabled: false primary: persistence: enabled: false @@ -253,6 +266,7 @@ redis: opensearch: chartManaged: true replicas: 1 + singleNode: true persistence: enabled: false @@ -426,4 +440,41 @@ metadata: Alternatively, configure an Istio `ServiceEntry`/egress policy for your OpenSearch endpoint. + + +If you see an error like: + +``` +Error: INSTALLATION FAILED: failed to create typed patch object ... duplicate entries for key [name="cluster.initial_master_nodes"] +``` + +Add `singleNode: true` to your opensearch configuration: + +```yaml +opensearch: + chartManaged: true + singleNode: true +``` + +See [issue #1232](https://github.com/langwatch/langwatch/issues/1232) for details. + + + +If PostgreSQL pods fail with `ImagePullBackOff` or `ErrImagePull` for images like `bitnami/postgresql:16.x.x-debian-...` or `bitnami/os-shell:...`, the Bitnami images may have been removed from Docker Hub. + +Use the legacy Bitnami image and disable the volumePermissions init container: + +```yaml +postgresql: + chartManaged: true + image: + registry: docker.io + repository: bitnamilegacy/postgresql + tag: "16" + volumePermissions: + enabled: false +``` + +See [issue #1232](https://github.com/langwatch/langwatch/issues/1232) for details. + From 08237b6a9eea73119c6000f2952adbbf6a832ec0 Mon Sep 17 00:00:00 2001 From: drewdrew Date: Wed, 28 Jan 2026 16:56:49 +0100 Subject: [PATCH 2/2] docs: increase memory limits for dev mode, add OOM troubleshooting - Update app resources in dev values to 2Gi/4Gi for Turbopack - Add FAQ entry about exit code 137 (OOMKilled) in development mode Co-Authored-By: Claude Opus 4.5 --- self-hosting/kubernetes-helm.mdx | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/self-hosting/kubernetes-helm.mdx b/self-hosting/kubernetes-helm.mdx index 7bb75f2..ff58767 100644 --- a/self-hosting/kubernetes-helm.mdx +++ b/self-hosting/kubernetes-helm.mdx @@ -213,13 +213,14 @@ app: enabled: false sentry: enabled: false + # Development mode requires more memory for Turbopack compilation resources: requests: - cpu: 250m - memory: 512Mi + cpu: 500m + memory: 2Gi limits: - cpu: 1000m - memory: 1Gi + cpu: 2000m + memory: 4Gi langwatch_nlp: resources: @@ -477,4 +478,19 @@ postgresql: See [issue #1232](https://github.com/langwatch/langwatch/issues/1232) for details. + + +Development mode uses Turbopack for on-demand compilation which requires more memory than production mode. If the app crashes with exit code 137, increase the memory limits: + +```yaml +app: + resources: + requests: + memory: 2Gi + limits: + memory: 4Gi +``` + +For production deployments, the default 1Gi limit is usually sufficient. +