feat(sources/redis): add TLS support for Redis connections#2432
feat(sources/redis): add TLS support for Redis connections#2432Yuan325 merged 9 commits intogoogleapis:mainfrom
Conversation
Add tlsEnabled config field that enables TLS for both cluster and standalone Redis clients.
Summary of ChangesHello @yaroslav-koval, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the Redis source by adding support for TLS-encrypted connections. This feature is crucial for connecting to cloud-managed Redis services, such as AWS ElastiCache, which often mandate secure communication. The changes involve updating the configuration structure, modifying client initialization to incorporate TLS settings, and ensuring proper documentation and test coverage for the new functionality. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request adds TLS support for Redis connections, which is a great feature for connecting to managed Redis services securely. The implementation is clean and straightforward. I've added a couple of suggestions to make the TLS configuration more flexible and extensible for the future by using a struct instead of a simple boolean. This would allow for easily adding more TLS options later on. Overall, a good addition.
Use a nested `tls: { enabled: true }` YAML structure instead of the flat
`tlsEnabled: true` field for Redis TLS configuration.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request adds TLS support for Redis connections, which is a great feature for connecting to secure Redis instances. The implementation is straightforward and correct for the basic use case. I've made a couple of suggestions to make the TLS configuration more flexible, which would allow for more advanced use cases like connecting to a Redis instance with a self-signed certificate during development. If you decide to implement these suggestions, please remember to update the documentation and test cases accordingly.
Add InsecureSkipVerify field to the nested TLS configuration struct, allowing users to skip TLS certificate verification for development environments with self-signed certificates.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request adds TLS support for Redis connections, a valuable feature for secure communication with managed Redis services. The implementation correctly integrates TLS configuration for both standalone and cluster clients, and includes corresponding documentation and test updates. My review provides a few suggestions to fix some inconsistencies in the documentation and to enhance test coverage for the new functionality.
Standardize the `type` field from "memorystore-redis" to "redis" and fix field type for `useGCPIAM` in Redis source documentation.
Refactor the nested TLS configuration for Redis into a dedicated `TlsConfig` struct to improve code clarity and maintainability.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces TLS support for Redis connections, a valuable feature for securely connecting to managed Redis services. However, the current implementation's reliance on insecureSkipVerify without a secure alternative for handling custom certificates presents a medium-severity security risk, potentially encouraging insecure configurations in production environments. To enhance security and maintainability, it's recommended to implement support for custom CAs and client certificates, rename TlsConfig to TLSConfig for idiomatic Go, and add a warning in the documentation regarding the use of insecureSkipVerify.
…g` and update docs Fix incorrect struct name by renaming `TlsConfig` to `TLSConfig` in Redis source code. Update documentation to reflect changes and improve field descriptions, particularly `tls.insecureSkipVerify`.
|
/gemini review |
|
Hi @Yuan325, I prepared the PR after Gemini reviews, it's ready from my POV. Could you review it, please? |
Yuan325
left a comment
There was a problem hiding this comment.
Hi @yaroslav-koval, thank you for your contributions!! LGTM :)
|
/gcbrun |
|
/gcbrun |
…2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
…oogleapis#2432) ## Summary - Add `tlsEnabled` config field to Redis source for enabling TLS on connections - Apply TLS config to both cluster and standalone Redis clients - Add test case for TLS config parsing and update docs This is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections. ## Example config (tools.yaml) ```yaml sources: leadsforge-redis: kind: redis address: - ${REDIS_HOST} clusterEnabled: true tls: enabled: true insecureSkipVerify: true ``` --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d6af290
🤖 I have created a release *beep* *boop* --- ## [0.28.0](v0.27.0...v0.28.0) (2026-03-02) ### Features * Add polling system to dynamic reloading ([#2466](#2466)) ([fcaac9b](fcaac9b)) * Added basic template for sdks doc migrate ([#1961](#1961)) ([87f2eaf](87f2eaf)) * **dataproc:** Add dataproc source and list/get clusters/jobs tools ([#2407](#2407)) ([cc05e57](cc05e57)) * **sources/postgres:** Add configurable pgx query execution mode ([#2477](#2477)) ([57b77bc](57b77bc)) * **sources/redis:** Add TLS support for Redis connections ([#2432](#2432)) ([d6af290](d6af290)) * **tools/looker:** Enable Get All Lookml Tests, Run LookML Tests, and Create View From Table tools for Looker ([#2522](#2522)) ([e01139a](e01139a)) * **tools/looker:** Tools to list/create/delete directories ([#2488](#2488)) ([0036d8c](0036d8c)) * **ui:** Make tool list panel resizable ([#2253](#2253)) ([276cf60](276cf60)) ### Bug Fixes * **ci:** Add path for forked PR unit test runs ([#2540](#2540)) ([04dd2a7](04dd2a7)) * Deflake alloydb omni ([#2431](#2431)) ([62b8309](62b8309)) * **docs/adk:** Resolve dependency duplication ([#2418](#2418)) ([4d44abb](4d44abb)) * **docs/langchain:** Fix core at 0.3.0 and align compatible dependencies ([#2426](#2426)) ([36edfd3](36edfd3)) * Enforce required validation for explicit null parameter values ([#2519](#2519)) ([d5e9512](d5e9512)) * **oracle:** Enable DML operations and resolve incorrect array type error ([#2323](#2323)) ([72146a4](72146a4)) * **server/mcp:** Guard nil dereference in sseManager.get ([#2557](#2557)) ([e534196](e534196)), closes [#2548](#2548) * **tests/postgres:** Implement uuid-based isolation and reliable resource cleanup ([#2377](#2377)) ([8a96fb1](8a96fb1)) * **tests/postgres:** Restore list_schemas test and implement dynamic owner ([#2521](#2521)) ([7041e79](7041e79)) * **tests:** Resolve LlamaIndex dependency conflict in JS quickstart ([#2597](#2597)) ([ac11f5a](ac11f5a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [0.28.0](v0.27.0...v0.28.0) (2026-03-02) ### Features * Add polling system to dynamic reloading ([#2466](#2466)) ([fcaac9b](fcaac9b)) * Added basic template for sdks doc migrate ([#1961](#1961)) ([87f2eaf](87f2eaf)) * **dataproc:** Add dataproc source and list/get clusters/jobs tools ([#2407](#2407)) ([cc05e57](cc05e57)) * **sources/postgres:** Add configurable pgx query execution mode ([#2477](#2477)) ([57b77bc](57b77bc)) * **sources/redis:** Add TLS support for Redis connections ([#2432](#2432)) ([d6af290](d6af290)) * **tools/looker:** Enable Get All Lookml Tests, Run LookML Tests, and Create View From Table tools for Looker ([#2522](#2522)) ([e01139a](e01139a)) * **tools/looker:** Tools to list/create/delete directories ([#2488](#2488)) ([0036d8c](0036d8c)) * **ui:** Make tool list panel resizable ([#2253](#2253)) ([276cf60](276cf60)) ### Bug Fixes * **ci:** Add path for forked PR unit test runs ([#2540](#2540)) ([04dd2a7](04dd2a7)) * Deflake alloydb omni ([#2431](#2431)) ([62b8309](62b8309)) * **docs/adk:** Resolve dependency duplication ([#2418](#2418)) ([4d44abb](4d44abb)) * **docs/langchain:** Fix core at 0.3.0 and align compatible dependencies ([#2426](#2426)) ([36edfd3](36edfd3)) * Enforce required validation for explicit null parameter values ([#2519](#2519)) ([d5e9512](d5e9512)) * **oracle:** Enable DML operations and resolve incorrect array type error ([#2323](#2323)) ([72146a4](72146a4)) * **server/mcp:** Guard nil dereference in sseManager.get ([#2557](#2557)) ([e534196](e534196)), closes [#2548](#2548) * **tests/postgres:** Implement uuid-based isolation and reliable resource cleanup ([#2377](#2377)) ([8a96fb1](8a96fb1)) * **tests/postgres:** Restore list_schemas test and implement dynamic owner ([#2521](#2521)) ([7041e79](7041e79)) * **tests:** Resolve LlamaIndex dependency conflict in JS quickstart ([#2597](#2597)) ([ac11f5a](ac11f5a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 81253a0
🤖 I have created a release *beep* *boop* --- ## [0.28.0](googleapis/mcp-toolbox@v0.27.0...v0.28.0) (2026-03-02) ### Features * Add polling system to dynamic reloading ([googleapis#2466](googleapis#2466)) ([fcaac9b](googleapis@fcaac9b)) * Added basic template for sdks doc migrate ([googleapis#1961](googleapis#1961)) ([87f2eaf](googleapis@87f2eaf)) * **dataproc:** Add dataproc source and list/get clusters/jobs tools ([googleapis#2407](googleapis#2407)) ([cc05e57](googleapis@cc05e57)) * **sources/postgres:** Add configurable pgx query execution mode ([googleapis#2477](googleapis#2477)) ([57b77bc](googleapis@57b77bc)) * **sources/redis:** Add TLS support for Redis connections ([googleapis#2432](googleapis#2432)) ([d6af290](googleapis@d6af290)) * **tools/looker:** Enable Get All Lookml Tests, Run LookML Tests, and Create View From Table tools for Looker ([googleapis#2522](googleapis#2522)) ([e01139a](googleapis@e01139a)) * **tools/looker:** Tools to list/create/delete directories ([googleapis#2488](googleapis#2488)) ([0036d8c](googleapis@0036d8c)) * **ui:** Make tool list panel resizable ([googleapis#2253](googleapis#2253)) ([276cf60](googleapis@276cf60)) ### Bug Fixes * **ci:** Add path for forked PR unit test runs ([googleapis#2540](googleapis#2540)) ([04dd2a7](googleapis@04dd2a7)) * Deflake alloydb omni ([googleapis#2431](googleapis#2431)) ([62b8309](googleapis@62b8309)) * **docs/adk:** Resolve dependency duplication ([googleapis#2418](googleapis#2418)) ([4d44abb](googleapis@4d44abb)) * **docs/langchain:** Fix core at 0.3.0 and align compatible dependencies ([googleapis#2426](googleapis#2426)) ([36edfd3](googleapis@36edfd3)) * Enforce required validation for explicit null parameter values ([googleapis#2519](googleapis#2519)) ([d5e9512](googleapis@d5e9512)) * **oracle:** Enable DML operations and resolve incorrect array type error ([googleapis#2323](googleapis#2323)) ([72146a4](googleapis@72146a4)) * **server/mcp:** Guard nil dereference in sseManager.get ([googleapis#2557](googleapis#2557)) ([e534196](googleapis@e534196)), closes [googleapis#2548](googleapis#2548) * **tests/postgres:** Implement uuid-based isolation and reliable resource cleanup ([googleapis#2377](googleapis#2377)) ([8a96fb1](googleapis@8a96fb1)) * **tests/postgres:** Restore list_schemas test and implement dynamic owner ([googleapis#2521](googleapis#2521)) ([7041e79](googleapis@7041e79)) * **tests:** Resolve LlamaIndex dependency conflict in JS quickstart ([googleapis#2597](googleapis#2597)) ([ac11f5a](googleapis@ac11f5a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 81253a0
🤖 I have created a release *beep* *boop* --- ## [0.28.0](googleapis/mcp-toolbox@v0.27.0...v0.28.0) (2026-03-02) ### Features * Add polling system to dynamic reloading ([#2466](googleapis/mcp-toolbox#2466)) ([fcaac9b](googleapis/mcp-toolbox@fcaac9b)) * Added basic template for sdks doc migrate ([#1961](googleapis/mcp-toolbox#1961)) ([87f2eaf](googleapis/mcp-toolbox@87f2eaf)) * **dataproc:** Add dataproc source and list/get clusters/jobs tools ([#2407](googleapis/mcp-toolbox#2407)) ([cc05e57](googleapis/mcp-toolbox@cc05e57)) * **sources/postgres:** Add configurable pgx query execution mode ([#2477](googleapis/mcp-toolbox#2477)) ([57b77bc](googleapis/mcp-toolbox@57b77bc)) * **sources/redis:** Add TLS support for Redis connections ([#2432](googleapis/mcp-toolbox#2432)) ([d6af290](googleapis/mcp-toolbox@d6af290)) * **tools/looker:** Enable Get All Lookml Tests, Run LookML Tests, and Create View From Table tools for Looker ([#2522](googleapis/mcp-toolbox#2522)) ([e01139a](googleapis/mcp-toolbox@e01139a)) * **tools/looker:** Tools to list/create/delete directories ([#2488](googleapis/mcp-toolbox#2488)) ([0036d8c](googleapis/mcp-toolbox@0036d8c)) * **ui:** Make tool list panel resizable ([#2253](googleapis/mcp-toolbox#2253)) ([276cf60](googleapis/mcp-toolbox@276cf60)) ### Bug Fixes * **ci:** Add path for forked PR unit test runs ([#2540](googleapis/mcp-toolbox#2540)) ([04dd2a7](googleapis/mcp-toolbox@04dd2a7)) * Deflake alloydb omni ([#2431](googleapis/mcp-toolbox#2431)) ([62b8309](googleapis/mcp-toolbox@62b8309)) * **docs/adk:** Resolve dependency duplication ([#2418](googleapis/mcp-toolbox#2418)) ([4d44abb](googleapis/mcp-toolbox@4d44abb)) * **docs/langchain:** Fix core at 0.3.0 and align compatible dependencies ([#2426](googleapis/mcp-toolbox#2426)) ([36edfd3](googleapis/mcp-toolbox@36edfd3)) * Enforce required validation for explicit null parameter values ([#2519](googleapis/mcp-toolbox#2519)) ([d5e9512](googleapis/mcp-toolbox@d5e9512)) * **oracle:** Enable DML operations and resolve incorrect array type error ([#2323](googleapis/mcp-toolbox#2323)) ([72146a4](googleapis/mcp-toolbox@72146a4)) * **server/mcp:** Guard nil dereference in sseManager.get ([#2557](googleapis/mcp-toolbox#2557)) ([e534196](googleapis/mcp-toolbox@e534196)), closes [#2548](googleapis/mcp-toolbox#2548) * **tests/postgres:** Implement uuid-based isolation and reliable resource cleanup ([#2377](googleapis/mcp-toolbox#2377)) ([8a96fb1](googleapis/mcp-toolbox@8a96fb1)) * **tests/postgres:** Restore list_schemas test and implement dynamic owner ([#2521](googleapis/mcp-toolbox#2521)) ([7041e79](googleapis/mcp-toolbox@7041e79)) * **tests:** Resolve LlamaIndex dependency conflict in JS quickstart ([#2597](googleapis/mcp-toolbox#2597)) ([ac11f5a](googleapis/mcp-toolbox@ac11f5a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [0.28.0](googleapis/mcp-toolbox@v0.27.0...v0.28.0) (2026-03-02) ### Features * Add polling system to dynamic reloading ([googleapis#2466](googleapis#2466)) ([fcaac9b](googleapis@fcaac9b)) * Added basic template for sdks doc migrate ([googleapis#1961](googleapis#1961)) ([87f2eaf](googleapis@87f2eaf)) * **dataproc:** Add dataproc source and list/get clusters/jobs tools ([googleapis#2407](googleapis#2407)) ([cc05e57](googleapis@cc05e57)) * **sources/postgres:** Add configurable pgx query execution mode ([googleapis#2477](googleapis#2477)) ([57b77bc](googleapis@57b77bc)) * **sources/redis:** Add TLS support for Redis connections ([googleapis#2432](googleapis#2432)) ([d6af290](googleapis@d6af290)) * **tools/looker:** Enable Get All Lookml Tests, Run LookML Tests, and Create View From Table tools for Looker ([googleapis#2522](googleapis#2522)) ([e01139a](googleapis@e01139a)) * **tools/looker:** Tools to list/create/delete directories ([googleapis#2488](googleapis#2488)) ([0036d8c](googleapis@0036d8c)) * **ui:** Make tool list panel resizable ([googleapis#2253](googleapis#2253)) ([276cf60](googleapis@276cf60)) ### Bug Fixes * **ci:** Add path for forked PR unit test runs ([googleapis#2540](googleapis#2540)) ([04dd2a7](googleapis@04dd2a7)) * Deflake alloydb omni ([googleapis#2431](googleapis#2431)) ([62b8309](googleapis@62b8309)) * **docs/adk:** Resolve dependency duplication ([googleapis#2418](googleapis#2418)) ([4d44abb](googleapis@4d44abb)) * **docs/langchain:** Fix core at 0.3.0 and align compatible dependencies ([googleapis#2426](googleapis#2426)) ([36edfd3](googleapis@36edfd3)) * Enforce required validation for explicit null parameter values ([googleapis#2519](googleapis#2519)) ([d5e9512](googleapis@d5e9512)) * **oracle:** Enable DML operations and resolve incorrect array type error ([googleapis#2323](googleapis#2323)) ([72146a4](googleapis@72146a4)) * **server/mcp:** Guard nil dereference in sseManager.get ([googleapis#2557](googleapis#2557)) ([e534196](googleapis@e534196)), closes [googleapis#2548](googleapis#2548) * **tests/postgres:** Implement uuid-based isolation and reliable resource cleanup ([googleapis#2377](googleapis#2377)) ([8a96fb1](googleapis@8a96fb1)) * **tests/postgres:** Restore list_schemas test and implement dynamic owner ([googleapis#2521](googleapis#2521)) ([7041e79](googleapis@7041e79)) * **tests:** Resolve LlamaIndex dependency conflict in JS quickstart ([googleapis#2597](googleapis#2597)) ([ac11f5a](googleapis@ac11f5a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Summary
tlsEnabledconfig field to Redis source for enabling TLS on connectionsThis is needed for cloud-managed Redis services like AWS ElastiCache (Redis OSS) that require TLS for secure connections.
Example config (tools.yaml)