litellm/terraform
ryan-crabbe-berri a7f180fdd8 feat(terraform): make credential adoption opt-in, escape names in request URLs
Terraform's convention is that create does not seize a resource the
configuration never made, and credential_values holds secrets that are never
read back into state, so a silent takeover overwrites values no plan showed.
A name collision now fails with the terraform import command that adopts the
existing credential explicitly, and adopt_existing = true opts into taking it
over during create. The provider detects the conflict by the proxy's 409 and
keeps the Prisma string match as a fallback for older proxies

Credential names and model_id went into URLs raw, so a name with a slash or a
question mark hit the wrong route. Every credential URL is now built from a
package const through fmt.Sprintf with url.PathEscape or url.QueryEscape,
which the endpoint audit can resolve. Toggling adopt_existing alone no longer
sends a PATCH, so it does not rewrite the stored secret
2026-09-15 10:41:44 -07:00
..
litellm fix(helm): give the collector sidecar the pod PgBouncer env when database.connectionPool is enabled (#40660) 2026-09-11 02:07:04 +00:00
provider feat(terraform): make credential adoption opt-in, escape names in request URLs 2026-09-15 10:41:44 -07:00