-
v0.5.10 Stable
released this
2026-07-15 13:33:48 +00:00 | 33 commits to main since this releaseFixed
- Delete no longer drops the finalizer (leaking a live identity + credential) when it lost the
identity ID and cannot resolve one by email. A(nil, nil)email lookup is ambiguous — the
identity may be genuinely gone, or not yet email-indexed (a racing create's index lag), or the
schema is non-email (email is never the lookup key). UnderHoldUntilSuccessthe CR now HOLDS the
finalizer for a bounded grace (2 min from the deletion timestamp), retrying so a lagging index can
surface a just-created identity, and only gives up afterward rather than wedgingTerminating
forever. (Deletes that still hold the recorded ID are unaffected — they delete directly.) - Steady-state fast path no longer rubber-stamps a different identity Ready. If identity X (the
one we manage) is deleted out of band and a new identity Y is created under the same email, the
fast path adopted Y asReadywithout re-asserting the spec's managed password/traits. It now
short-circuits only when the email's identity is still our recorded ID; otherwise it falls through
to the full converge soupdateIdentityre-asserts. - Legacy
status.ready/status.phasemirror is cleared on a held deletion. Under
HoldUntilSuccessa failing delete keeps the CR alive; the mirror no longer reportsReady=true
(with a staleReadyprint column) while the CR is stuckTerminating+Degraded.
Included changes (v0.5.9 -> v0.5.10)
18fe8517dd57fix(kratos): r5 cluster — delete cred-leak, adopt-guard, held-deletion mirror (3 fixes)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Delete no longer drops the finalizer (leaking a live identity + credential) when it lost the