- Added record_failure_admin_login to RedisTaskStore for proper consecutive failed attempt tracking - Local rate limiter integration in admin_login flow (backend: local) - record_failure calls on failed login (wrong admin_key) for both backends - Reset on successful login for both backends - Helm schema constraint enforces redis backend when replicas > 1 Acceptance: - 11 login attempts in 60s from same IP → 11th returns 429 - 5 failed attempts → backoff doubles per attempt (10m, 20m, 40m, ...) up to 24h cap - Successful login resets both rate limit counter and backoff state - Multi-pod deployments use shared Redis state for rate limiting Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 line
41 B
Text
1 line
41 B
Text
ee3ef23133e41a9353275e276ba65ba7b314480b
|