Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RedisFeatureStore does not offer ssl_ca_certs kwarg #159

Closed
cn-alexboyd opened this issue Aug 20, 2021 · 3 comments
Closed

RedisFeatureStore does not offer ssl_ca_certs kwarg #159

cn-alexboyd opened this issue Aug 20, 2021 · 3 comments

Comments

@cn-alexboyd
Copy link

cn-alexboyd commented Aug 20, 2021

Is your feature request related to a problem? Please describe.

I would love for the RedisFeatureStore to allow for me to specify a host, port, password, SSL, and ssl_ca_cert if applicable when trying to connect to a Redis cluster that has TLS/SSL enabled.

Describe the solution you'd like

Ideally, I could use the existing RedisFeatureStore.new_feature_store() method with a new set of kwargs instead of just the connection url.

store = Redis.new_feature_store(host=..., port=..., password=..., ssl=True, ssl_ca_certs=...)

Describe alternatives you've considered

The required redis package already supports these args, I think the adjustment will be using something other than redis.ConnectionPool.from_url during initialization of _RedisFeatureStoreCore.

@cn-alexboyd cn-alexboyd changed the title RedisFeatureStore does not support encrypted connections RedisFeatureStore does not offer ssl_ca_certs kwarg Aug 20, 2021
@eli-darkly
Copy link
Contributor

At first glance that seems like a reasonable and straightforward enhancement. It's hard for us to cover this in automated testing, so we would have to trust that the behavior of the redis package is correct if we pass it these parameters, but I'll look into implementing it in the near future.

LaunchDarklyReleaseBot pushed a commit that referenced this issue Feb 16, 2022
Test Data Source Documentation + Refactor + Additional Tests
@danie1k
Copy link

danie1k commented Apr 21, 2022

SSL-related and other Redis connection options can be easily set directly in the URL, for example:

qs = urllib.parse.urlencode({
    "ssl_cert_reqs": "required",
    "ssl_ca_certs": "/absolute/path/to/ca.crt",
    "ssl_keyfile": "/absolute/path/to/client.key",
    "ssl_certfile": "/absolute/path/to/client.crt",
})

store = Redis.new_feature_store(f'rediss://:password@host:port/0?{qs}')

@keelerm84
Copy link
Member

Fixed in 7.5.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants