From cf94931097fe17361ac8ba38c077ff2125131daf Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 17:24:57 -0400 Subject: [PATCH 01/27] feat: prevent duplicate env var keys --- .../templates/backend/auth-bootstrap.yaml | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/charts/langsmith/templates/backend/auth-bootstrap.yaml b/charts/langsmith/templates/backend/auth-bootstrap.yaml index 633b8fc..08c3672 100644 --- a/charts/langsmith/templates/backend/auth-bootstrap.yaml +++ b/charts/langsmith/templates/backend/auth-bootstrap.yaml @@ -1,4 +1,21 @@ +{{- define "authBootstrapEnvVars" -}} +- name: INITIAL_ORG_ADMIN_EMAIL + value: {{ .Values.config.basicAuth.initialOrgAdminEmail }} +- name: INITIAL_ORG_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "langsmith.secretsName" . }} + key: initial_org_admin_password +{{- end -}} {{- if .Values.config.basicAuth.enabled }} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "authBootstrapEnvVars" . | fromYamlArray) .Values.backend.authBootstrap.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: batch/v1 kind: Job metadata: @@ -47,15 +64,7 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - {{- include "langsmith.commonEnv" . | nindent 12 }} - - name: INITIAL_ORG_ADMIN_EMAIL - value: {{ .Values.config.basicAuth.initialOrgAdminEmail }} - - name: INITIAL_ORG_ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "langsmith.secretsName" . }} - key: initial_org_admin_password - {{- with .Values.backend.authBootstrap.extraEnv }} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} envFrom: From 8c12058bef813aa86b02cc29b46329d5be23be91 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 17:26:38 -0400 Subject: [PATCH 02/27] clickhouse migrations --- .../templates/backend/clickhouse-migrations.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/charts/langsmith/templates/backend/clickhouse-migrations.yaml b/charts/langsmith/templates/backend/clickhouse-migrations.yaml index 471513a..c8092f3 100644 --- a/charts/langsmith/templates/backend/clickhouse-migrations.yaml +++ b/charts/langsmith/templates/backend/clickhouse-migrations.yaml @@ -1,4 +1,12 @@ {{- if .Values.backend.clickhouseMigrations.enabled }} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "clickhouseMigrationsEnvVars" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: batch/v1 kind: Job metadata: @@ -47,8 +55,7 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - {{- include "langsmith.commonEnv" . | nindent 12 }} - {{- with .Values.backend.clickhouseMigrations.extraEnv }} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} envFrom: From 447f88ab5d3cba57813b1ae8d7e2e71f5da3697c Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 17:29:03 -0400 Subject: [PATCH 03/27] migrations --- .../templates/backend/clickhouse-migrations.yaml | 2 +- .../templates/backend/postgres-migrations.yaml | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/charts/langsmith/templates/backend/clickhouse-migrations.yaml b/charts/langsmith/templates/backend/clickhouse-migrations.yaml index c8092f3..1552cd6 100644 --- a/charts/langsmith/templates/backend/clickhouse-migrations.yaml +++ b/charts/langsmith/templates/backend/clickhouse-migrations.yaml @@ -1,5 +1,5 @@ {{- if .Values.backend.clickhouseMigrations.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "clickhouseMigrationsEnvVars" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}} {{- $envKeys := list -}} {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} diff --git a/charts/langsmith/templates/backend/postgres-migrations.yaml b/charts/langsmith/templates/backend/postgres-migrations.yaml index 8dc886c..0ab7d91 100644 --- a/charts/langsmith/templates/backend/postgres-migrations.yaml +++ b/charts/langsmith/templates/backend/postgres-migrations.yaml @@ -1,4 +1,12 @@ {{- if .Values.backend.migrations.enabled }} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.migrations.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: batch/v1 kind: Job metadata: @@ -47,8 +55,7 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - {{- include "langsmith.commonEnv" . | nindent 12 }} - {{- with .Values.backend.migrations.extraEnv }} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} envFrom: From 0da8ae1310b9b68db0835d60c3e8b83fce8defef Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 17:32:31 -0400 Subject: [PATCH 04/27] backend --- .../templates/backend/deployment.yaml | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/charts/langsmith/templates/backend/deployment.yaml b/charts/langsmith/templates/backend/deployment.yaml index 5d92466..4e38c8b 100644 --- a/charts/langsmith/templates/backend/deployment.yaml +++ b/charts/langsmith/templates/backend/deployment.yaml @@ -1,3 +1,19 @@ +{{- define "backendEnvVars" -}} +- name: PORT + value: {{ .Values.backend.containerPort | quote }} +{{- with .Values.ingress.subdomain }} +- name: DOCS_PREFIX + value: /{{ . }}/api +{{- end }} +{{- end -}} +{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "backendEnvVars" . | fromYamlArray) .Values.backend.deployment.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: Deployment metadata: @@ -50,19 +66,9 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - {{- include "langsmith.commonEnv" . | nindent 12 }} - - name: PORT - value: {{ .Values.backend.containerPort | quote }} - {{- with .Values.ingress.subdomain }} - - name: DOCS_PREFIX - value: /{{ . }}/api - {{- end }} - {{- with .Values.backend.deployment.extraEnv }} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} - {{- with .Values.commonEnv }} - {{ toYaml . | nindent 12 }} - {{- end }} envFrom: - configMapRef: name: {{ include "langsmith.fullname" . }}-config From 195a1de726a038dac1051d53fc9a2bbfbfccdb18 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:33:31 -0400 Subject: [PATCH 05/27] clickhouse --- .../templates/clickhouse/stateful-set.yaml | 48 +++++++++++-------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/charts/langsmith/templates/clickhouse/stateful-set.yaml b/charts/langsmith/templates/clickhouse/stateful-set.yaml index 3e454f0..b3328c5 100644 --- a/charts/langsmith/templates/clickhouse/stateful-set.yaml +++ b/charts/langsmith/templates/clickhouse/stateful-set.yaml @@ -1,4 +1,30 @@ +{{- define "clickhouseEnvVars" -}} +- name: CLICKHOUSE_DB + valueFrom: + secretKeyRef: + name: {{ include "langsmith.clickhouseSecretsName" . }} + key: clickhouse_db +- name: CLICKHOUSE_USER + valueFrom: + secretKeyRef: + name: {{ include "langsmith.clickhouseSecretsName" . }} + key: clickhouse_user +- name: CLICKHOUSE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "langsmith.clickhouseSecretsName" . }} + key: clickhouse_password +{{- end }} +{{- end -}} {{- if not .Values.clickhouse.external.enabled }} +{{- $envVars := concat .Values.commonEnv (include "clickhouseEnvVars" . | fromYamlArray) .Values.clickhouse.statefulSet.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: StatefulSet metadata: @@ -49,26 +75,8 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - - name: CLICKHOUSE_DB - valueFrom: - secretKeyRef: - name: {{ include "langsmith.clickhouseSecretsName" . }} - key: clickhouse_db - - name: CLICKHOUSE_USER - valueFrom: - secretKeyRef: - name: {{ include "langsmith.clickhouseSecretsName" . }} - key: clickhouse_user - - name: CLICKHOUSE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "langsmith.clickhouseSecretsName" . }} - key: clickhouse_password - {{- with .Values.clickhouse.statefulSet.extraEnv }} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.commonEnv }} - {{ toYaml . | nindent 12 }} + {{- with $envVars }} + {{- toYaml . | nindent 12 }} {{- end }} ports: - name: ch From 1c0d298ca2c82f3819fcf09c264b0ed8ce45b55e Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:36:48 -0400 Subject: [PATCH 06/27] frontend --- .../templates/frontend/deployment.yaml | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/charts/langsmith/templates/frontend/deployment.yaml b/charts/langsmith/templates/frontend/deployment.yaml index 2431641..908db68 100644 --- a/charts/langsmith/templates/frontend/deployment.yaml +++ b/charts/langsmith/templates/frontend/deployment.yaml @@ -1,3 +1,29 @@ +{{- define "frontendEnvVars" -}} +{{- if .Values.config.oauth.enabled }} +- name: VITE_OAUTH_CLIENT_ID + valueFrom: + secretKeyRef: + key: oauth_client_id + name: {{ include "langsmith.secretsName" .}} +- name: VITE_OAUTH_ISSUER_URL + valueFrom: + secretKeyRef: + key: oauth_issuer_url + name: {{ include "langsmith.secretsName" .}} +{{- end }} +{{- if .Values.ingress.subdomain }} +- name: VITE_SUBDOMAIN +value: {{ .Values.ingress.subdomain }} +{{- end }} +{{- end }} +{{- $envVars := concat .Values.commonEnv (include "frontendEnvVars" . | fromYamlArray) .Values.frontend.deployment.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: Deployment metadata: @@ -50,26 +76,7 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - {{- if .Values.config.oauth.enabled }} - - name: VITE_OAUTH_CLIENT_ID - valueFrom: - secretKeyRef: - key: oauth_client_id - name: {{ include "langsmith.secretsName" .}} - - name: VITE_OAUTH_ISSUER_URL - valueFrom: - secretKeyRef: - key: oauth_issuer_url - name: {{ include "langsmith.secretsName" .}} - {{- end }} - {{- with .Values.frontend.deployment.extraEnv }} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- if .Values.ingress.subdomain }} - - name: VITE_SUBDOMAIN - value: {{ .Values.ingress.subdomain }} - {{- end }} - {{- with .Values.commonEnv }} + {{- with $envVars }} {{ toYaml . | nindent 12 }} {{- end }} envFrom: From 5bd02ebc17928f3151692c413ae762e3bc012455 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:39:01 -0400 Subject: [PATCH 07/27] platform-backend --- .../templates/frontend/deployment.yaml | 2 +- .../platform-backend/deployment.yaml | 24 +++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/charts/langsmith/templates/frontend/deployment.yaml b/charts/langsmith/templates/frontend/deployment.yaml index 908db68..ca23d94 100644 --- a/charts/langsmith/templates/frontend/deployment.yaml +++ b/charts/langsmith/templates/frontend/deployment.yaml @@ -15,7 +15,7 @@ - name: VITE_SUBDOMAIN value: {{ .Values.ingress.subdomain }} {{- end }} -{{- end }} +{{- end -}} {{- $envVars := concat .Values.commonEnv (include "frontendEnvVars" . | fromYamlArray) .Values.frontend.deployment.extraEnv -}} {{- $envKeys := list -}} {{- range $envVars }} diff --git a/charts/langsmith/templates/platform-backend/deployment.yaml b/charts/langsmith/templates/platform-backend/deployment.yaml index 2a655ac..be7b902 100644 --- a/charts/langsmith/templates/platform-backend/deployment.yaml +++ b/charts/langsmith/templates/platform-backend/deployment.yaml @@ -1,3 +1,19 @@ +{{- define "platformBackendEnvVars" -}} +- name: PORT + value: {{ .Values.platformBackend.containerPort | quote }} +{{- with .Values.ingress.subdomain }} +- name: DOCS_PREFIX + value: /{{ . }}/api +{{- end }} +{{- end -}} +{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "platformBackendEnvVars" . | fromYamlArray) .Values.platformBackend.deployment.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: Deployment metadata: @@ -50,13 +66,7 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - {{- include "langsmith.commonEnv" . | nindent 12 }} - - name: PORT - value: {{ .Values.platformBackend.containerPort | quote }} - {{- with .Values.platformBackend.deployment.extraEnv }} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.commonEnv }} + {{- with $envVars }} {{ toYaml . | nindent 12 }} {{- end }} envFrom: From aaa8c3bd234b7f0ebdc36f470e5494f80c4cd4e9 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:41:53 -0400 Subject: [PATCH 08/27] playground --- .../templates/playground/deployment.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/charts/langsmith/templates/playground/deployment.yaml b/charts/langsmith/templates/playground/deployment.yaml index 6ff6b4e..7a26b71 100644 --- a/charts/langsmith/templates/playground/deployment.yaml +++ b/charts/langsmith/templates/playground/deployment.yaml @@ -1,3 +1,11 @@ +{{- $envVars := concat .Values.commonEnv .Values.playground.deployment.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: Deployment metadata: @@ -51,13 +59,7 @@ spec: {{- end }} {{- if or .Values.playground.deployment.extraEnv .Values.commonEnv }} env: - {{- with .Values.playground.deployment.extraEnv}} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.commonEnv}} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- end }} + {{- end }} image: "{{ .Values.images.playgroundImage.repository }}:{{ .Values.images.playgroundImage.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.images.playgroundImage.pullPolicy }} ports: From d5d5bed1a69f50ba9beea20c12a72b0ffd36f002 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:43:34 -0400 Subject: [PATCH 09/27] postgres --- .../templates/postgres/stateful-set.yaml | 50 +++++++++++-------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/charts/langsmith/templates/postgres/stateful-set.yaml b/charts/langsmith/templates/postgres/stateful-set.yaml index d2962b2..69728e6 100644 --- a/charts/langsmith/templates/postgres/stateful-set.yaml +++ b/charts/langsmith/templates/postgres/stateful-set.yaml @@ -1,4 +1,32 @@ +{{- define "postgresEnvVars" -}} +- name: POSTGRES_DB + valueFrom: + secretKeyRef: + name: {{ include "langsmith.postgresSecretsName" .}} + key: postgres_db +- name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "langsmith.postgresSecretsName" .}} + key: postgres_password +- name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: {{ include "langsmith.postgresSecretsName" .}} + key: postgres_user +- name: PGDATA + value: /var/lib/postgresql/data/postgres +{{- end }} +{{- end -}} {{- if not .Values.postgres.external.enabled }} +{{- $envVars := concat .Values.commonEnv (include "postgresEnvVars" . | fromYamlArray) .Values.postgres.statefulSet.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: StatefulSet metadata: @@ -47,27 +75,7 @@ spec: {{ . }} {{- end }} env: - - name: POSTGRES_DB - valueFrom: - secretKeyRef: - name: {{ include "langsmith.postgresSecretsName" .}} - key: postgres_db - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "langsmith.postgresSecretsName" .}} - key: postgres_password - - name: POSTGRES_USER - valueFrom: - secretKeyRef: - name: {{ include "langsmith.postgresSecretsName" .}} - key: postgres_user - - name: PGDATA - value: /var/lib/postgresql/data/postgres - {{- with .Values.postgres.statefulSet.extraEnv }} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.commonEnv }} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} image: "{{ .Values.images.postgresImage.repository }}:{{ .Values.images.postgresImage.tag | default .Chart.AppVersion }}" From 38deb85e27676bc18a76f984145065ee90dbbae5 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:46:15 -0400 Subject: [PATCH 10/27] queue --- .../templates/clickhouse/stateful-set.yaml | 1 - .../templates/postgres/stateful-set.yaml | 1 - .../langsmith/templates/queue/deployment.yaml | 24 ++++++++++++------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/charts/langsmith/templates/clickhouse/stateful-set.yaml b/charts/langsmith/templates/clickhouse/stateful-set.yaml index b3328c5..d8a1e77 100644 --- a/charts/langsmith/templates/clickhouse/stateful-set.yaml +++ b/charts/langsmith/templates/clickhouse/stateful-set.yaml @@ -14,7 +14,6 @@ secretKeyRef: name: {{ include "langsmith.clickhouseSecretsName" . }} key: clickhouse_password -{{- end }} {{- end -}} {{- if not .Values.clickhouse.external.enabled }} {{- $envVars := concat .Values.commonEnv (include "clickhouseEnvVars" . | fromYamlArray) .Values.clickhouse.statefulSet.extraEnv -}} diff --git a/charts/langsmith/templates/postgres/stateful-set.yaml b/charts/langsmith/templates/postgres/stateful-set.yaml index 69728e6..1b8dfde 100644 --- a/charts/langsmith/templates/postgres/stateful-set.yaml +++ b/charts/langsmith/templates/postgres/stateful-set.yaml @@ -16,7 +16,6 @@ key: postgres_user - name: PGDATA value: /var/lib/postgresql/data/postgres -{{- end }} {{- end -}} {{- if not .Values.postgres.external.enabled }} {{- $envVars := concat .Values.commonEnv (include "postgresEnvVars" . | fromYamlArray) .Values.postgres.statefulSet.extraEnv -}} diff --git a/charts/langsmith/templates/queue/deployment.yaml b/charts/langsmith/templates/queue/deployment.yaml index b67c86e..5993084 100644 --- a/charts/langsmith/templates/queue/deployment.yaml +++ b/charts/langsmith/templates/queue/deployment.yaml @@ -1,3 +1,17 @@ +{{- define "queueEnvVars" -}} +- name: "REDIS_MAX_CONNECTIONS" + value: "250" +- name: "ASYNCPG_POOL_MAX_SIZE" + value: "3" +{{- end -}} +{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "queueEnvVars" . | fromYamlArray) .Values.queue.deployment.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: Deployment metadata: @@ -51,17 +65,9 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} env: - - name: "REDIS_MAX_CONNECTIONS" - value: "250" - - name: "ASYNCPG_POOL_MAX_SIZE" - value: "3" - {{- include "langsmith.commonEnv" . | nindent 12 }} - {{- with .Values.queue.deployment.extraEnv }} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} - {{- with .Values.commonEnv }} - {{- toYaml . | nindent 12 }} - {{- end }} envFrom: - configMapRef: name: {{ include "langsmith.fullname" . }}-config From a631a4e2eff31115abcd62e027b9a2db1f760b79 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Wed, 23 Oct 2024 19:48:05 -0400 Subject: [PATCH 11/27] redis --- charts/langsmith/templates/redis/stateful-set.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/charts/langsmith/templates/redis/stateful-set.yaml b/charts/langsmith/templates/redis/stateful-set.yaml index f3daeb8..f66afc2 100644 --- a/charts/langsmith/templates/redis/stateful-set.yaml +++ b/charts/langsmith/templates/redis/stateful-set.yaml @@ -1,4 +1,12 @@ {{- if not .Values.redis.external.enabled }} +{{- $envVars := concat .Values.commonEnv .Values.redis.statefulSet.extraEnv -}} +{{- $envKeys := list -}} +{{- range $envVars }} + {{- $envKeys = append $envKeys .name -}} +{{- end }} +{{- if ne (uniq $envKeys | len) (len $envKeys) -}} + {{ fail "Environment variables cannot contain duplicate keys" }} +{{- end -}} apiVersion: apps/v1 kind: StatefulSet metadata: @@ -48,10 +56,7 @@ spec: {{- end }} {{- if or .Values.redis.statefulSet.extraEnv .Values.commonEnv }} env: - {{- with .Values.redis.statefulSet.extraEnv}} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.commonEnv}} + {{- with $envVars }} {{- toYaml . | nindent 12 }} {{- end }} {{- end }} From c00ad7b9d5717b5eb8e973c492b313e6a9ba1a94 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 13:00:37 -0400 Subject: [PATCH 12/27] use helper --- charts/langsmith/Chart.yaml | 2 +- charts/langsmith/templates/_helpers.tpl | 20 +++++++++++++++++++ .../templates/backend/auth-bootstrap.yaml | 4 +--- .../backend/clickhouse-migrations.yaml | 18 ++++++++++++++--- .../templates/backend/deployment.yaml | 18 ++++++++++++++--- .../backend/postgres-migrations.yaml | 4 +--- .../templates/clickhouse/stateful-set.yaml | 6 +++--- .../templates/frontend/deployment.yaml | 4 +--- .../platform-backend/deployment.yaml | 4 +--- .../templates/playground/deployment.yaml | 4 +--- .../templates/postgres/stateful-set.yaml | 6 +++--- .../langsmith/templates/queue/deployment.yaml | 4 +--- .../templates/redis/stateful-set.yaml | 4 +--- 13 files changed, 64 insertions(+), 34 deletions(-) diff --git a/charts/langsmith/Chart.yaml b/charts/langsmith/Chart.yaml index 171ed29..a152bc9 100644 --- a/charts/langsmith/Chart.yaml +++ b/charts/langsmith/Chart.yaml @@ -5,5 +5,5 @@ maintainers: email: ankush@langchain.dev description: Helm chart to deploy the langsmith application and all services it depends on. type: application -version: 0.7.10 +version: 0.7.11 appVersion: "0.7.45" diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 443bbf7..21b95d6 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -333,3 +333,23 @@ Template containing common environment variables that are used by several servic {{ default "default" .Values.redis.serviceAccount.name }} {{- end -}} {{- end -}} + +{{/* Fail on duplicate keys in the inputted list */}} +{{- define "langsmith.detectDuplicates" -}} +{{- $inputList := . }} +{{- $duplicates := list -}} +{{- range $key := $inputList }} + {{- $count := 0 -}} + {{- range $inputList }} + {{- if eq $key . }} + {{- $count = add $count 1 -}} + {{- end }} + {{- end }} + {{- if and (eq $count 2) (not (has $key $duplicates)) }} # Add the key to duplicates if count is greater than 1 + {{- $duplicates = append $duplicates $key -}} + {{- end }} +{{- end }} +{{- if gt (len $duplicates) 0 }} + {{ fail (printf "Duplicate keys detected: %v" $duplicates) }} +{{- end }} +{{- end -}} diff --git a/charts/langsmith/templates/backend/auth-bootstrap.yaml b/charts/langsmith/templates/backend/auth-bootstrap.yaml index 08c3672..01abcf3 100644 --- a/charts/langsmith/templates/backend/auth-bootstrap.yaml +++ b/charts/langsmith/templates/backend/auth-bootstrap.yaml @@ -13,9 +13,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/clickhouse-migrations.yaml b/charts/langsmith/templates/backend/clickhouse-migrations.yaml index 1552cd6..8619ec5 100644 --- a/charts/langsmith/templates/backend/clickhouse-migrations.yaml +++ b/charts/langsmith/templates/backend/clickhouse-migrations.yaml @@ -4,9 +4,21 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- $duplicates := list -}} +{{- range $key := $envKeys }} + {{- $count := 0 -}} + {{- range $envKeys }} + {{- if eq $key . }} + {{- $count = add $count 1 -}} + {{- end }} + {{- end }} + {{- if and (eq $count 2) (not (has $key $duplicates)) }} # Add the key to duplicates if count is greater than 1 + {{- $duplicates = append $duplicates $key -}} + {{- end }} +{{- end }} +{{- if gt (len $duplicates) 0 }} + {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} +{{- end }} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/deployment.yaml b/charts/langsmith/templates/backend/deployment.yaml index 4e38c8b..53c414b 100644 --- a/charts/langsmith/templates/backend/deployment.yaml +++ b/charts/langsmith/templates/backend/deployment.yaml @@ -11,9 +11,21 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- $duplicates := list -}} +{{- range $key := $envKeys }} + {{- $count := 0 -}} + {{- range $envKeys }} + {{- if eq $key . }} + {{- $count = add $count 1 -}} + {{- end }} + {{- end }} + {{- if and (eq $count 2) (not (has $key $duplicates)) }} # Add the key to duplicates if count is greater than 1 + {{- $duplicates = append $duplicates $key -}} + {{- end }} +{{- end }} +{{- if gt (len $duplicates) 0 }} + {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} +{{- end }} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/backend/postgres-migrations.yaml b/charts/langsmith/templates/backend/postgres-migrations.yaml index 0ab7d91..d7414c1 100644 --- a/charts/langsmith/templates/backend/postgres-migrations.yaml +++ b/charts/langsmith/templates/backend/postgres-migrations.yaml @@ -4,9 +4,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/clickhouse/stateful-set.yaml b/charts/langsmith/templates/clickhouse/stateful-set.yaml index d8a1e77..93f4fb1 100644 --- a/charts/langsmith/templates/clickhouse/stateful-set.yaml +++ b/charts/langsmith/templates/clickhouse/stateful-set.yaml @@ -21,9 +21,9 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} + {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} +{{- end }} apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/charts/langsmith/templates/frontend/deployment.yaml b/charts/langsmith/templates/frontend/deployment.yaml index ca23d94..7560a5a 100644 --- a/charts/langsmith/templates/frontend/deployment.yaml +++ b/charts/langsmith/templates/frontend/deployment.yaml @@ -21,9 +21,7 @@ value: {{ .Values.ingress.subdomain }} {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/platform-backend/deployment.yaml b/charts/langsmith/templates/platform-backend/deployment.yaml index be7b902..17bbf73 100644 --- a/charts/langsmith/templates/platform-backend/deployment.yaml +++ b/charts/langsmith/templates/platform-backend/deployment.yaml @@ -11,9 +11,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/playground/deployment.yaml b/charts/langsmith/templates/playground/deployment.yaml index 7a26b71..1caae9f 100644 --- a/charts/langsmith/templates/playground/deployment.yaml +++ b/charts/langsmith/templates/playground/deployment.yaml @@ -3,9 +3,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/postgres/stateful-set.yaml b/charts/langsmith/templates/postgres/stateful-set.yaml index 1b8dfde..85cd02f 100644 --- a/charts/langsmith/templates/postgres/stateful-set.yaml +++ b/charts/langsmith/templates/postgres/stateful-set.yaml @@ -23,9 +23,9 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} + {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} +{{- end }} apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/charts/langsmith/templates/queue/deployment.yaml b/charts/langsmith/templates/queue/deployment.yaml index 5993084..6e8b15c 100644 --- a/charts/langsmith/templates/queue/deployment.yaml +++ b/charts/langsmith/templates/queue/deployment.yaml @@ -9,9 +9,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/redis/stateful-set.yaml b/charts/langsmith/templates/redis/stateful-set.yaml index f66afc2..4d6018f 100644 --- a/charts/langsmith/templates/redis/stateful-set.yaml +++ b/charts/langsmith/templates/redis/stateful-set.yaml @@ -4,9 +4,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- if ne (uniq $envKeys | len) (len $envKeys) -}} - {{ fail "Environment variables cannot contain duplicate keys" }} -{{- end -}} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: apps/v1 kind: StatefulSet metadata: From 0637df05958fe44adf473fefaacb75fc2227a17f Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 13:26:47 -0400 Subject: [PATCH 13/27] fix --- .../templates/backend/clickhouse-migrations.yaml | 16 +--------------- .../langsmith/templates/backend/deployment.yaml | 16 +--------------- .../templates/clickhouse/stateful-set.yaml | 2 -- .../templates/postgres/stateful-set.yaml | 2 -- 4 files changed, 2 insertions(+), 34 deletions(-) diff --git a/charts/langsmith/templates/backend/clickhouse-migrations.yaml b/charts/langsmith/templates/backend/clickhouse-migrations.yaml index 8619ec5..a1390ed 100644 --- a/charts/langsmith/templates/backend/clickhouse-migrations.yaml +++ b/charts/langsmith/templates/backend/clickhouse-migrations.yaml @@ -4,21 +4,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- $duplicates := list -}} -{{- range $key := $envKeys }} - {{- $count := 0 -}} - {{- range $envKeys }} - {{- if eq $key . }} - {{- $count = add $count 1 -}} - {{- end }} - {{- end }} - {{- if and (eq $count 2) (not (has $key $duplicates)) }} # Add the key to duplicates if count is greater than 1 - {{- $duplicates = append $duplicates $key -}} - {{- end }} -{{- end }} -{{- if gt (len $duplicates) 0 }} - {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} -{{- end }} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/deployment.yaml b/charts/langsmith/templates/backend/deployment.yaml index 53c414b..c0266b9 100644 --- a/charts/langsmith/templates/backend/deployment.yaml +++ b/charts/langsmith/templates/backend/deployment.yaml @@ -11,21 +11,7 @@ {{- range $envVars }} {{- $envKeys = append $envKeys .name -}} {{- end }} -{{- $duplicates := list -}} -{{- range $key := $envKeys }} - {{- $count := 0 -}} - {{- range $envKeys }} - {{- if eq $key . }} - {{- $count = add $count 1 -}} - {{- end }} - {{- end }} - {{- if and (eq $count 2) (not (has $key $duplicates)) }} # Add the key to duplicates if count is greater than 1 - {{- $duplicates = append $duplicates $key -}} - {{- end }} -{{- end }} -{{- if gt (len $duplicates) 0 }} - {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} -{{- end }} +{{- include "langsmith.detectDuplicates" $envKeys -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/clickhouse/stateful-set.yaml b/charts/langsmith/templates/clickhouse/stateful-set.yaml index 93f4fb1..0b505de 100644 --- a/charts/langsmith/templates/clickhouse/stateful-set.yaml +++ b/charts/langsmith/templates/clickhouse/stateful-set.yaml @@ -22,8 +22,6 @@ {{- $envKeys = append $envKeys .name -}} {{- end }} {{- include "langsmith.detectDuplicates" $envKeys -}} - {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} -{{- end }} apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/charts/langsmith/templates/postgres/stateful-set.yaml b/charts/langsmith/templates/postgres/stateful-set.yaml index 85cd02f..e255ffc 100644 --- a/charts/langsmith/templates/postgres/stateful-set.yaml +++ b/charts/langsmith/templates/postgres/stateful-set.yaml @@ -24,8 +24,6 @@ {{- $envKeys = append $envKeys .name -}} {{- end }} {{- include "langsmith.detectDuplicates" $envKeys -}} - {{ fail (printf "Environment variables contain duplicate keys: %v" $duplicates) }} -{{- end }} apiVersion: apps/v1 kind: StatefulSet metadata: From c64900bb028bd899741b8f34f9870b4c437640b0 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 13:38:15 -0400 Subject: [PATCH 14/27] improve fn --- charts/langsmith/templates/_helpers.tpl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 21b95d6..5e6083e 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -336,19 +336,21 @@ Template containing common environment variables that are used by several servic {{/* Fail on duplicate keys in the inputted list */}} {{- define "langsmith.detectDuplicates" -}} -{{- $inputList := . }} +{{- $inputList := . -}} +{{- $keyCounts := dict -}} {{- $duplicates := list -}} + {{- range $key := $inputList }} - {{- $count := 0 -}} - {{- range $inputList }} - {{- if eq $key . }} - {{- $count = add $count 1 -}} - {{- end }} + {{- if hasKey $keyCounts $key }} + {{- $_ := set $keyCounts $key (add (get $keyCounts $key) 1) -}} + {{- else }} + {{- $_ := set $keyCounts $key 1 -}} {{- end }} - {{- if and (eq $count 2) (not (has $key $duplicates)) }} # Add the key to duplicates if count is greater than 1 + {{- if gt (get $keyCounts $key) 1 }} {{- $duplicates = append $duplicates $key -}} {{- end }} {{- end }} + {{- if gt (len $duplicates) 0 }} {{ fail (printf "Duplicate keys detected: %v" $duplicates) }} {{- end }} From cdb3634e0f08f18b3f03c1ddd11c6cb690eee31f Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 13:40:23 -0400 Subject: [PATCH 15/27] revert version change --- charts/langsmith/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/langsmith/Chart.yaml b/charts/langsmith/Chart.yaml index a152bc9..171ed29 100644 --- a/charts/langsmith/Chart.yaml +++ b/charts/langsmith/Chart.yaml @@ -5,5 +5,5 @@ maintainers: email: ankush@langchain.dev description: Helm chart to deploy the langsmith application and all services it depends on. type: application -version: 0.7.11 +version: 0.7.10 appVersion: "0.7.45" From 7d15796fb060943bc6b1d794a7743a2cc7bec826 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 13:49:27 -0400 Subject: [PATCH 16/27] simplify --- charts/langsmith/templates/_helpers.tpl | 7 ++++--- charts/langsmith/templates/backend/auth-bootstrap.yaml | 7 +------ .../langsmith/templates/backend/clickhouse-migrations.yaml | 7 +------ charts/langsmith/templates/backend/deployment.yaml | 7 +------ .../langsmith/templates/backend/postgres-migrations.yaml | 7 +------ charts/langsmith/templates/clickhouse/stateful-set.yaml | 6 +----- charts/langsmith/templates/frontend/deployment.yaml | 6 +----- .../langsmith/templates/platform-backend/deployment.yaml | 6 +----- charts/langsmith/templates/playground/deployment.yaml | 6 +----- charts/langsmith/templates/postgres/stateful-set.yaml | 6 +----- charts/langsmith/templates/queue/deployment.yaml | 6 +----- charts/langsmith/templates/redis/stateful-set.yaml | 6 +----- 12 files changed, 15 insertions(+), 62 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 5e6083e..8628dcb 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -334,13 +334,14 @@ Template containing common environment variables that are used by several servic {{- end -}} {{- end -}} -{{/* Fail on duplicate keys in the inputted list */}} -{{- define "langsmith.detectDuplicates" -}} +{{/* Fail on duplicate keys in the inputted list on environment variables */}} +{{- define "langsmith-multitenant.detectDuplicates" -}} {{- $inputList := . -}} {{- $keyCounts := dict -}} {{- $duplicates := list -}} -{{- range $key := $inputList }} +{{- range $i, $val := $inputList }} + {{- $key := $val.name -}} {{- if hasKey $keyCounts $key }} {{- $_ := set $keyCounts $key (add (get $keyCounts $key) 1) -}} {{- else }} diff --git a/charts/langsmith/templates/backend/auth-bootstrap.yaml b/charts/langsmith/templates/backend/auth-bootstrap.yaml index 01abcf3..3994ceb 100644 --- a/charts/langsmith/templates/backend/auth-bootstrap.yaml +++ b/charts/langsmith/templates/backend/auth-bootstrap.yaml @@ -8,12 +8,7 @@ key: initial_org_admin_password {{- end -}} {{- if .Values.config.basicAuth.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "authBootstrapEnvVars" . | fromYamlArray) .Values.backend.authBootstrap.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "authBootstrapEnvVars" . | fromYamlArray) .Values.backend.authBootstrap.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/clickhouse-migrations.yaml b/charts/langsmith/templates/backend/clickhouse-migrations.yaml index a1390ed..7da7dff 100644 --- a/charts/langsmith/templates/backend/clickhouse-migrations.yaml +++ b/charts/langsmith/templates/backend/clickhouse-migrations.yaml @@ -1,10 +1,5 @@ {{- if .Values.backend.clickhouseMigrations.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/deployment.yaml b/charts/langsmith/templates/backend/deployment.yaml index c0266b9..4a14d50 100644 --- a/charts/langsmith/templates/backend/deployment.yaml +++ b/charts/langsmith/templates/backend/deployment.yaml @@ -6,12 +6,7 @@ value: /{{ . }}/api {{- end }} {{- end -}} -{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "backendEnvVars" . | fromYamlArray) .Values.backend.deployment.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "backendEnvVars" . | fromYamlArray) .Values.backend.deployment.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/backend/postgres-migrations.yaml b/charts/langsmith/templates/backend/postgres-migrations.yaml index d7414c1..066f0fc 100644 --- a/charts/langsmith/templates/backend/postgres-migrations.yaml +++ b/charts/langsmith/templates/backend/postgres-migrations.yaml @@ -1,10 +1,5 @@ {{- if .Values.backend.migrations.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.migrations.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.migrations.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/clickhouse/stateful-set.yaml b/charts/langsmith/templates/clickhouse/stateful-set.yaml index 0b505de..d8a38de 100644 --- a/charts/langsmith/templates/clickhouse/stateful-set.yaml +++ b/charts/langsmith/templates/clickhouse/stateful-set.yaml @@ -17,11 +17,7 @@ {{- end -}} {{- if not .Values.clickhouse.external.enabled }} {{- $envVars := concat .Values.commonEnv (include "clickhouseEnvVars" . | fromYamlArray) .Values.clickhouse.statefulSet.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/charts/langsmith/templates/frontend/deployment.yaml b/charts/langsmith/templates/frontend/deployment.yaml index 7560a5a..1e0086c 100644 --- a/charts/langsmith/templates/frontend/deployment.yaml +++ b/charts/langsmith/templates/frontend/deployment.yaml @@ -17,11 +17,7 @@ value: {{ .Values.ingress.subdomain }} {{- end }} {{- end -}} {{- $envVars := concat .Values.commonEnv (include "frontendEnvVars" . | fromYamlArray) .Values.frontend.deployment.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/platform-backend/deployment.yaml b/charts/langsmith/templates/platform-backend/deployment.yaml index 17bbf73..c934ebf 100644 --- a/charts/langsmith/templates/platform-backend/deployment.yaml +++ b/charts/langsmith/templates/platform-backend/deployment.yaml @@ -7,11 +7,7 @@ {{- end }} {{- end -}} {{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "platformBackendEnvVars" . | fromYamlArray) .Values.platformBackend.deployment.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/playground/deployment.yaml b/charts/langsmith/templates/playground/deployment.yaml index 1caae9f..fd2d821 100644 --- a/charts/langsmith/templates/playground/deployment.yaml +++ b/charts/langsmith/templates/playground/deployment.yaml @@ -1,9 +1,5 @@ {{- $envVars := concat .Values.commonEnv .Values.playground.deployment.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/postgres/stateful-set.yaml b/charts/langsmith/templates/postgres/stateful-set.yaml index e255ffc..03e71a0 100644 --- a/charts/langsmith/templates/postgres/stateful-set.yaml +++ b/charts/langsmith/templates/postgres/stateful-set.yaml @@ -19,11 +19,7 @@ {{- end -}} {{- if not .Values.postgres.external.enabled }} {{- $envVars := concat .Values.commonEnv (include "postgresEnvVars" . | fromYamlArray) .Values.postgres.statefulSet.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/charts/langsmith/templates/queue/deployment.yaml b/charts/langsmith/templates/queue/deployment.yaml index 6e8b15c..f2002b2 100644 --- a/charts/langsmith/templates/queue/deployment.yaml +++ b/charts/langsmith/templates/queue/deployment.yaml @@ -5,11 +5,7 @@ value: "3" {{- end -}} {{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "queueEnvVars" . | fromYamlArray) .Values.queue.deployment.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/redis/stateful-set.yaml b/charts/langsmith/templates/redis/stateful-set.yaml index 4d6018f..4b5814c 100644 --- a/charts/langsmith/templates/redis/stateful-set.yaml +++ b/charts/langsmith/templates/redis/stateful-set.yaml @@ -1,10 +1,6 @@ {{- if not .Values.redis.external.enabled }} {{- $envVars := concat .Values.commonEnv .Values.redis.statefulSet.extraEnv -}} -{{- $envKeys := list -}} -{{- range $envVars }} - {{- $envKeys = append $envKeys .name -}} -{{- end }} -{{- include "langsmith.detectDuplicates" $envKeys -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: StatefulSet metadata: From 57f0eaa9c8d5cd2061880b9a1903fb5e00ffd183 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 13:51:40 -0400 Subject: [PATCH 17/27] fix --- charts/langsmith/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 8628dcb..406c33a 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -335,7 +335,7 @@ Template containing common environment variables that are used by several servic {{- end -}} {{/* Fail on duplicate keys in the inputted list on environment variables */}} -{{- define "langsmith-multitenant.detectDuplicates" -}} +{{- define "langsmith.detectDuplicates" -}} {{- $inputList := . -}} {{- $keyCounts := dict -}} {{- $duplicates := list -}} From 22b96c20db9ef2a7e0f365b1a28a9261b911e5b2 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 14:14:41 -0400 Subject: [PATCH 18/27] bump version, move to config map --- charts/langsmith/Chart.yaml | 2 +- charts/langsmith/templates/_helpers.tpl | 5 ----- charts/langsmith/templates/config-map.yaml | 5 +++++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/langsmith/Chart.yaml b/charts/langsmith/Chart.yaml index 171ed29..a152bc9 100644 --- a/charts/langsmith/Chart.yaml +++ b/charts/langsmith/Chart.yaml @@ -5,5 +5,5 @@ maintainers: email: ankush@langchain.dev description: Helm chart to deploy the langsmith application and all services it depends on. type: application -version: 0.7.10 +version: 0.7.11 appVersion: "0.7.45" diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 406c33a..cdaf927 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -227,11 +227,6 @@ Template containing common environment variables that are used by several servic value: http://{{- include "langsmith.fullname" . }}-{{.Values.platformBackend.name}}:{{ .Values.platformBackend.service.port }} - name: SMITH_BACKEND_ENDPOINT value: http://{{- include "langsmith.fullname" . }}-{{.Values.backend.name}}:{{ .Values.backend.service.port }} -- name: X_SERVICE_AUTH_JWT_SECRET - valueFrom: - secretKeyRef: - name: {{ include "langsmith.secretsName" . }} - key: api_key_salt {{- if .Values.config.ttl.enabled }} - name: FF_TRACE_TIERS_ENABLED value: {{ .Values.config.ttl.enabled | quote }} diff --git a/charts/langsmith/templates/config-map.yaml b/charts/langsmith/templates/config-map.yaml index b7280cc..6adf3f8 100644 --- a/charts/langsmith/templates/config-map.yaml +++ b/charts/langsmith/templates/config-map.yaml @@ -25,3 +25,8 @@ data: {{- end }} LANGCHAIN_ENV: "local_kubernetes" GO_ENDPOINT: "http://{{ include "langsmith.fullname" . }}-{{ .Values.platformBackend.name }}:{{ .Values.platformBackend.service.port }}" + X_SERVICE_AUTH_JWT_SECRET: + valueFrom: + secretKeyRef: + name: {{ include "langsmith.secretsName" . }} + key: api_key_salt From 9b949b90e34b6b5aa69acfa573f045ba34b904fd Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 14:31:29 -0400 Subject: [PATCH 19/27] fix --- charts/langsmith/templates/_helpers.tpl | 13 +++++++++++++ charts/langsmith/templates/config-map.yaml | 5 ----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index cdaf927..8db2135 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -227,6 +227,19 @@ Template containing common environment variables that are used by several servic value: http://{{- include "langsmith.fullname" . }}-{{.Values.platformBackend.name}}:{{ .Values.platformBackend.service.port }} - name: SMITH_BACKEND_ENDPOINT value: http://{{- include "langsmith.fullname" . }}-{{.Values.backend.name}}:{{ .Values.backend.service.port }} +{{- $found := false -}} +{{- range .Values.commonEnv }} + {{- if eq .name "X_SERVICE_AUTH_JWT_SECRET" }} + {{- $found = true -}} + {{- end }} +{{- end }} +{{- if not $found }} +- name: X_SERVICE_AUTH_JWT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "langsmith.secretsName" . }} + key: api_key_salt +{{- end }} {{- if .Values.config.ttl.enabled }} - name: FF_TRACE_TIERS_ENABLED value: {{ .Values.config.ttl.enabled | quote }} diff --git a/charts/langsmith/templates/config-map.yaml b/charts/langsmith/templates/config-map.yaml index 6adf3f8..b7280cc 100644 --- a/charts/langsmith/templates/config-map.yaml +++ b/charts/langsmith/templates/config-map.yaml @@ -25,8 +25,3 @@ data: {{- end }} LANGCHAIN_ENV: "local_kubernetes" GO_ENDPOINT: "http://{{ include "langsmith.fullname" . }}-{{ .Values.platformBackend.name }}:{{ .Values.platformBackend.service.port }}" - X_SERVICE_AUTH_JWT_SECRET: - valueFrom: - secretKeyRef: - name: {{ include "langsmith.secretsName" . }} - key: api_key_salt From a7aca2892ad51e875eaefb8a22631f2d78774bd6 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 15:31:31 -0400 Subject: [PATCH 20/27] conditional env vars --- charts/langsmith/templates/_helpers.tpl | 42 +++++++++++++++++-------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 8db2135..4cee000 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -227,19 +227,6 @@ Template containing common environment variables that are used by several servic value: http://{{- include "langsmith.fullname" . }}-{{.Values.platformBackend.name}}:{{ .Values.platformBackend.service.port }} - name: SMITH_BACKEND_ENDPOINT value: http://{{- include "langsmith.fullname" . }}-{{.Values.backend.name}}:{{ .Values.backend.service.port }} -{{- $found := false -}} -{{- range .Values.commonEnv }} - {{- if eq .name "X_SERVICE_AUTH_JWT_SECRET" }} - {{- $found = true -}} - {{- end }} -{{- end }} -{{- if not $found }} -- name: X_SERVICE_AUTH_JWT_SECRET - valueFrom: - secretKeyRef: - name: {{ include "langsmith.secretsName" . }} - key: api_key_salt -{{- end }} {{- if .Values.config.ttl.enabled }} - name: FF_TRACE_TIERS_ENABLED value: {{ .Values.config.ttl.enabled | quote }} @@ -276,6 +263,7 @@ Template containing common environment variables that are used by several servic {{- end }} - name: FF_CH_SEARCH_ENABLED value: {{ .Values.config.blobStorage.chSearchEnabled | quote }} +{{- include "langsmith.conditionalEnvVarsResolved" . -}} {{- end }} {{- define "backend.serviceAccountName" -}} @@ -364,3 +352,31 @@ Template containing common environment variables that are used by several servic {{ fail (printf "Duplicate keys detected: %v" $duplicates) }} {{- end }} {{- end -}} + +{{/* Include these env vars if they aren't defined in .Values.commonEnv */}} +{{- define "langsmith.conditionalEnvVars" -}} +- name: X_SERVICE_AUTH_JWT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "langsmith.secretsName" . }} + key: api_key_salt +{{- end -}} +{{- define "langsmith.conditionalEnvVarsResolved" -}} + {{- $values := .Values -}} + {{- $envVars := include "langsmith.conditionalEnvVars" . | fromYamlArray -}} + + {{- range $i, $envVar := $envVars }} + {{- $found := false -}} + + {{- range $values.commonEnv }} + {{- if eq .name $envVar.name }} + {{- $found = true -}} + {{- end }} + {{- end }} + + # If the variable is not found in .Values.commonEnv, render it + {{- if not $found }} + {{ $envVar | toYaml }} + {{- end }} + {{- end }} +{{- end -}} From 2b38e3fe850791ad607b3209fc09f9637f8fbbaa Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 15:52:17 -0400 Subject: [PATCH 21/27] fix --- charts/langsmith/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 4cee000..0e739af 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -376,7 +376,7 @@ Template containing common environment variables that are used by several servic # If the variable is not found in .Values.commonEnv, render it {{- if not $found }} - {{ $envVar | toYaml }} + {{ $envVar | toYaml | nindent 2 }} {{- end }} {{- end }} {{- end -}} From 53baffa1c2918b81f4a91dfaca2ee8fe35d37c9a Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 15:55:18 -0400 Subject: [PATCH 22/27] whitespace --- charts/langsmith/templates/_helpers.tpl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 0e739af..0bd034f 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -263,7 +263,7 @@ Template containing common environment variables that are used by several servic {{- end }} - name: FF_CH_SEARCH_ENABLED value: {{ .Values.config.blobStorage.chSearchEnabled | quote }} -{{- include "langsmith.conditionalEnvVarsResolved" . -}} +{{ include "langsmith.conditionalEnvVarsResolved" . }} {{- end }} {{- define "backend.serviceAccountName" -}} @@ -360,7 +360,7 @@ Template containing common environment variables that are used by several servic secretKeyRef: name: {{ include "langsmith.secretsName" . }} key: api_key_salt -{{- end -}} +{{- end }} {{- define "langsmith.conditionalEnvVarsResolved" -}} {{- $values := .Values -}} {{- $envVars := include "langsmith.conditionalEnvVars" . | fromYamlArray -}} @@ -379,4 +379,4 @@ Template containing common environment variables that are used by several servic {{ $envVar | toYaml | nindent 2 }} {{- end }} {{- end }} -{{- end -}} +{{- end }} From 0da15dc660abf665a3787e95588a0169ae7f277a Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 16:43:05 -0400 Subject: [PATCH 23/27] simplify --- charts/langsmith/templates/_helpers.tpl | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 0bd034f..ed8b05b 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -362,20 +362,13 @@ Template containing common environment variables that are used by several servic key: api_key_salt {{- end }} {{- define "langsmith.conditionalEnvVarsResolved" -}} - {{- $values := .Values -}} + {{- $commonEnvKeys := list -}} + {{- range $i, $commonEnvVar := .Values.commonEnv -}} + {{- $commonEnvKeys = append $commonEnvKeys $commonEnvVar.name -}} + {{- end -}} {{- $envVars := include "langsmith.conditionalEnvVars" . | fromYamlArray -}} - {{- range $i, $envVar := $envVars }} - {{- $found := false -}} - - {{- range $values.commonEnv }} - {{- if eq .name $envVar.name }} - {{- $found = true -}} - {{- end }} - {{- end }} - - # If the variable is not found in .Values.commonEnv, render it - {{- if not $found }} + {{- if not (has $envVar.name $commonEnvKeys) }} {{ $envVar | toYaml | nindent 2 }} {{- end }} {{- end }} From a91501834f491d9a82f4cbae4bfa027490bb9213 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 16:47:43 -0400 Subject: [PATCH 24/27] spacing --- charts/langsmith/templates/backend/auth-bootstrap.yaml | 3 ++- charts/langsmith/templates/backend/clickhouse-migrations.yaml | 3 ++- charts/langsmith/templates/backend/deployment.yaml | 3 ++- charts/langsmith/templates/backend/postgres-migrations.yaml | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/charts/langsmith/templates/backend/auth-bootstrap.yaml b/charts/langsmith/templates/backend/auth-bootstrap.yaml index 3994ceb..30d443d 100644 --- a/charts/langsmith/templates/backend/auth-bootstrap.yaml +++ b/charts/langsmith/templates/backend/auth-bootstrap.yaml @@ -8,7 +8,8 @@ key: initial_org_admin_password {{- end -}} {{- if .Values.config.basicAuth.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "authBootstrapEnvVars" . | fromYamlArray) .Values.backend.authBootstrap.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) (include "authBootstrapEnvVars" . | fromYamlArray) .Values.backend.authBootstrap.extraEnv -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/clickhouse-migrations.yaml b/charts/langsmith/templates/backend/clickhouse-migrations.yaml index 7da7dff..dd5db7a 100644 --- a/charts/langsmith/templates/backend/clickhouse-migrations.yaml +++ b/charts/langsmith/templates/backend/clickhouse-migrations.yaml @@ -1,5 +1,6 @@ {{- if .Values.backend.clickhouseMigrations.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.clickhouseMigrations.extraEnv -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: batch/v1 kind: Job metadata: diff --git a/charts/langsmith/templates/backend/deployment.yaml b/charts/langsmith/templates/backend/deployment.yaml index 4a14d50..c8ba3f3 100644 --- a/charts/langsmith/templates/backend/deployment.yaml +++ b/charts/langsmith/templates/backend/deployment.yaml @@ -6,7 +6,8 @@ value: /{{ . }}/api {{- end }} {{- end -}} -{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "backendEnvVars" . | fromYamlArray) .Values.backend.deployment.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} +{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "backendEnvVars" . | fromYamlArray) .Values.backend.deployment.extraEnv -}} + {{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/charts/langsmith/templates/backend/postgres-migrations.yaml b/charts/langsmith/templates/backend/postgres-migrations.yaml index 066f0fc..ac24084 100644 --- a/charts/langsmith/templates/backend/postgres-migrations.yaml +++ b/charts/langsmith/templates/backend/postgres-migrations.yaml @@ -1,5 +1,6 @@ {{- if .Values.backend.migrations.enabled }} -{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.migrations.extraEnv -}}{{- include "langsmith.detectDuplicates" $envVars -}} +{{- $envVars := concat (include "langsmith.commonEnv" . | fromYamlArray) .Values.backend.migrations.extraEnv -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: batch/v1 kind: Job metadata: From f26dd2038b104dc0408a6a95192165994c7417a2 Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 17:09:11 -0400 Subject: [PATCH 25/27] fix --- charts/langsmith/templates/_helpers.tpl | 46 +++++++++++-------- .../templates/backend/deployment.yaml | 2 +- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index ed8b05b..272bc82 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -116,6 +116,32 @@ the user or some other secret provisioning mechanism {{- end }} {{- end }} +{{/* Include these env vars if they aren't defined in .Values.commonEnv */}} +{{- define "langsmith.conditionalEnvVars" -}} +- name: X_SERVICE_AUTH_JWT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "langsmith.secretsName" . }} + key: api_key_salt +{{- end }} +{{- define "langsmith.conditionalEnvVarsResolved" -}} + {{- $commonEnvKeys := list -}} + {{- range $i, $commonEnvVar := .Values.commonEnv -}} + {{- $commonEnvKeys = append $commonEnvKeys $commonEnvVar.name -}} + {{- end -}} + + {{- $resolvedEnvVars := list -}} + {{- range $i, $envVar := include "langsmith.conditionalEnvVars" . | fromYamlArray }} + {{- if not (has $envVar.name $commonEnvKeys) }} + {{- $resolvedEnvVars = append $resolvedEnvVars $envVar -}} + {{- end }} + {{- end }} + + {{- if gt (len $resolvedEnvVars) 0 -}} + {{ $resolvedEnvVars | toYaml }} + {{- end -}} +{{- end }} + {{/* Template containing common environment variables that are used by several services. @@ -353,23 +379,3 @@ Template containing common environment variables that are used by several servic {{- end }} {{- end -}} -{{/* Include these env vars if they aren't defined in .Values.commonEnv */}} -{{- define "langsmith.conditionalEnvVars" -}} -- name: X_SERVICE_AUTH_JWT_SECRET - valueFrom: - secretKeyRef: - name: {{ include "langsmith.secretsName" . }} - key: api_key_salt -{{- end }} -{{- define "langsmith.conditionalEnvVarsResolved" -}} - {{- $commonEnvKeys := list -}} - {{- range $i, $commonEnvVar := .Values.commonEnv -}} - {{- $commonEnvKeys = append $commonEnvKeys $commonEnvVar.name -}} - {{- end -}} - {{- $envVars := include "langsmith.conditionalEnvVars" . | fromYamlArray -}} - {{- range $i, $envVar := $envVars }} - {{- if not (has $envVar.name $commonEnvKeys) }} - {{ $envVar | toYaml | nindent 2 }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/langsmith/templates/backend/deployment.yaml b/charts/langsmith/templates/backend/deployment.yaml index c8ba3f3..b42f9b3 100644 --- a/charts/langsmith/templates/backend/deployment.yaml +++ b/charts/langsmith/templates/backend/deployment.yaml @@ -7,7 +7,7 @@ {{- end }} {{- end -}} {{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "backendEnvVars" . | fromYamlArray) .Values.backend.deployment.extraEnv -}} - {{- include "langsmith.detectDuplicates" $envVars -}} +{{- include "langsmith.detectDuplicates" $envVars -}} apiVersion: apps/v1 kind: Deployment metadata: From a985fd102aea5d3ec43bd4028a30a82047e315ec Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Thu, 24 Oct 2024 17:11:05 -0400 Subject: [PATCH 26/27] wording --- charts/langsmith/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/langsmith/templates/_helpers.tpl b/charts/langsmith/templates/_helpers.tpl index 272bc82..7db6fd3 100644 --- a/charts/langsmith/templates/_helpers.tpl +++ b/charts/langsmith/templates/_helpers.tpl @@ -356,7 +356,7 @@ Template containing common environment variables that are used by several servic {{- end -}} {{- end -}} -{{/* Fail on duplicate keys in the inputted list on environment variables */}} +{{/* Fail on duplicate keys in the inputted list of environment variables */}} {{- define "langsmith.detectDuplicates" -}} {{- $inputList := . -}} {{- $keyCounts := dict -}} From ef0030f93b89ff5f16ef9129a32bcc5c355c627f Mon Sep 17 00:00:00 2001 From: Brian Vander Schaaf Date: Mon, 28 Oct 2024 16:39:36 -0400 Subject: [PATCH 27/27] helm-docs --- charts/langsmith/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/langsmith/README.md b/charts/langsmith/README.md index a6feeb4..0df01bd 100644 --- a/charts/langsmith/README.md +++ b/charts/langsmith/README.md @@ -1,6 +1,6 @@ # langsmith -![Version: 0.7.10](https://img.shields.io/badge/Version-0.7.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.7.45](https://img.shields.io/badge/AppVersion-0.7.45-informational?style=flat-square) +![Version: 0.7.11](https://img.shields.io/badge/Version-0.7.11-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.7.45](https://img.shields.io/badge/AppVersion-0.7.45-informational?style=flat-square) Helm chart to deploy the langsmith application and all services it depends on.