Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/langsmith/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.13.18
version: 0.13.19
appVersion: "0.13.20"
6 changes: 5 additions & 1 deletion charts/langsmith/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# langsmith

![Version: 0.13.18](https://img.shields.io/badge/Version-0.13.18-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.13.20](https://img.shields.io/badge/AppVersion-0.13.20-informational?style=flat-square)
![Version: 0.13.19](https://img.shields.io/badge/Version-0.13.19-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.13.20](https://img.shields.io/badge/AppVersion-0.13.20-informational?style=flat-square)

Helm chart to deploy the langsmith application and all services it depends on.

Expand Down Expand Up @@ -289,6 +289,8 @@ For information on how to use this chart, up-to-date release notes, and other gu
| config.agentBuilder.oauth.slackOAuthProvider | string | `""` | |
| config.agentBuilder.oauth.slackSigningSecret | string | `""` | |
| config.agentBuilder.oauthProviderOrgId | string | `""` | |
| config.agentBuilder.standalone.agentUrl | string | `""` | URL of the standalone Agent Builder deployment |
| config.agentBuilder.standalone.enabled | bool | `false` | |
| config.apiKeySalt | string | `""` | Salt used to generate the API key. Should be a random string. |
| config.authType | string | `""` | Must be 'oauth' for OAuth with PKCE, 'mixed' for basic auth or OAuth without PKCE |
| config.basePath | string | `""` | Base path for the LangSmith installation. Used to serve the app under a subpath like example.com/langsmith. WARNING: Changing basePath after LangGraph Platform deployments have been created will break existing deployments. Existing deployments will need to be recreated for the new basePath to take effect. |
Expand Down Expand Up @@ -332,6 +334,8 @@ For information on how to use this chart, up-to-date release notes, and other gu
| config.insights.agent.resources.minScale | int | `1` | |
| config.insights.enabled | bool | `false` | |
| config.insights.encryptionKey | string | `""` | |
| config.insights.standalone.agentUrl | string | `""` | URL of the standalone Insights (Clio) deployment |
| config.insights.standalone.enabled | bool | `false` | |
| config.langsmithLicenseKey | string | `""` | |
| config.logLevel | string | `"info"` | |
| config.oauth.enabled | bool | `false` | |
Expand Down
18 changes: 14 additions & 4 deletions charts/langsmith/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -461,6 +461,14 @@ Template containing common environment variables that are used by several servic
key: insights_encryption_key
optional: false
{{- end }}
{{- if and .Values.config.agentBuilder.standalone.enabled .Values.config.agentBuilder.standalone.agentUrl }}
- name: LANGGRAPH_API_URL_PUBLIC
value: {{ .Values.config.agentBuilder.standalone.agentUrl | quote }}
{{- end }}
{{- if and .Values.config.insights.standalone.enabled .Values.config.insights.standalone.agentUrl }}
- name: CLIO_LANGGRAPH_URL
value: {{ .Values.config.insights.standalone.agentUrl | quote }}
{{- end }}
{{- end }}


Expand Down Expand Up @@ -595,21 +603,23 @@ Template containing common environment variables that are used by several servic

{{- define "agentBootstrap.createAgentProducts" -}}
{{- $createProducts := list }}
{{- if .Values.config.agentBuilder.enabled }}
{{- /* Create in-cluster agent only when enabled and NOT using standalone */ -}}
{{- if and .Values.config.agentBuilder.enabled (not .Values.config.agentBuilder.standalone.enabled) }}
{{- $createProducts = append $createProducts "agent_builder" }}
{{- end }}
{{- if .Values.config.insights.enabled }}
{{- if and .Values.config.insights.enabled (not .Values.config.insights.standalone.enabled) }}
{{- $createProducts = append $createProducts "insights" }}
{{- end }}
{{ toYaml $createProducts }}
{{- end -}}

{{- define "agentBootstrap.destroyAgentProducts" -}}
{{- $destroyProducts := list }}
{{- if not .Values.config.agentBuilder.enabled }}
{{- /* Destroy when disabled OR when standalone is enabled (use external agent instead) */ -}}
{{- if or (not .Values.config.agentBuilder.enabled) .Values.config.agentBuilder.standalone.enabled }}
{{- $destroyProducts = append $destroyProducts "agent_builder" }}
{{- end }}
{{- if not .Values.config.insights.enabled }}
{{- if or (not .Values.config.insights.enabled) .Values.config.insights.standalone.enabled }}
{{- $destroyProducts = append $destroyProducts "insights" }}
{{- end }}
{{ toYaml $destroyProducts }}
Expand Down
14 changes: 14 additions & 0 deletions charts/langsmith/templates/frontend/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,20 @@
- name: VITE_HOST_ENABLED
value: "1"
{{- end }}
{{- if and .Values.config.agentBuilder.standalone.enabled .Values.config.agentBuilder.standalone.agentUrl }}
- name: VITE_AGENT_BUILDER_DEPLOYMENT_URL_PUBLIC
value: {{ .Values.config.agentBuilder.standalone.agentUrl | quote }}
- name: VITE_AGENT_BUILDER_GENERATOR_DEPLOYMENT_URL_PUBLIC
value: {{ .Values.config.agentBuilder.standalone.agentUrl | quote }}
{{- if and .Values.config.hostname .Values.agentBuilderToolServer.enabled }}
- name: VITE_AGENT_BUILDER_MCP_SERVER_URL
value: {{ .Values.config.hostname }}/mcp
{{- end }}
{{- if and .Values.config.hostname .Values.agentBuilderTriggerServer.enabled }}
- name: VITE_AGENT_BUILDER_TRIGGERS_API_URL
value: {{ .Values.config.hostname | quote }}
{{- end }}
{{- end }}
{{- end -}}
{{- $envVars := concat .Values.commonEnv (include "frontendEnvVars" . | fromYamlArray) .Values.frontend.deployment.extraEnv -}}
{{- include "langsmith.detectDuplicates" $envVars -}}
Expand Down
4 changes: 4 additions & 0 deletions charts/langsmith/templates/platform-backend/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
- name: DOCS_PREFIX
value: /{{ . }}/api
{{- end }}
{{- if and .Values.config.oauth.enabled .Values.config.hostname (or .Values.config.agentBuilder.standalone.enabled .Values.config.insights.standalone.enabled) }}
- name: OAUTH_COOKIE_DOMAIN
value: {{ include "langsmith.hostnameWithoutProtocol" . | quote }}
{{- end }}
{{- end -}}
{{- $envVars := concat .Values.commonEnv (include "langsmith.commonEnv" . | fromYamlArray) (include "platformBackendEnvVars" . | fromYamlArray) .Values.platformBackend.deployment.extraEnv -}}
{{- include "langsmith.detectDuplicates" $envVars -}}
Expand Down
8 changes: 8 additions & 0 deletions charts/langsmith/templates/validate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,14 @@ AWS Marketplace Helm template verification).
{{- fail "config.insights.encryptionKey is required when Insights is enabled. Generate one with: python -c \"from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())\"" -}}
{{- end -}}

{{- /* Validate standalone: agentUrl required when enabled */ -}}
{{- if and .Values.config.agentBuilder.standalone.enabled (not .Values.config.agentBuilder.standalone.agentUrl) -}}
{{- fail "config.agentBuilder.standalone.agentUrl is required when config.agentBuilder.standalone.enabled is true." -}}
{{- end -}}
{{- if and .Values.config.insights.standalone.enabled (not .Values.config.insights.standalone.agentUrl) -}}
{{- fail "config.insights.standalone.agentUrl is required when config.insights.standalone.enabled is true." -}}
{{- end -}}

{{- /* Validate autoscaling configuration for all services */ -}}
{{- $autoscalingServices := dict
"aceBackend" .Values.aceBackend.autoscaling
Expand Down
8 changes: 8 additions & 0 deletions charts/langsmith/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,10 @@ config:
# Fernet encryption key for Insights. Required when enabled.
# Generate with: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
encryptionKey: ""
standalone:
enabled: false
# -- URL of the standalone Insights (Clio) deployment
agentUrl: ""
agent:
resources:
cpu: 2
Expand Down Expand Up @@ -173,6 +177,10 @@ config:
slackOAuthProvider: ""
slackSigningSecret: ""
slackBotId: ""
standalone:
enabled: false
# -- URL of the standalone Agent Builder deployment
agentUrl: ""
agent:
resources:
cpu: 2
Expand Down