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.

Edited by Stan Hu

Merge request reports

Loading