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
docs(plan): add 10.3 design summary with concrete YAML examples
Adds a "10.3 design summary" subsection with:
- Go pseudocode for DRBDOptions / DRBDNetOptions / DRBDResourceOptions
/ EncryptionConfig structs, including the *int32 / *bool
override-semantics convention (nil = not overridden, non-nil =
explicitly set, even if zero)
- ResourceDefinition before/after YAML showing how
Spec.Props["DrbdOptions/Net/protocol"] becomes
Spec.DRBDOptions.Net.Protocol (with admission-validated enum) and
how plaintext passphrase in spec becomes a Secret reference
- Node before/after YAML showing topology moving from
Spec.Props["Aux/zone"] to native metadata.labels and observed
state (BlockstorVersion) moving from Spec to Status
- REST shim transcoder shape — golinstor wire format stays
identical via bidirectional translation, with ExtraProps as
forward-compat shim for unknown keys (goal: empty in
steady-state production)
- Validation strategy (kubebuilder enums + defaults + CEL for
cross-field invariants)
- Resolver and .res renderer impact: per-section field-by-field
merge instead of map[string]string overlay; same line count,
no string parsing
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Copy file name to clipboardExpand all lines: PLAN.md
+135Lines changed: 135 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -555,6 +555,141 @@ LINSTOR boundary.
555
555
-[ ] REST shim transcoder: `/v1/resource-definitions` and `/v1/resource-groups` POST/PUT accept upstream-shaped `{props: {...}}` payloads from golinstor, decode into the typed structs, write `ExtraProps` only for keys we don't recognise. GET responses re-emit the typed fields as `props` on the wire so golinstor stays happy.
556
556
-[ ] Validation via kubebuilder enums (`+kubebuilder:validation:Enum=majority;off`) — apiserver rejects garbage values at admission, satellite stops parsing strings at runtime.
0 commit comments