Files
langgraph/docs/docs/cloud/deployment/self_hosted_data_plane.md
T
Andrew NguonlyandGitHub 3878addbe0 docs: Refactor content for new LangGraph Platform deployment options (#4118)
### Summary
This is a large refactor of the content for the LangGraph Platform
deployment options. Although there are a lot of changes, I do feel
fairly confident that this is safe to merge and won't have any negative
impact related to confusion around deployment options. However, please
review thoroughly (i.e. run the docs locally).

### Goals and Non-Goals
Just wanted to explicitly state goals and non-goals so that we're clear
about what needs to be done now versus what can be done in a smaller
follow-up PR.

Goals
1. Add new content for the new deployment options (Self-Hosted Data
Plane, Self-Hosted Control Plane).
1. Hide old content for deprecated deployment options (BYOC).
1. Create a pair of "conceptual" and "how-to" pages for each deployment
option. As much as possible, the pages should have consistent headings.
1. Introduce the terms "control plane" and "data plane" and define them
plainly without hiding/abstracting information.

Non-Goals
1. Do not change the navigation of the existing deployment options. As
much as possible, update content in-place or add new pages. Changing the
navigation is a bigger task that can be done later.
1. Do not remove old content for deprecated deployment options. We may
need to refer to this later. There are only ~2 pages (I think).

### Next Steps
1. Update the architecture diagrams for each deployment option. Commit
Excalidraw file to source control.
1. Create a "how-to" page for the Control Plane UI. This page pertains
to 3/4 deployment options. Most of the content lives in the "how-to"
page for Cloud SaaS deployment.
1. Document required RBAC permissions for K8s for Self-Hosted Data Plane
and Self-Hosted Control Plane (and update links).
1. Figure out how to consolidate plan information.
1. Figure out where to document licensing, telemetry, custom
Postgres/Redis.
1. Update autoscaling content.
2025-04-02 06:51:14 -07:00

2.9 KiB

How to Deploy Self-Hosted Data Plane

Before deploying, review the conceptual guide for the Self-Hosted Data Plane deployment option.

Prerequisites

  1. Use the LangGraph CLI to test your application locally.
  2. Use the LangGraph CLI to build a Docker image (i.e. langgraph build) and push it to a registry your Kubernetes cluster or Amazon ECS cluster has access to.

Kubernetes

Prerequisites

  1. KEDA is installed on your cluster.

     helm repo add kedacore https://kedacore.github.io/charts 
     helm install keda kedacore/keda --namespace keda --create-namespace
    
  2. A valid Ingress controller is install on your cluster.

  3. You have slack space in your cluster for multiple deployments. Cluster-Autoscaler is recommended to automatically provision new nodes.

Setup

  1. You give us your LangSmith organization ID. We will enable the Self-Hosted Data Plane for your organization.

  2. We provide you a Helm chart which you run to setup your Kubernetes cluster. This chart contains a few important components.

    1. langgraph-listener: This is a service that listens to LangChain's control plane for changes to your deployments and creates/updates downstream CRDs.
    2. LangGraphPlatform CRD: A CRD for LangGraph Platform deployments. This contains the spec for managing an instance of a LangGraph Platform deployment.
    3. langgraph-platform-operator: This operator handles changes to your LangGraph Platform CRDs.
  3. Configure your langgraph-dataplane-values.yaml file.

     config:
       langgraphPlatformLicenseKey: "" # Your LangGraph Platform license key
       langsmithApiKey: "" # API Key of your Workspace
       langsmithWorkspaceId: "" # Workspace ID
       hostBackendUrl: "https://api.host.langchain.com" # Only override this if on EU
       smithBackendUrl: "https://api.smith.langchain.com" # Only override this if on EU
    
  4. Deploy langgraph-dataplane Helm chart.

     helm repo add langchain https://langchain-ai.github.io/helm/
     helm repo update
     helm upgrade -i langgraph-dataplane langchain/langgraph-dataplane --values langgraph-dataplane-values.yaml
    
  5. If successful, you will see two services start up in your namespace.

     NAME                                          READY   STATUS              RESTARTS   AGE
     langgraph-dataplane-listener-7fccd788-wn2dx   0/1     Running             0          9s
     langgraph-dataplane-redis-0                   0/1     ContainerCreating   0          9s
    
  6. You create a deployment from the Control Plane UI.

Amazon ECS

Coming soon!