feat: remove 429 from aibridge circuit breaker failure conditions (#24701)

## Description

Removes 429 (Too Many Requests) from the circuit breaker failure conditions. Rate limiting is now handled by automatic key failover instead of tripping the circuit breaker.

## Changes

`DefaultIsFailure` no longer treats 429 as a circuit breaker failure. The circuit breaker now only trips on server overload responses (503, 529).

Tests and integration tests updated to use 503 instead of 429 for tripping circuits. Description strings in deployment config updated to reflect the change.

Closes https://github.com/coder/internal/issues/1445

> [!NOTE]
> Initially generated by Coder Agents, modified and reviewed by @ssncferreira
This commit is contained in:
Susana Ferreira
2026-04-30 09:31:32 +01:00
committed by GitHub
parent 101a4082dd
commit dbb50ebaaf
14 changed files with 48 additions and 46 deletions
+1 -1
View File
@@ -13138,7 +13138,7 @@ const docTemplate = `{
]
},
"circuit_breaker_enabled": {
"description": "Circuit breaker protects against cascading failures from upstream AI\nprovider rate limits (429, 503, 529 overloaded).",
"description": "Circuit breaker protects against cascading failures from upstream AI\nprovider overload (503, 529).",
"type": "boolean"
},
"circuit_breaker_failure_threshold": {
+1 -1
View File
@@ -11686,7 +11686,7 @@
]
},
"circuit_breaker_enabled": {
"description": "Circuit breaker protects against cascading failures from upstream AI\nprovider rate limits (429, 503, 529 overloaded).",
"description": "Circuit breaker protects against cascading failures from upstream AI\nprovider overload (503, 529).",
"type": "boolean"
},
"circuit_breaker_failure_threshold": {