• 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 0s
    Release / frontend (push) Canceled after 0s
    Release / linux (amd64) (push) Canceled after 0s
    Release / linux (arm64) (push) Canceled after 0s
    Release / windows (push) Canceled after 0s
    Release / macos (push) Canceled after 0s
    Release / release (push) Canceled after 0s
    Build and Push Docker Image / build-and-push (push) Canceled after 0s

    LastSkywalker released this 2026-08-30 18:46:47 +03:00 | 88 commits to main since this release

    Hosts (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. New node-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