Replies: 3 comments 2 replies
-
|
is this planned for 0.2.0? |
Beta Was this translation helpful? Give feedback.
-
|
I'm onboard with the overall design. Just one question: the "ROLE" column in the output of |
Beta Was this translation helpful? Give feedback.
-
|
We explored a very similar "one workload primitive per Valkey process" idea and landed on a StatefulSet-per-shard shape rather than a per-pod CRD; sharing the trade-offs we measured in case they're useful input on the abstraction boundary.
The main cost we paid for per-shard workloads is more objects to reconcile and a slightly more complex create/scale path — a per-pod ValkeyNode CRD is a cleaner way to centralize that pod/PVC/status logic, so the direction here makes sense to us. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
This proposal introduces a ValkeyNode CRD — an internal, operator-managed abstraction that represents a single Valkey pod. Users never create ValkeyNodes directly; they are created by parent controllers (e.g. ValkeyCluster, Valkey).
📄 Full proposal: VALKEY_NODE_CRD_PROPOSAL.md
🔧 Proof of concept: feat/valkeynode-crd
Why?
Today, ValkeyCluster directly manages Deployments/StatefulSets, PVCs, and pod lifecycle. As we add more CRDs (Valkey standalone/replicated, ValkeyPool, Sentinel), each would need to duplicate this infrastructure logic.
ValkeyNode provides a single place to manage:
INFO replicationpodIP,podName,ready,observedRole)Design principles
REPLICAOF,CLUSTER MEET, etc.) directly against pods viastatus.podIP.What it looks like
Trade-offs
Pros
Cons
Questions for voters
Please vote in the poll below, and feel free to leave comments with:
3 votes ·
Beta Was this translation helpful? Give feedback.
All reactions