mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-20 00:11:50 +00:00
The componentized chart rendered litellm.connectionPoolEnv into the gateway container only, so with database.connectionPool.enabled and gateway.collector.enabled the collector's Prisma client opened its own pool straight to Postgres instead of going through the pod-local PgBouncer. Render the same include in the collector container, drop the gateway.extraEnv workaround from the collector test, and add enabled/disabled regression assertions for the collector in both helm charts and the terraform aws and gcp modules, which already pass the pool env to their collector containers. The module READMEs note the IAM token-auth exception, where the collector keeps a direct connection by design. Co-authored-by: yassin <yassin@berri.ai> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
112 lines
3.5 KiB
YAML
112 lines
3.5 KiB
YAML
suite: test in-container connection pool
|
|
templates:
|
|
- deployment.yaml
|
|
- configmap-litellm.yaml
|
|
tests:
|
|
- it: should not emit pgbouncer env vars by default
|
|
template: deployment.yaml
|
|
asserts:
|
|
- notContains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_ENABLED
|
|
value: "true"
|
|
- notContains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_DB_CONNECTIONS
|
|
value: "20"
|
|
|
|
- it: should enable the pool with the default sizing when connectionPool.enabled is set
|
|
template: deployment.yaml
|
|
set:
|
|
db.connectionPool.enabled: true
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_ENABLED
|
|
value: "true"
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_DB_CONNECTIONS
|
|
value: "20"
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_CLIENT_CONN
|
|
value: "1000"
|
|
|
|
- it: should pass custom sizing through as strings next to the worker count
|
|
template: deployment.yaml
|
|
set:
|
|
numWorkers: 4
|
|
db.connectionPool.enabled: true
|
|
db.connectionPool.maxDbConnections: 8
|
|
db.connectionPool.maxClientConn: 400
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_DB_CONNECTIONS
|
|
value: "8"
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_CLIENT_CONN
|
|
value: "400"
|
|
- contains:
|
|
path: spec.template.spec.containers[0].args
|
|
content: "4"
|
|
|
|
- it: should give the collector sidecar the same pool env as the proxy container
|
|
template: deployment.yaml
|
|
set:
|
|
collector.enabled: true
|
|
db.connectionPool.enabled: true
|
|
db.connectionPool.maxDbConnections: 8
|
|
db.connectionPool.maxClientConn: 400
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[1].name
|
|
value: litellm-collector
|
|
- contains:
|
|
path: spec.template.spec.containers[1].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_ENABLED
|
|
value: "true"
|
|
- contains:
|
|
path: spec.template.spec.containers[1].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_DB_CONNECTIONS
|
|
value: "8"
|
|
- contains:
|
|
path: spec.template.spec.containers[1].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_CLIENT_CONN
|
|
value: "400"
|
|
|
|
- it: should give the collector sidecar no pool env when the pool is off
|
|
template: deployment.yaml
|
|
set:
|
|
collector.enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[1].name
|
|
value: litellm-collector
|
|
- notContains:
|
|
path: spec.template.spec.containers[1].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_ENABLED
|
|
any: true
|
|
- notContains:
|
|
path: spec.template.spec.containers[1].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_DB_CONNECTIONS
|
|
any: true
|
|
- notContains:
|
|
path: spec.template.spec.containers[1].env
|
|
content:
|
|
name: LITELLM_PGBOUNCER_MAX_CLIENT_CONN
|
|
any: true
|