You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update docs with some changes for v12 (#1097)
In V12, we are moving some parameters around to support the new naming
conventions. Also update docs with gateway/istio support.
Closes INF-1019
---------
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Kathryn May <[email protected]>
Copy file name to clipboardExpand all lines: src/langsmith/deploy-self-hosted-full-platform.mdx
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,8 +36,8 @@ This guide builds on top of the [Kubernetes installation guide](/langsmith/kuber
36
36
helm install keda kedacore/keda --namespace keda --create-namespace
37
37
```
38
38
6. Ingress Configuration
39
-
1. You must set up an ingress for your LangSmith instance. All agents will be deployed as Kubernetes services behind this ingress. Use this guide to [set up an ingress](/langsmith/self-host-ingress) for your instance.
40
-
7. You have slack space in your cluster for multiple deployments. `Cluster-Autoscaler` is recommended to automatically provision new nodes.
39
+
1. You must set up an ingress, gateway, or use Istio for your LangSmith instance. All agents will be deployed as Kubernetes services behind this ingress. Use this guide to [set up an ingress](/langsmith/self-host-ingress) for your instance.
40
+
7. You must have slack space in your cluster for multiple deployments. `Cluster-Autoscaler` is recommended to automatically provision new nodes.
41
41
8. A valid Dynamic PV provisioner or PVs available on your cluster. You can verify this by running:
42
42
```bash
43
43
kubectl get storageclass
@@ -60,9 +60,12 @@ This guide builds on top of the [Kubernetes installation guide](/langsmith/kuber
3. In your config file for langsmith (usually `langsmith_config.yaml`), enable the `langgraphPlatform` option. Note that you must also have a valid ingress setup:
63
+
3. In your config file for langsmith (usually `langsmith_config.yaml`), enable the `deployment` option. Note that you must also have a valid ingress setup:
64
64
```bash
65
65
config:
66
+
deployment:
67
+
enabled: true
68
+
# As of v0.12.0, this section is deprecated. Use config.deployment for any version after v0.12.0.
Copy file name to clipboardExpand all lines: src/langsmith/self-host-ingress.mdx
+97-5Lines changed: 97 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,20 +3,23 @@ title: Create an Ingress for installations (Kubernetes)
3
3
sidebarTitle: Create an Ingress for installations (Kubernetes)
4
4
---
5
5
6
-
By default, LangSmith will provision a LoadBalancer service for the `langsmith-frontend`. Depending on your cloud provider, this may result in a public IP address being assigned to the service. If you would like to use a custom domain or have more control over the routing of traffic to your LangSmith installation, you can configure an Ingress.
6
+
By default, LangSmith will provision a LoadBalancer service for the `langsmith-frontend`. Depending on your cloud provider, this may result in a public IP address being assigned to the service. If you would like to use a custom domain or have more control over the routing of traffic to your LangSmith installation, you can configure an Ingress, Gateway API, or Istio Gateway.
7
7
8
8
## Requirements
9
9
10
10
* An existing Kubernetes cluster
11
-
* An existing Ingress Controller installed in your Kubernetes cluster
11
+
* One of the following installed in your Kubernetes cluster:
12
+
* An Ingress Controller (for standard Ingress)
13
+
* Gateway API CRDs and a Gateway resource (for Gateway API)
14
+
* Istio (for Istio Gateway)
12
15
13
16
## Parameters
14
17
15
18
You may need to provide certain parameters to your LangSmith installation to configure the Ingress. Additionally, we will want to convert the `langsmith-frontend` service to a ClusterIP service.
16
19
17
20
**Hostname (optional)*: The hostname that you would like to use for your LangSmith installation. E.g `"langsmith.example.com"`. If you leave this empty, the ingress will serve all traffic to the LangSmith installation.
18
21
19
-
**Subdomain (optional)*: If you would like to serve LangSmith under a URL path, you can specify it here. For example, adding `"langsmith"` will serve the application at `"example.hostname.com/langsmith"`. This will apply to UI paths as well as API endpoints.
22
+
**BasePath (optional)*: If you would like to serve LangSmith under a URL basePath, you can specify it here. For example, adding `"langsmith"` will serve the application at `"example.hostname.com/langsmith"`. This will apply to UI paths as well as API endpoints.
20
23
21
24
**IngressClassName (optional)*: The name of the Ingress class that you would like to use. If not set, the default Ingress class will be used.
22
25
@@ -44,13 +47,20 @@ You may need to provide certain parameters to your LangSmith installation to con
44
47
45
48
## Configuration
46
49
50
+
You can configure your LangSmith instance to use one of three routing options: standard Ingress, Gateway API, or Istio Gateway. Choose the option that best fits your infrastructure.
51
+
52
+
### Option 1: Standard Ingress
53
+
47
54
With these parameters in hand, you can configure your LangSmith instance to use an Ingress. You can do this by modifying the `config.yaml` file for your LangSmith Helm Chart installation.
48
55
49
56
```yaml
57
+
config:
58
+
hostname: "" # Main domain for LangSmith
59
+
basePath: "" # If you want to serve langsmith under a URL base path (e.g., /langsmith)
50
60
ingress:
51
61
enabled: true
52
-
hostname: "" # Main domain for LangSmith
53
-
subdomain: "" # If you want to serve langsmith on a subdomain
62
+
hostname: "" # Deprecated: Use config.hostname instead after v0.12.0
63
+
subdomain: "" # Deprecated: Use config.hostname instead after v0.12.0
54
64
ingressClassName: "" # If not set, the default ingress class will be used
If you do not have automated DNS setup, you will need to add the IP address to your DNS provider manually.
78
88
</Warning>
89
+
90
+
### Option 2: Gateway API
91
+
92
+
<Note>
93
+
Gateway API support is available as of LangSmith v0.12.0
94
+
</Note>
95
+
96
+
If your cluster uses the [Kubernetes Gateway API](https://gateway-api.sigs.k8s.io/), you can configure LangSmith to provision HTTPRoute resources. This will create an HTTPRoute for LangSmith and an HTTPRoute for each [agent deployment](/langsmith/deployments).
97
+
98
+
#### Parameters
99
+
100
+
* *name (required)*: The name of the Gateway resource to reference
101
+
* *namespace (required)*: The namespace where the Gateway resource is located
102
+
* *hostname (optional)*: The hostname that you would like to use for your LangSmith installation. E.g `"langsmith.example.com"`
103
+
* *basePath (optional)*: If you would like to serve LangSmith under a base path, you can specify it here. E.g "example.com/langsmith"
104
+
* *sectionName (optional)*: The name of a specific listener section in the Gateway to use
105
+
* *annotations (optional)*: Additional annotations to add to the HTTPRoute resources
106
+
* *labels (optional)*: Additional labels to add to the HTTPRoute resources
107
+
108
+
#### Configuration
109
+
110
+
```yaml
111
+
config:
112
+
hostname: "" # Main domain for LangSmith
113
+
basePath: "" # If you want to serve langsmith under a base path. E.g "example.com/langsmith"
114
+
gateway:
115
+
enabled: true
116
+
name: "my-gateway" # Name of your Gateway resource
117
+
namespace: "gateway-system" # Namespace of your Gateway resource
118
+
sectionName: "" # Optional: specific listener section name
119
+
annotations: {} # Add annotations here if needed
120
+
labels: {} # Add labels here if needed
121
+
frontend:
122
+
service:
123
+
type: ClusterIP
124
+
```
125
+
126
+
Once configured, you can check the status of your HTTPRoutes:
127
+
128
+
```bash
129
+
kubectl get httproute
130
+
```
131
+
132
+
### Option 3: Istio Gateway
133
+
134
+
<Note>
135
+
Istio Gateway support is available as of LangSmith v0.12.0
136
+
</Note>
137
+
138
+
If your cluster uses [Istio](https://istio.io/), you can configure LangSmith to provision VirtualService resources. This will create a VirtualService for LangSmith and a VirtualService for each [agent deployment](/langsmith/deployments).
139
+
140
+
#### Parameters
141
+
142
+
* *name (optional)*: The name of the Istio Gateway resource to reference. Defaults to `"istio-gateway"`
143
+
* *namespace (optional)*: The namespace where the Istio Gateway resource is located. Defaults to `"istio-system"`
144
+
* *hostname (optional)*: The hostname that you would like to use for your LangSmith installation. E.g `"langsmith.example.com"`
145
+
* *basePath (optional)*: If you would like to serve LangSmith under a base path, you can specify it here. E.g "example.com/langsmith"
146
+
* *annotations (optional)*: Additional annotations to add to the VirtualService resources
147
+
* *labels (optional)*: Additional labels to add to the VirtualService resources
148
+
149
+
#### Configuration
150
+
151
+
```yaml
152
+
config:
153
+
hostname: "" # Main domain for LangSmith
154
+
basePath: "" # If you want to serve langsmith on a separate basePath. E.g "example.com/langsmith"
155
+
istioGateway:
156
+
enabled: true
157
+
name: "istio-gateway" # Name of your Istio Gateway resource
158
+
namespace: "istio-system" # Namespace of your Istio Gateway resource
159
+
annotations: {} # Add annotations here if needed
160
+
labels: {} # Add labels here if needed
161
+
frontend:
162
+
service:
163
+
type: ClusterIP
164
+
```
165
+
166
+
Once configured, you can check the status of your VirtualServices:
0 commit comments