-
v0.4.9 Stable
released this
2026-07-15 14:48:19 +00:00 | 16 commits to main since this releaseFixed
reconcile: aReady=Falsecondition with an empty caller-supplied reason is no longer emitted —
ReadyFalsenow defaults an empty reason toNotReady. The Kubernetes API rejects a condition with
an emptyReason(422FieldValueRequired), so an outcome that reached the failure path with no
reason previously produced an unwritable condition (silent status-write failure). (ReadyTruewas
already safe — it always uses a constant reason.) (+TestReadyFalse_DefaultsEmptyReason)reconcile: the dry-run converge path now callsMirrorStatusbefore persisting, like every
other status-writing path. A dry-run CR isReady, but the legacy mirrored fields were left
reflecting the prior phase — permanently inconsistent withReady=Truefor operators that use a
MirrorStatushook. (No-op whenMirrorStatusis nil, so operators without one are unaffected.)
Included changes (v0.4.8 -> v0.4.9)
6d458960cddbfix(reconcile): default empty Ready=False reason (422 guard) + mirror on dry-run
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads