Refactor Redis TLS options parsing to fix ActionCable configuration
What does this MR do and why?
Previously Redis SSL parameters cert_file and key_file were
converted to the appropriate types for OpenSSL via cert and file
parameters, but this was not happening for ActionCable settings. As a
result if someone attempted to configure Redis mutual TLS certificates
in Omnibus with
omnibus-gitlab!9012 (merged), an
exception would be raised:
undefined method `cert_file=' for an instance of OpenSSL::SSL::SSLContext
Extract parse_client_tls_options from Wrapper into ConfigGenerator
as a public class method and call it automatically from
ConfigGenerator.generate. This ensures all Redis configuration
consumers (Wrapper, ActionCable, etc.) properly parse TLS options
without needing separate handling.
Note that cert_file and key_file parameters are no longer needed
because redis-client automatically converts the cert and key
parameters into the right OpenSSL types, but preserve these parameters
for backwards compatibility.
References
Fixes #586491 (closed)
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.