You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Redis 6 introduced userpass authentication with ACLs, which is used with managed Redis services offered by e.g. DigitalOcean. Though, I cannot authenticate workers because the username is not used for authentication:
phpredis supports a variety of data structures to authenticate with a username and password, so I expected the username from my DSN connection string would be used:
I put together the necessary patches for colinmollenhour/credis to test a very crude implementation, which I have on a fork here (please don't mind the whitespace 😅):
The current code was written long before managed Redis was even a thing, so yes, it strips the username as Redis didn't have any use for it at the time. It literally just submits the password, because Redis itself didn't have a way to specify a user. The fact it hasn't kept pace with changes like these is part of why a refactor is planned to disconnect the hard reliance on Credis so folks can use whatever (compatible) library they want for the latest features.
Planned isn't implemented, though, so alas, we're stuck with Credis for now. I'll happily merge a PR that can pass the username as well, even if it has to retarget to a more recent Credis until we get that refactor done.
Redis 6 introduced userpass authentication with ACLs, which is used with managed Redis services offered by e.g. DigitalOcean. Though, I cannot authenticate workers because the username is not used for authentication:
php-resque/lib/Resque/Redis.php
Line 127 in 78a8b4a
Expected Behavior
phpredis supports a variety of data structures to authenticate with a username and password, so I expected the username from my DSN connection string would be used:
php-resque/lib/Resque/Redis.php
Line 126 in 78a8b4a
Current Behavior
php-resque/lib/Resque/Redis.php
Lines 136 to 138 in 78a8b4a
Possible Solution
I put together the necessary patches for colinmollenhour/credis to test a very crude implementation, which I have on a fork here (please don't mind the whitespace 😅):
develop...kodumbeats:tls_connections
Context
Trying to hook up Appwrite to a Managed Redis database cluster provided by DigitalOcean but cannot due to this limitation.
The text was updated successfully, but these errors were encountered: