mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-15 23:31:29 +00:00
A logging destination's credential_info.access (global / teams / orgs) now fully decides which requests it receives; a destination fires for a request exactly when its access grants the request's team or org. This removes the second, redundant way to express the same team-to-destination mapping that the admin-only model left behind: the auto_enable flag and the per-team/org logging_exporters assignment column both existed for tenant self-service opt-in, and once assignment became proxy-admin-only they only duplicated what access already says. Removed: the auto_enable field on CredentialInfo; the team and organization logging_exporters columns and their assignment gate (validate_logging_exporter_field / validate_logging_exporter_assignment); the request-time naming union in litellm_pre_call_utils; and the dashboard's per-team/org destination picker and the "Enable for entire scope" toggle. The access-shape validator stays, the credential's access fields stay, and /team/info and /organization/info still disclose resolved_logging_exporters computed from access alone. This also removes the /v2/organization write that two review bots flagged (there is no longer a logging_exporters field on that endpoint) and the "(via scope)" UI ambiguity that came from carrying two representations of the same mapping. Verified live on a 2-org / 4-team matrix against Langfuse, Arize, Weave, a generic OTLP collector, and a self-hosted Phoenix: per-team and per-org isolation, empty access as deny-all, injection defense, admin-only credential management, and complete trace trees read back from each destination's own API. |
||
|---|---|---|
| .. | ||
| litellm-dashboard | ||
| Dockerfile | ||
| nginx.conf | ||