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
@@ -138,7 +138,7 @@ AI BRIDGE OPTIONS:
--aibridge-circuit-breaker-enabled bool, $CODER_AIBRIDGE_CIRCUIT_BREAKER_ENABLED (default: false)
Enable the circuit breaker to protect against cascading failures from
upstream AI provider rate limits (429, 503, 529 overloaded).
upstream AI provider overload (503, 529).
--aibridge-retention duration, $CODER_AIBRIDGE_RETENTION (default: 60d)
Length of time to retain data such as interceptions and all related
+1 -1
View File
@@ -821,7 +821,7 @@ aibridge:
# (default: true, type: bool)
allow_byok: true
# Enable the circuit breaker to protect against cascading failures from upstream
# AI provider rate limits (429, 503, 529 overloaded).
# AI provider overload (503, 529).
# (default: false, type: bool)
circuit_breaker_enabled: false
# Number of consecutive failures that triggers the circuit breaker to open.