CluPilotCloud/app/Provisioning/Jobs
nexxo c54b718566 fix(vpn): never let an access hijack a host key; name adopted peers correctly
- A host's wg_pubkey may not be in vpn_peers yet, so the duplicate check passed
  and an operator could create an access with it. ApplyVpnPeer would then run
  wg set with a freshly allocated address, rewriting that host's allowed-ip and
  cutting CluPilot's management tunnel to a live machine. Creation now rejects
  keys already held by a host, checked under the allocation lock.
- A sync landing between addPeer() and the step storing wg_pubkey adopted the
  peer as "unknown", and a later sync filled in host_id but left the name, so
  the page showed that host as unknown forever. The name is now filled in when
  the link becomes known — only for sync-adopted rows, so an access an operator
  named keeps its name.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 21:58:03 +02:00
..
AdvanceRunJob.php fix(engine): durable queueing for long provisioning steps 2026-07-25 10:36:49 +02:00
ApplyVpnPeer.php fix(vpn): serialize hub reads against hub mutations 2026-07-25 21:53:13 +02:00
PurgeHost.php fix(engine): record wg peer only after verified handshake; async host purge 2026-07-25 11:06:13 +02:00
RemoveWireguardPeer.php fix(vpn): lock every hub mutation; resolve duplicate keys inside the lock 2026-07-25 21:55:57 +02:00
SyncVpnPeers.php fix(vpn): never let an access hijack a host key; name adopted peers correctly 2026-07-25 21:58:03 +02:00