From a0ed8e43e16d28bf3645841e71f4d6afc26b33ed Mon Sep 17 00:00:00 2001 From: Jim Schaff Date: Wed, 12 Aug 2026 14:49:49 -0400 Subject: [PATCH] fix(k8s): serve the LiteLLM dashboard favicon The dashboard requests its favicon at an absolute /get_favicon, which escaped the /kartik prefix and hit the Next.js frontend, so the tab icon was blank. LiteLLM's startup pass only rewrites asset paths built under its asset prefix ("/litellm-asset-prefix", proxy_server.py:1711) -- that's why the _next chunks came out as /kartik/_next/... while this href did not. LITELLM_FAVICON_URL doesn't help: it changes what /get_favicon serves, not the unprefixed href in the HTML. Route the exact path to litellm instead. The name is LiteLLM-specific so no frontend route is shadowed, and reaching LiteLLM unprefixed is fine because root_path only strips /kartik when it is actually present. Leaves /favicon.ico alone -- that is the main site's icon path, and hijacking it would put the LiteLLM icon on all of VCell-AI. It 404s for the frontend today, which is a pre-existing gap unrelated to /kartik. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_0174W6CHp7FMt7c9sKdBhbp1 --- kustomize/overlays/vcell-ai-rke-dev/ingress.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/kustomize/overlays/vcell-ai-rke-dev/ingress.yaml b/kustomize/overlays/vcell-ai-rke-dev/ingress.yaml index aa90ddd..b975b26 100644 --- a/kustomize/overlays/vcell-ai-rke-dev/ingress.yaml +++ b/kustomize/overlays/vcell-ai-rke-dev/ingress.yaml @@ -78,6 +78,20 @@ spec: name: litellm port: number: 4000 + # The dashboard asks for its favicon at an absolute /get_favicon. + # LiteLLM only prefix-rewrites assets built under its asset prefix + # ("/litellm-asset-prefix"), and this href isn't one of them, so it + # escapes /kartik and hits the frontend. Exact match, and the name is + # LiteLLM-specific, so nothing of the Next.js app is shadowed. + # Reaching LiteLLM unprefixed is fine: root_path only strips /kartik + # when it's actually present. + - path: /get_favicon + pathType: Exact + backend: + service: + name: litellm + port: + number: 4000 --- apiVersion: networking.k8s.io/v1 kind: Ingress