You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(manager): add ExternalRedis TLS support (closes#4734) (#4738)
* feat(manager): add ExternalRedis TLS support (closes#4734)
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
* feat(scheduler): mirror external Redis TLS support
Per @lavih's review on #4738. The scheduler hits the same external
Redis as the manager (issue #4734 is specifically about helm-deployed
external Redis), so the TLS plumbing must mirror across both.
- scheduler/config: add RedisTLSClientConfig + RedisConfig.TLS field
with the same shape as manager (CACert, Cert, Key, InsecureSkipVerify);
validate the three required parameters when TLS is set.
- scheduler/scheduler.go: build redis.UniversalOptions then attach a
tls.Config built via go-connections/tlsconfig when TLS is configured.
- scheduler/config/config_test.go: cover the three TLS validation
branches.
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
* Address review feedback: relax Redis TLS validation for managed Redis
@lavih asked to relax the validation so managed Redis deployments
(AWS ElastiCache, Azure Cache for Redis, GCP Memorystore) can use
server-side TLS only. The runtime side (manager/database/database.go,
scheduler/scheduler.go) already tolerates empty cert fields via
go-connections tlsconfig.Client; only the config validator was
overly strict.
Permitted shapes after this change:
- InsecureSkipVerify=true (no certs required)
- CACert only (server-side TLS, common for managed Redis)
- CACert + Cert + Key (full mutual TLS, current behavior)
Rejected:
- Nothing set (caCert AND insecureSkipVerify both missing)
- Cert without Key, or Key without Cert (mTLS half-config)
Same validation block applies in both manager/config/config.go and
scheduler/config/config.go. Test suites in both packages now cover
all 6 cases (3 valid, 3 invalid).
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
* style: remove comments and add blank lines for consistency
Signed-off-by: Gaius <gaius.qi@gmail.com>
---------
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Signed-off-by: Gaius <gaius.qi@gmail.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Gaius <gaius.qi@gmail.com>
0 commit comments