fix: cluster topology connect fails with NOAUTH when username is empty string#252
Merged
ravjotbrar merged 1 commit intovalkey-io:mainfrom Mar 27, 2026
Conversation
…y string When connecting to a discovered cluster node via the Cluster Topology page, credentials were silently dropped if username was an empty string (e.g. the ElastiCache 'default' user). The condition `primary.username && primary.password` short-circuits to false when username is "", so neither username nor password was sent in the connectPending payload, causing a NOAUTH error on the server side. Fix: gate only on password presence and default username to empty string. Also includes a Dockerfile fix to install ca-certificates for TLS connections. Signed-off-by: Alexey Temnikov <[email protected]>
5cf1c2a to
ef360b3
Compare
alexey-temnikov
added a commit
to alexey-temnikov/valkey-admin
that referenced
this pull request
Mar 26, 2026
- Fix cluster node switching in header dropdown - Fix RequireConnection guard for cluster routes - Fix server-side client resolution for non-entry cluster nodes - Fix credential passing for empty username (PR valkey-io#252) - Add ca-certificates to Dockerfile for TLS - Make entire badge clickable for dropdown toggle Signed-off-by: Alexey Temnikov <[email protected]>
This was referenced Mar 26, 2026
ravjotbrar
approved these changes
Mar 27, 2026
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.
Bug
When connecting to a discovered cluster node via the Cluster Topology page, clicking the power icon on any node other than the initially-connected one fails with a
NOAUTHerror.Root Cause
In
cluster-node.tsx,handleNodeConnectspreads credentials into the connection payload using:When
usernameis""(empty string) — which is the case for the ElastiCachedefaultuser — the expression short-circuits tofalse, so neitherusernamenorpasswordis included in theconnectPendingpayload. The server then attempts an unauthenticated connection and receivesNOAUTH.Fix
Gate only on
passwordpresence and defaultusernameto"":Also includes a
Dockerfile.appfix to installca-certificates, required for TLS connections to ElastiCache.How It Was Tested
Tested against a live AWS ElastiCache Valkey cluster (cluster-mode enabled, 6 shards × 3 nodes = 18 nodes, TLS enabled, auth user
defaultwith password).Steps:
****:6379) with usernamedefault, password set, TLS enabled0002-001Before fix:
NOAUTHerror — connection failedAfter fix: Dashboard loaded for
0002-001— connection succeeded, zero console errorsThe fix was verified on the deployed Docker container on EC2 (Amazon Linux 2023,
t3.medium).