mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-11 14:00:29 +00:00
0e8f63cdd5
Host identities fork onto "<base>-<hex>" when an agent re-enrolls under a new token (re-running an install with --proxmox is enough), and discovery then stores records under the forked host ID while the PVE node keeps reporting the base agent UUID as its linked agent. Store.ListByTarget matches TargetID byte-for-byte and ListDiscoveriesByTarget did no alias resolution, so the resource drawer's list call returned an empty 200 and the Discovery tab reported "no saved discovery run" for hosts that had been analyzed. GetDiscoveryByResource's normalization missed too: a base UUID matches neither the forked host ID nor its hostname. Expand the requested target into every spelling that provably names the same target (equivalentDiscoveryTargetIDs): a matched node's linked agent ID and name, a matched host's own ID/hostname pairing, and hex fork suffixes of any of those, including the twice-forked truncated-base shape. Filter the list path against that set and seed the same spellings into the single-record alias path. Trimmed from PR #1715 as submitted: the transitive hostname closure (node name -> hostnames -> other hosts' IDs) is dropped. Multi-estate deployments legitimately reuse node names and hostnames, and the hop would have surfaced another estate's records in the drawer, discovery readiness, and AI context. A regression test pins the non-bridging behavior.