-
feat(join): leader hands its bridge uplink to the joiner so a new node ships to the hub immediately
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-06-21 12:01:20 +03:00 | 116 commits to main since this releaseA node joining an existing cluster never turned on its own cross-cluster uplink
at join time — it relied on the background config reconcile, which could leave
the joiner with its bridge disabled (it never shipped its own metrics to the hub).Propagate the uplink at join time:
- The leader's /raft/join response now includes its bridge config (shared secret
- hub seeds) when it has one. The endpoint is join-token-authenticated, so the
secret only reaches a trusted joiner; gated on having seeds so a pure receiver
leaks nothing.
- hub seeds) when it has one. The endpoint is join-token-authenticated, so the
- The joiner (performRaftJoin) reads it and applies it immediately — live
ConfigureBridge + persisted to .env — so it ships its own metrics to the hub
without a restart and without waiting on reconcileBridgeConfig (kept as a
self-healing fallback). The operator's own join request still takes precedence. - New Container.ApplyBridgeUplink (push mode) on the RaftActivator interface.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01U3LvJu9qZfspPr21TW9ptvDownloads
- The leader's /raft/join response now includes its bridge config (shared secret