add ssl support for redis with sentinel #1327
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
flower can already connect to sentinel using tls by setting
sentinel_kwargs
inbroker_options
accordingly, e.g.:to enable tls to sentinel without sending any client certificate or validating the server certificate.
this will be passed to the Sentinel() constructor and works fine for the connection from flower to sentinel.
however, this is only one of the two connections made from flower in a sentinel+redis setup...
the next connection which is made to the returned redis master was always without tls.
to make the connection to redis also use tls, one has to pass the according ssl related connection_kwargs to Sentinel() constructor.
I adapted the code from the existing encrypted redis-only case by reusing
broker_use_ssl
settings in the sentinel+redis setup to configure whether the connection to redis should be made using tls or not. checking ifbroker_use_ssl
is defined, and if so, setssl
toTrue
and inject the parameters provided inbroker_use_ssl
for the connection from flower to redis. this way flower can be configured to use tls on both, the sentinel AND the redis connection using existing configuration settings and it's working fine for me now...PS: This also fixes a
500
error for redis+sentinel on/broker
route with a server error104 - Connection reset by peer
indicating that connection to redis was made without tls.