From 27a2a6a7b37833b4f694012d7e59abd8c07a02bb Mon Sep 17 00:00:00 2001 From: mubashir1osmani Date: Thu, 16 Jul 2026 15:21:49 -0700 Subject: [PATCH] docs(e2e): prefer single path-routing host for control plane and UI CONTROL_PLANE and UI already default to PROXY_BASE_URL; clarify that stage should set one ALB host rather than three endpoints --- tests/e2e/e2e_config.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/tests/e2e/e2e_config.py b/tests/e2e/e2e_config.py index ab554d0edaa..2e68360c53a 100644 --- a/tests/e2e/e2e_config.py +++ b/tests/e2e/e2e_config.py @@ -10,13 +10,10 @@ import uuid PROXY_BASE_URL = os.environ.get("LITELLM_PROXY_URL", "http://localhost:4000").rstrip("/") MASTER_KEY = os.environ.get("LITELLM_MASTER_KEY", "sk-1234") -# Control-plane (management/admin) base URL. In a split control-plane/data-plane -# deployment the LLM data plane (PROXY_BASE_URL: /chat, /embeddings, native -# passthrough) and the management API (keys, users, teams, orgs, budgets, spend, -# model info, /openapi.json) are served by *different* services. The suite drives -# both through one Transport that routes by path (see transport.SplitTransport). -# Defaults to PROXY_BASE_URL so a monolithic proxy serving everything on one URL -# behaves exactly as before. +# Control-plane (management/admin) base URL. Defaults to PROXY_BASE_URL so a +# single path-routing host (stage ALB, compose monolith) works for both planes. +# Set LITELLM_CONTROL_PLANE_URL only when management is a different base than +# the LLM host and you are not going through an ingress that path-routes. CONTROL_PLANE_BASE_URL = os.environ.get( "LITELLM_CONTROL_PLANE_URL", PROXY_BASE_URL ).rstrip("/") @@ -24,10 +21,8 @@ CONTROL_PLANE_BASE_URL = os.environ.get( UI_USERNAME = os.environ.get("E2E_UI_USERNAME", "admin") UI_PASSWORD = os.environ.get("E2E_UI_PASSWORD", MASTER_KEY) -# Dashboard base URL for playwright. On split stage the ingress ALB routes -# /ui to the litellm-ui pod; the data-plane gateway ClusterIP 404s /ui. Set -# E2E_UI_BASE_URL to the ALB (or any host that path-routes /ui to the UI). -# Defaults to PROXY_BASE_URL so compose/monolith (proxy-served /ui) still works. +# Dashboard base for playwright. Defaults to PROXY_BASE_URL so one ALB/monolith +# host covers /ui as well. Override E2E_UI_BASE_URL only if the UI is elsewhere. UI_BASE_URL = os.environ.get("E2E_UI_BASE_URL", PROXY_BASE_URL).rstrip("/") CHEAP_ANTHROPIC_MODEL = os.environ.get("E2E_CHEAP_ANTHROPIC_MODEL", "claude-haiku-4-5")