rdev/internal/adapter/redis
jordan d91bfc50fa
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix: handle missing Redis credentials and redis.Nil in provisioner
Two bugs fixed:

1. redis.Nil not handled in GetProjectCache: When ACL GETUSER returns nil
   (user doesn't exist), go-redis represents this as redis.Nil error. The
   provisioner only checked for err.Contains("User") which didn't match,
   causing spurious "get ACL user: redis: nil" errors on re-provision.

2. provisionRedis returns 409 even when REDIS_URL not in credential store:
   If the Redis ACL user exists but REDIS_URL was never stored (e.g., due
   to a failed previous run or lost state), the service would permanently
   refuse to provision, leaving the project without usable Redis credentials.
   Now checks the credential store: if REDIS_URL exists → true 409 duplicate;
   if REDIS_URL missing → re-provision (CreateProjectCache resets the password).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 05:19:00 -07:00
..
provisioner_test.go chore: prepare for composable monorepo template implementation 2026-01-31 11:39:28 -07:00
provisioner.go fix: handle missing Redis credentials and redis.Nil in provisioner 2026-02-23 05:19:00 -07:00