-
fix(hosts,auth): stale docker-bridge MAC on id=1 no longer swallows another machine; Raft-first password changes; break-glass reset-password
Release / version (push) Canceled after 0sRelease / frontend (push) Canceled after 0sRelease / linux (amd64) (push) Canceled after 0sRelease / linux (arm64) (push) Canceled after 0sRelease / windows (push) Canceled after 0sRelease / macos (push) Canceled after 0sRelease / release (push) Canceled after 0sBuild and Push Docker Image / build-and-push (push) Canceled after 0sreleased this
2026-08-30 18:46:47 +03:00 | 88 commits to main since this releaseHosts (seen on a docker-to-native migrated LXC node): id=1 kept the old
02:42:.. docker-bridge MAC because its real NIC MAC was held by the Proxmox
connector's self-guest row, and UpsertHost's "MAC matches id=1 so it's us"
guard then treated a DIFFERENT machine deriving the same docker MAC
(orangepi) as this node: it never got a row and its metrics landed on our
card. Now: UpsertLocalHost absorbs a same-machine duplicate holding our MAC
(topology merged, metrics re-homed, row dropped) so id=1 takes its real MAC;
the id=1 guard requires the machine-id/UUID to agree; a create whose MAC is
taken falls back to a synthetic MAC instead of failing the unique index.Auth: setPassword wrote the DB directly and replicated best-effort; when the
Raft submit failed the FSM never saw the change and the next restart
(snapshot restore + replay) rolled the password back, i.e. "my password keeps
resetting" on the hub. With Raft on, the change now goes through the log only
and errors loudly if it can't. Newnode-stats reset-password <email>CLI
hits a loopback-only /auth/local-reset on the running server so a locked-out
admin can recover through the same replicated path.Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Downloads