diff options
author | Morris Jobke <hey@morrisjobke.de> | 2019-05-22 12:19:07 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2019-05-22 12:19:07 +0200 |
commit | e9e9b6a4b63aa32e9623337ed3ea2838414cb5b1 (patch) | |
tree | 725b03c7b608ce4f0932953e8a3700eb6c699976 | |
parent | ac92603014268a13a9b31beb8bd9dd26cbd84282 (diff) | |
download | nextcloud-server-e9e9b6a4b63aa32e9623337ed3ea2838414cb5b1.tar.gz nextcloud-server-e9e9b6a4b63aa32e9623337ed3ea2838414cb5b1.zip |
Allow redis cluster to use password
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
-rw-r--r-- | config/config.sample.php | 8 | ||||
-rw-r--r-- | lib/private/RedisFactory.php | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/config/config.sample.php b/config/config.sample.php index b25a4baeadd..d7f9b217061 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -1160,15 +1160,19 @@ $CONFIG = array( * which then causes a FileLocked exception. * * See https://redis.io/topics/cluster-spec for details about the Redis cluster + * + * Authentication works with phpredis version 4.2.1+. See + * https://github.com/phpredis/phpredis/commit/c5994f2a42b8a348af92d3acb4edff1328ad8ce1 */ 'redis.cluster' => [ 'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required 'localhost:7000', - 'localhost:7001' + 'localhost:7001', ], 'timeout' => 0.0, 'read_timeout' => 0.0, - 'failover_mode' => \RedisCluster::FAILOVER_ERROR + 'failover_mode' => \RedisCluster::FAILOVER_ERROR, + 'password' => '', // Optional, if not defined no password will be used. ], diff --git a/lib/private/RedisFactory.php b/lib/private/RedisFactory.php index 22d02e07c29..2224eaca79c 100644 --- a/lib/private/RedisFactory.php +++ b/lib/private/RedisFactory.php @@ -56,7 +56,11 @@ class RedisFactory { } else { $readTimeout = null; } - $this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout); + if (isset($config['password']) && $config['password'] !== '') { + $this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout, false, $config['password']); + } else { + $this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout); + } if (isset($config['failover_mode'])) { $this->instance->setOption(\RedisCluster::OPT_SLAVE_FAILOVER, $config['failover_mode']); |