Files
magnus919_agent-skills/litellm/templates/proxy-deployment.md
T
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> 030e6dfd47 feat(skill): add LiteLLM AI gateway operations skill
Add litellm/, an operational tool skill for the LiteLLM AI gateway (proxy)
and Python SDK, in the same vein as the vllm and llama-cpp engine skills.

Contents:
- SKILL.md: operating contract, operating loop, verification boundaries,
  and hard boundaries; concise core sections routing depth to references
- README.md: human-facing install/use guide with required sections
- references/: nine dated, source-indexed references (source index,
  quickstart + SDK, config & routing, keys/teams/budgets/spend, caching &
  guardrails, observability & logging, deployment, security & public
  hosting, troubleshooting), researched against litellm 1.97.0
  (2026-08-22) including a live proxy probe of the health endpoints
- scripts/litellm-health: read-only GET-only probe (liveliness, readiness,
  /v1/models, /model/info); stdlib-only Python 3.9+, --json, --help
  without a server
- tests/test_litellm_health.py: 18 deterministic tests against a local
  stub HTTP server, including the observed-traffic GET-only contract
- templates/proxy-config-record.md and proxy-deployment.md: fillable
  records; the config record is the rollback unit
- evals/evals.json: schema_version 1, six output-quality cases

Also regenerates tracked catalog artifacts (.claude-plugin/marketplace.json,
.codex-plugin/plugin.json, llms.txt) and adds the root README catalog entry
plus the skill-triggers.md index row.

AI assistance: authored with AI assistance (Factory Droid) under human
direction; facts verified against litellm 1.97.0 and official docs dated
2026-08-22.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-22 15:31:16 -04:00

71 lines
3.2 KiB
Markdown

# LiteLLM Proxy Deployment Record
Fill this record for the runtime deployment: how the proxy runs, where its state
lives, and how it is rolled back. Pair it with the config record
(`proxy-config-record.md`), which captures what the proxy serves.
## Deployment identity
- Requested outcome: _[fill: availability, scale, and exposure requirements]_
- Runtime: _[fill: Docker / docker compose / Kubernetes + Helm / raw manifests]_
- Target and scope confirmed with: _[fill: who confirmed, when]_
- Rollback path: _[fill: previous image tag/digest + previous deployment record]_
## Pinned image
- Image and tag: _[fill: ghcr.io/berriai/litellm:vX.Y.Z — never latest/main-latest]_
- Digest: _[fill: sha256:...]_
- Cosign verification: _[fill: command/CI gate used]_
- Version floor check: _[fill: >=1.83.7 confirmed for public deployments]_
- Component images (microservices chart): _[fill: gateway/backend/ui tags]_
## Runtime shape
- Replicas and worker count: _[fill: --num_workers 1 per pod on K8s]_
- CPU/memory per replica: _[fill: ~1 vCPU / 4Gi floor per worker; memory ratchets]_
- Autoscaling: _[fill: HPA CPU target ~60% or KEDA; maxReplicas bounded by DB pool math]_
- Job role split: _[fill: LITELLM_JOB_ROLE=serving pods + dedicated worker replica]_
- Security context: _[fill: runAsNonRoot, readOnlyRootFilesystem, writable emptyDirs]_
## Network and exposure
- Ports: _[fill: 4000 gateway; 4001 backend; 3000 ui if microservices]_
- Bind address: _[fill: explicit --host; default 0.0.0.0 acknowledged]_
- TLS termination: _[fill: LB/reverse proxy; port 4000 never raw]_
- Edge route policy: _[fill: LLM routes + health probes exposed; management paths denied]_
- Admin UI policy: _[fill: restricted network / SSO / DISABLE_ADMIN_UI]_
- Probes: _[fill: liveness /health/liveliness; readiness /health/readiness; thresholds]_
## Environment (references only — values live in the secret manager)
- `DATABASE_URL`: _[fill: secret reference]_
- `LITELLM_MASTER_KEY`: _[fill: secret reference]_
- `LITELLM_SALT_KEY`: _[fill: secret reference; set once, never rotate]_
- `STORE_MODEL_IN_DB`: _[fill: True/False]_
- `DISABLE_SCHEMA_UPDATE`: _[fill: true on pods when a migration job runs]_
- `LITELLM_JOB_ROLE`: _[fill: serving | worker]_
- Provider keys: _[fill: os.environ/ references only — never values]_
## Data stores
- Postgres: _[fill: endpoint, version, private subnet, TLS, least-privilege role]_
- Redis: _[fill: endpoint, >=7.0, private subnet, TLS; required when >1 replica]_
- Backup/restore: _[fill: schedule, last restore test date]_
## Migrations
- Migration strategy: _[fill: startup default vs dedicated job (Helm PreSync/hook)]_
- DB backup taken before last migration: _[fill: date]_
## Verification checklist
- [ ] `litellm-health --check health --check readiness --json` passes via the service route
- [ ] `x-litellm-version` on a live response matches the pinned tag
- [ ] A representative chat request returns tokens through the public edge
- [ ] Management routes return 403/404 from outside the trust boundary
- [ ] Blocked test key fails immediately (revocation path works)
## Changes from the previous record
- _[fill: what changed, why, and the verification that backs it]_