Skip to content

K8s: Document disconnectClientsOnPasswordRemoval (RED-197499) - #3794

Open
oshribr wants to merge 1 commit into
mainfrom
oshribr-k8s-disconnect-clients-RED-197499
Open

K8s: Document disconnectClientsOnPasswordRemoval (RED-197499)#3794
oshribr wants to merge 1 commit into
mainfrom
oshribr-k8s-disconnect-clients-RED-197499

Conversation

@oshribr

@oshribr oshribr commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Documents the operator's new CRD fields exposing the Redis Software
setting disconnect_clients_on_password_removal (controls whether client
connections that authenticated with a removed, revoked, or rotated
password are actively disconnected):

  • REC spec.disconnectClientsOnPasswordRemovalEnabled /
    Disabled / Auto. Cluster-wide policy: Enabled/Disabled force
    the behavior for all databases; Auto (the Redis Software default)
    defers to each database's own setting.
  • REDB spec.disconnectClientsOnPasswordRemoval — boolean (default
    false). Takes effect only when the cluster policy is Auto.
  • REAADB spec.globalConfigurations.disconnectClientsOnPasswordRemoval
    — boolean, propagated to all participating clusters.

The canonical explanation (setting semantics + operator ownership /
upgrade path) lives on the REC page; the REDB section and a
manage-users rotation cross-link point to it.

Pages changed

  • content/operate/kubernetes/re-clusters/_index.md — canonical section
  • content/operate/kubernetes/re-databases/db-controller.md — REDB
    example + pointer
  • content/operate/kubernetes/security/access-control/manage-users.md
    cross-link after the Rotatable password-rotation steps

Notes for reviewers

  • The operator release that includes this feature is not yet
    released
    — the version appears as X.Y.Z with <!-- TODO -->
    comments marking every occurrence. Replace them when the release
    number is fixed.
  • The auto-generated CRD API reference pages under
    reference/api/ are intentionally untouched; the new field entries
    arrive with the next regeneration.
  • Requires Redis Software 8.0.2 or later (field added in RS 8.0.2-17).

Ticket: RED-197499


Note

Low Risk
Documentation-only changes with no code, API, or runtime impact. Placeholder operator version X.Y.Z still needs replacement before release.

Overview
Documents how to configure disconnect clients on password removal through Kubernetes custom resources (requires Redis Software 8.0.2+ and operator X.Y.Z).

Adds a canonical section on the REC page covering cluster-wide policy (Enabled/Disabled/Auto), per-database and Active-Active settings, YAML examples, and when the operator takes ownership vs. preserving pre-upgrade REST API values.

Also adds a REDB configuration section with an example, and a cross-link from the Rotatable password-rotation steps in manage-users.

Reviewed by Cursor Bugbot for commit eb9563e. Bugbot is set up for automated code reviews on this repo. Configure here.

Documents the operator's new disconnectClientsOnPasswordRemoval CRD
fields (REC enum, REDB boolean, REAADB via globalConfigurations),
canonically on the REC page, with the REDB section and a manage-users
rotation cross-link pointing at it.

The draft survived two structural reversals worth knowing about. It
first duplicated the ownership semantics on both the REC and REDB
pages, then deduplicated REDB-canonical, and finally flipped to
REC-canonical because the cluster policy is the parent concept. More
importantly, the first draft had the semantics backwards. Per the RS
source (Bdb::disconnect_clients_on_password_removal in
dmcproxy/dmc/bdb/bdb.cpp, release-8.0.2), the cluster value is a
cluster-wide override — Enabled/Disabled force the behavior for every
database — and a database's boolean takes effect only when the cluster
is Auto. "Auto" does not mean "Redis Software decides"; it means
"defer to the per-database setting". A REAADB paragraph in
active-active/global-config.md was written and then removed; the
REAADB field is covered by a bullet in the REC canonical section
instead.

Learned: cluster value is the override; per-database boolean applies only when the cluster policy is Auto
Constraint: operator version X.Y.Z gates only CRD-based configuration; with RS 8.0.2+ the setting is configurable via REST on any operator version
Rejected: duplicating ownership semantics on REC and REDB pages | subtle text that drifts
Rejected: REDB page as canonical location | cluster policy is the parent concept, so the REC page holds the full explanation
Directive: do not hand-edit reference/api pages for the new fields; they arrive with the next CRD regeneration
Recheck: when the first operator release with this feature ships, replace every X.Y.Z placeholder (TODO comments mark them)
Ticket: RED-197499
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions

Copy link
Copy Markdown
Contributor

🧠 Redis Memory

Found 5 related items from repository history (5 new this commit):

Memory updated at eb9563e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants