DOC-6816 Document smart client handoffs (SCH) for Redis Enterprise on Kubernetes#3597
Open
andy-stark-redis wants to merge 1 commit into
Open
DOC-6816 Document smart client handoffs (SCH) for Redis Enterprise on Kubernetes#3597andy-stark-redis wants to merge 1 commit into
andy-stark-redis wants to merge 1 commit into
Conversation
… Kubernetes Add a networking page for enabling SCH on a K8s REC, plus supporting edits to the SCH overview, the networking index, and the REST API cluster-object reference. The enablement steps, the MONITOR-handshake verification, and the two notification flags come from David Maier's Slack/Google doc rather than any released reference. The load-bearing surprise: oss_cluster_client_maint_notifications does not appear in the release notes or the REST API cluster object docs, so I documented it from the source doc and added the reference row myself. Enablement is via the REST API on purpose (a temporary workaround) because the REC cluster spec does not yet expose these settings. The page is deliberately scoped to the same-pod-network / IP-based / no-TLS case; the external/TLS/name-based scenario is a TODO in the source doc, not an oversight. Learned: SCH-for-K8s config sourced from David's doc; the key OSS flag is undocumented upstream Gaps: oss_cluster_client_maint_notifications absent from release notes and REST API reference before this change; unconfirmed whether standalone on 8.0.2-17 accepts it, or whether OSS mode needs both flags — needs eng sign-off Recheck: when the REC cluster spec exposes SCH settings, replace the REST API enablement workaround Directive: external/TLS/name-based SCH is intentionally deferred (source doc TODO) — do not treat its absence as a gap Ticket: DOC-6816 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Contributor
rrelledge
approved these changes
Jul 7, 2026
rrelledge
left a comment
Collaborator
There was a problem hiding this comment.
Thank you! Looks good to me. I just left a couple of comments, but I would ultimately follow Kaitlyn's advice after she has time to review this.
Comment on lines
+19
to
+22
| You need a RedisEnterpriseCluster (REC) running a version of Redis Enterprise Software that supports SCH: | ||
|
|
||
| - Redis Enterprise Software 8.0.2-17 or later for standalone (Enterprise cluster mode) connections. | ||
| - Redis Enterprise Software 8.0.16-29 or later for [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}) connections. |
Collaborator
There was a problem hiding this comment.
On the Redis Software side, we dropped "Enterprise" from the name. But I would go with whatever Kaitlyn thinks is appropriate for the k8s section.
Suggested change
| You need a RedisEnterpriseCluster (REC) running a version of Redis Enterprise Software that supports SCH: | |
| - Redis Enterprise Software 8.0.2-17 or later for standalone (Enterprise cluster mode) connections. | |
| - Redis Enterprise Software 8.0.16-29 or later for [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}) connections. | |
| You need a RedisEnterpriseCluster (REC) running a version of Redis Software that supports SCH: | |
| - Redis Software 8.0.2-17 or later for standalone (Enterprise cluster mode) connections. | |
| - Redis Software 8.0.16-29 or later for [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}) connections. |
|
|
||
| To confirm that SCH reduces disruption during maintenance, [upgrade the Redis Enterprise cluster]({{< relref "/operate/kubernetes/upgrade" >}}), which adds and removes nodes as the operator performs a rolling upgrade of the pods. | ||
|
|
||
| 1. Make sure both the source and target Redis Enterprise Software versions support SCH. |
Collaborator
There was a problem hiding this comment.
Suggested change
| 1. Make sure both the source and target Redis Enterprise Software versions support SCH. | |
| 1. Make sure both the source and target Redis Software versions support SCH. |
|
|
||
| Use the [`/v1/cluster`]({{< relref "/operate/rs/references/rest-api/requests/cluster#put-cluster" >}}) REST API request to enable SCH for both Enterprise cluster mode and OSS Cluster API mode. Set `client_maint_notifications` and `oss_cluster_client_maint_notifications` to `true`. | ||
|
|
||
| The following example uses [`curl`](https://curl.se/) and addresses the cluster REST API on port `9443` of the REC service (for example, `rec` in a cluster named `rec`): |
Collaborator
There was a problem hiding this comment.
Maybe this is just a k8s thing that I'm unfamiliar with, but "for example, rec in a cluster named rec" seems a bit confusing to me.
Contributor
Author
|
Thanks @rrelledge ! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documents Smart client handoffs (SCH) support for Redis Enterprise on Kubernetes (DOC-6816), based on David Maier's input.
content/operate/kubernetes/networking/smart-client-handoffs.md— enables SCH on a K8s REC for the same-pod-network / IP-based / no-TLS scenario: prerequisites and version gates (RS 8.0.2-17 standalone, 8.0.16-29 OSS Cluster API), get cluster credentials, enable via thePUT /v1/clusterREST API request, verify theMONITORhandshake, and validate during an operator upgrade. Includes port-forward guidance for reaching theClusterIPREST service.content/develop/clients/sch.md— the Kubernetes section now says SCH is supported (was "not currently supported") and links to the new page.content/operate/kubernetes/networking/_index.md— adds a Smart client handoffs section.content/operate/rs/references/rest-api/objects/cluster/_index.md— adds theoss_cluster_client_maint_notificationsfield row.Reviewer questions (need eng sign-off)
oss_cluster_client_maint_notificationsis undocumented upstream. It's absent from the release notes and (before this PR) the REST API reference. Please confirm the exact name and default.client_maint_notificationsandoss_cluster_client_maint_notifications. Please confirm whether a standalone-only cluster on 8.0.2-17 accepts the OSS flag, and whether OSS Cluster API mode requires both flags or only the OSS-specific one. If it matters, the command should be split by mode.Deferred (intentional)
Notes
networking/; not mirrored into the8.0/networking/snapshot — leave to release-branch sync unless we want it now.hugo --renderToMemorybuilds clean (exit 0, no relref errors).🤖 Generated with Claude Code
Note
Low Risk
Documentation-only changes with no runtime or configuration defaults altered in product code.
Overview
Documents Smart client handoffs (SCH) for Redis Enterprise on Kubernetes when apps and the REC share the same pod network (IP-based, no TLS). A new Enable smart client handoffs (SCH) page covers version gates, pulling cluster credentials from the K8s secret, enabling SCH via
PUT /v1/cluster(client_maint_notificationsandoss_cluster_client_maint_notifications), reaching theClusterIPAPI withkubectl port-forward, verifyingCLIENT MAINT_NOTIFICATIONSviaMONITOR, and validating behavior during a rolling upgrade.The develop SCH overview no longer states K8s is unsupported; it now describes supported scope and links to the new guide. The Kubernetes Networking index adds a SCH section with the same link. The cluster REST API reference gains a row for
oss_cluster_client_maint_notifications(defaultfalse). External TLS / name-based access is explicitly out of scope.Reviewed by Cursor Bugbot for commit eee4bc2. Bugbot is set up for automated code reviews on this repo. Configure here.