Latest Results
feat: support Redis Sentinel for HA cache and lock connections [#9449]
Add a single optional INFRAHUB_CACHE_URL setting accepting redis://, rediss://,
redis+sentinel:// and rediss+sentinel:// schemes. When a Sentinel URL is configured,
the cache adapter and lock registry discover the current master through the Sentinel
nodes via redis.asyncio.Sentinel(...).master_for() and follow failover automatically,
removing the need for a redis-sentinel-proxy in front of a Sentinel-managed Redis.
- New connection.py with a hand-rolled URL parser (urllib.parse, no new dependency),
a structured RedisConnectionConfig, a shared build_redis_connection() used by both
the cache adapter and the lock registry, and secret redaction for logs/errors.
- CacheSettings.url (SecretStr) with a fail-fast validator: URL is mutually exclusive
with the scalar connection fields, and is parsed at startup with a typed RedisUrlError.
- Existing scalar single-node configuration is preserved unchanged (zero-config upgrade).
- Prefect's result-storage Redis URL honors the cache URL (single-node passthrough,
Sentinel best-effort to the first member's data port); prefect_redis has no Sentinel
support, so Prefect Redis HA is documented as a separate follow-up.
- Rewrite the HA guide to connect directly via redis+sentinel://, remove the
redis-sentinel-proxy manifests, and add a manual failover-validation runbook.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>fac-redis-sentinel-support Latest Branches
0%
fac-redis-sentinel-support 0%
pmi-20260603-lock-test-adapter 0%
infp-530-schema-order-by-metadata © 2026 CodSpeed Technology