Files
litellm/tests/code_coverage_tests/liccheck.ini
T
Yassin Kortam 014cb8fa9d feat: add componentized proxy deployment with gateway, backend, ui, and migrations (#27557)
Split the monolithic LiteLLM proxy into independently scalable Kubernetes components to allow separate horizontal scaling of the LLM data plane and management API surfaces

- Add DatabaseURLSettings pydantic-settings model that assembles DATABASE_URL (and optional DATABASE_URL_READ_REPLICA) from discrete DATABASE_* env vars before Prisma initializes, supporting both IAM token auth (minting short-lived RDS tokens) and password auth; replaces the CLI-only path that componentized entrypoints bypass
- Add gateway component (port 4000) that trims the proxy route table to the LLM data-plane surface (chat, embeddings, completions, audio, realtime, provider passthroughs, health/metrics) via an allowlist applied inside the lifespan context so plugin-registered routes are captured
- Add backend component (port 4001) that exposes the management/admin surface (keys, users, teams, orgs, spend analytics, model management, SSO, audit logs) with a complementary allowlist
- Add ui component — Next.js static export served by nginx (port 3000) with RSC payload routing, asset prefix aliasing, and SPA fallback for dashboard routes
- Add migrations component with dedicated Dockerfile that runs prisma migrate deploy via a Helm pre-install/pre-upgrade Job, eliminating per-pod schema contention on the Prisma advisory lock
- Add Helm chart (helm/litellm) with separate Deployments, Services, HPAs, and ConfigMap for each component; shared _helpers.tpl emits DATABASE_*, IAM_TOKEN_DB_AUTH, REDIS_*, and DISABLE_SCHEMA_UPDATE env vars from chart values; ingress template routes traffic to the correct component by path prefix
- Add comprehensive tests for DatabaseURLSettings covering IAM auth, password auth, read replica fallbacks, operator-pinned URL preservation, and percent-encoding; add coverage test asserting gateway + backend allowlist union equals the full proxy route set
- Add pydantic-settings>=2.14.1 as a proxy extra dependency and update liccheck allowlist

Co-authored-by: Yassin Kortam <yassinkortam@g.ucla.edu>
2026-05-16 09:25:17 -07:00

176 lines
6.4 KiB
INI

# Authorized and unauthorized licenses in LOWER CASE
[Licenses]
authorized_licenses:
######################
# Permissive Licenses
######################
# Apache-2.0
apache
apache 2.0
apache-2.0
apache software license
apache software
apache license v2.0
apache license 2.0
apache license, version 2.0
# BSD
bsd
new bsd
bsd license
new bsd license
simplified bsd
3-clause bsd
freebsd
bsd 3-clause
# MIT
mit
mit license
# ISC
isc license
isc license (iscl)
# The Unlicense
the unlicense (unlicense)
# HPND
historical permission notice and disclaimer (hpnd)
#########################
# Weak Copy Left Licenses
#########################
# MPL-2.0
mozilla public license 2.0 (mpl 2.0)
# LGPL
gnu lesser general public license v2 or later (lgplv2+)
gnu lgpl
lgpl with exceptions or zpl
gnu library or lesser general public license (lgpl)
gnu lesser general public license v3 (lgplv3)
gnu general public license v2 (gplv2)
# PSF-2.0
python software foundation
python software foundation license
unauthorized_licenses:
###########################
# Strong Copy Left Licenses
###########################
gpl v3
[Authorized Packages]
# Apache-2.0 https://github.com/chroma-core/hnswlib#Apache-2.0-1-ov-file
chroma-hnswlib: >=0.7.3
# MIT https://github.com/facebookresearch/iopath?tab=MIT-1-ov-file#readme
iopath: >=0.1.10
# BSD https://github.com/PDFium/PDFium?tab=BSD-3-Clause-1-ov-file#readme
pypdfium2: >=4.30.0
# MIT https://github.com/voyage-ai/voyageai-python?tab=MIT-1-ov-file#readme
voyageai: >=0.2.3
# OpenLDAP Public License, which is a permissive BSD style license
# https://github.com/jnwatson/py-lmdb/?tab=License-1-ov-file#readme
lmdb: >=1.5.1
openai: >=1.1.0 # APACHE 2.0 License
httpx: >=0.25.0 # BSD 3-Clause License
fastapi: >=0.115.5 # MIT License
starlette: >=0.47.2 # MIT License
uvicorn: >=0.29.0 # BSD 3-Clause License
anthropic: >=0.21.3 # MIT License
detect-secrets: >=1.5.0 # MIT License
importlib-metadata: >=6.8.0 # Apache 2.0 License
tokenizers: >=0.20.2 # Apache 2.0 License
jinja2: >=3.1.4 # BSD 3-Clause License
litellm-proxy-extras: >=0.1.1 # MIT License
litellm-enterprise: >=0.1.1 # LiteLLM Enterprise License
a2a-sdk: >=0.3.22 # Apache 2.0 license
pydantic-settings: >=2.14.1 # MIT License manually verified (uses PEP 639 License-Expression: MIT, not the legacy License field, so liccheck reports it as unknown)
anyio: >=4.5.0 # Unknown license
httpx-aiohttp: >=0.1.4 # Unknown license
backoff: >=2.2.1 # Unknown license
pyyaml: >=6.0.2 # Unknown license
gunicorn: >=23.0.0 # Unknown license
uvloop: >=0.21.0 # Unknown license
boto3: >=1.34.34 # Unknown license
redis: >=5.2.1 # Unknown license
prisma: >=0.11.0 # Unknown license
mangum: >=0.17.0 # Unknown license
pynacl: >=1.5.0 # Unknown license
google-cloud-aiplatform: >=1.47.0 # Unknown license
mcp: >=1.5.0 # Unknown license
google-generativeai: >=0.5.0 # Unknown license
async_generator: >=1.10.0 # Unknown license
wheel: >=0.40.0 # MIT License - https://github.com/pypa/wheel/blob/main/LICENSE.txt
langfuse: >=2.45.0 # Unknown license
prometheus_client: >=0.20.0 # Unknown license
ddtrace: >=2.19.0 # Unknown license
orjson: >=3.10.12 # Unknown license
apscheduler: >=3.10.4 # Unknown license
fastapi-sso: >=0.16.0 # Unknown license
filelock: >=3.20.0 # Unlicense (public domain) - https://unlicense.org / https://github.com/tox-dev/filelock
pyjwt: >=2.9.0 # Unknown license
python-multipart: >=0.0.20 # Unknown license
pillow: >=11.0.0 # Unknown license
azure-ai-contentsafety: >=1.0.0 # Unknown license
azure-identity: >=1.16.1 # Unknown license
azure-storage-file-datalake: >=12.20.0 # Unknown license
opentelemetry-api: >=1.25.0 # Unknown license
opentelemetry-sdk: >=1.25.0 # Unknown license
opentelemetry-exporter-otlp: >=1.25.0 # Unknown license
sentry_sdk: >=2.21.0 # Unknown license
cryptography: >=43.0.1 # Unknown license
tzdata: >=2025.1 # Unknown license
urllib3: >=2.0.0 # MIT license - https://github.com/urllib3/urllib3
audioread: >=3.0.1 # MIT license manually verified - https://github.com/beetbox/audioread
python-dotenv: >=1.0.0 # Unknown license
tiktoken: >=0.8.0 # Unknown license
click: >=8.1.7 # Unknown license
rich: >=13.7.1 # Unknown license
aiohttp: >=3.10.2 # Unknown license
tenacity: >=8.2.3 # Unknown license
pydantic: >=2.10.2 # Unknown license
jsonschema: >=4.22.0 # Unknown license
websockets: >=13.1.0 # Unknown license
polars: >=1.31.0 # Unknown license, the license.md allows free of charge use
rq: >=2.7.0 # BSD-2-Clause License
resend: >=2.23.0 # MIT License
semantic_router: >=0.1.10 # MIT License
aurelio-sdk: >=0.0.19 # MIT License
pondpond: >=1.4.1 # Apache 2.0 License
fastuuid: >=0.13.0 # BSD-3-Clause license
llm-sandbox: >=0.3.31 # MIT License - https://github.com/vndee/llm-sandbox
RestrictedPython: >=8.1 # ZPL-2.1 (Zope Public License, BSD-style permissive) - https://github.com/zopefoundation/RestrictedPython/blob/master/LICENSE.txt
nodejs-wheel-binaries: >=24.12.0 # MIT license manually verified
grpcio: >=1.69.0 # Apache License 2.0
jaraco.context: >=6.1.0 # Unknown license
pypdf: >=6.6.2 # BSD-3-Clause license - https://github.com/py-pdf/pypdf/blob/main/LICENSE
hf-xet: >=1.4.2 # Apache 2.0 License - https://github.com/huggingface/xet-tools/blob/main/LICENSE
pytest-asyncio: >=1.2.0 # Apache 2.0 license
pytest: >=9.0.3 # MIT license
pytest-postgresql: >=7.0.2 # LGPLv3+ license
pytest-xdist: >=3.8.0 # MIT License
ruff: >=0.15.3 # MIT License
types-requests: >=2.32.4.20260107 # Apache 2.0 license (typeshed)
types-pyyaml: >=6.0.12.20250915 # Apache 2.0 license (typeshed)
fakeredis: >=2.34.1 # BSD license
psycopg: >=3.2.13 # LGPL-3.0 license
psycopg-binary: >=3.2.13 # LGPL-3.0 license
psycopg2-binary: >=2.9.11 # LGPL with exceptions
lunary: >=1.0.36 # Unknown license manually verified
logfire: >=4.6.0 # MIT License
pygithub: >=2.8.1 # LGPL license
argon2-cffi: >=25.1.0 # MIT License
blockbuster: >=1.5.26 # Apache 2.0 license
pylint: >=3.3.9 # GPLv2 license
langchain-mcp-adapters: >=0.2.1 # MIT License
langgraph: >=1.0.10 # MIT License
langgraph-prebuilt: >=1.0.8 # MIT License - https://github.com/langchain-ai/langgraph/blob/main/LICENSE
pytest-rerunfailures: >=15.1 # MPL 2.0 license
pytest-recording: >=0.13.4 # MIT license