RediSearch / RSCoordinator

RediSearch coordinator
Other
23 stars 10 forks source link

Using RSCoordinator with Redis Cluster authentication #195

Closed Skoucail closed 3 years ago

Skoucail commented 3 years ago

We have setup a 6 node redis oss cluster (3 master, 3 slaves) with RSCoordinator loaded. The redis cluster is password protected with an aclfile in which the default user password is set.

When trying to FT.CREATE a index (with an authenticated redis-cli) we are getting an authentication error: ERROR: Connection error while connecting to redis instance: Authentication required..

How can I pass an user (or the default user password) to RSCoordinator to authenticate to the cluster?

Skoucail commented 3 years ago

@MeirShpilraien sry for the tag, but can you help with this? Or tag someone who can.

MeirShpilraien commented 3 years ago

Hey @Skoucail, sorry I missed it. If I will make a branch with the ability to specify the password as module argument will you be able to check it?

MeirShpilraien commented 3 years ago

https://github.com/RediSearch/RSCoordinator/pull/202 When loading the module you need to specify OSS_GLOBAL_PASSWORD <password> as a module argument.

Skoucail commented 3 years ago

No problems, can't be easy maintaining a project like this and never miss anything.

We are building a custom docker with a pull from this repo. So will try later today with the new branch. Just a little side question. for the moment we are using branch 2.0 is this the recommended branch or should we use master? As i see you made the branch from master.

MeirShpilraien commented 3 years ago

@Skoucail the recommended branch to use on production is 2.0 (moreover the latest v2.0.x tag), if you want to check the latest additions/features you need to use master. The reason it's not recommended to use a master on production is that we might push a fix that introduces a bug that will only be caught later on nightly automation. Such a thing will less likely to happen on the v2.0.x tag because all the fixes that we cherry-pick to the 2.0 branch already pass the entire automation cycle on the master. Moreover, when we tag a version, we run the entire automation cycle on the new version.

Notice that all the fixes on the master are always cherrypicked to 2.0 eventually (before releasing a new version).

Once we verify the password addition (and add tests for it) we will merge it to master and cherrypick to 2.0 branch so it will be available for the next 2.0 version.

Skoucail commented 3 years ago

@MeirShpilraien The fix seems to be working wonderfull. I deployed the Added_OSS_GLOBAL_PASSWORD_config_argument branch together with redis 6.0.9. (with ACL authentication enabled) And passed the default user pwd with the OSS_GLOBAL_PASSWORD module setting to the RSCoordinator.

Following features I tested: FT.CREATE FT.SEARCH FT.AGGREGATE FT.DROP And all seems to work without issues. Great job MeirShpilraien!