Problem
lib/nebula_queue/connection.rb:26:
Redis.new(url: config.redis_url)
Only a URL is supported. Production Redis deployments typically require one or more of:
- TLS (
rediss:// + CA bundle / client cert).
- Password / ACL auth (separate from the URL for secret-store injection).
- Redis Sentinel (high availability via
sentinels: + name: options).
- Redis Cluster (
redis-clustering gem, different client class).
- Read/write timeouts (
connect_timeout, read_timeout, write_timeout).
Fix
- Expose
config.redis_options as a hash passed through to Redis.new, merged on top of { url: redis_url }.
- Document recommended production settings (timeouts, TLS).
- Add a
config.sentinels shortcut and document the Sentinel topology.
- Consider a
config.client_class override for users on Redis Cluster / redis-client.
Acceptance
config.redis_options = { ssl_params: {...}, password: ENV['REDIS_PASSWORD'], connect_timeout: 2 } works end-to-end.
- README has a "Production Redis" section.
Problem
lib/nebula_queue/connection.rb:26:Only a URL is supported. Production Redis deployments typically require one or more of:
rediss://+ CA bundle / client cert).sentinels:+name:options).redis-clusteringgem, different client class).connect_timeout,read_timeout,write_timeout).Fix
config.redis_optionsas a hash passed through toRedis.new, merged on top of{ url: redis_url }.config.sentinelsshortcut and document the Sentinel topology.config.client_classoverride for users on Redis Cluster /redis-client.Acceptance
config.redis_options = { ssl_params: {...}, password: ENV['REDIS_PASSWORD'], connect_timeout: 2 }works end-to-end.