fix: add cluster endpoint IP override and Windows agent download support

1. Add IPOverride field to ClusterEndpoint struct
   - Allows users to specify a custom IP that takes precedence over auto-discovered IPs
   - Fixes #929 and #1066 where Pulse used internal cluster IPs instead of management IPs
   - Added EffectiveIP() method to cleanly handle the override logic

2. Update connection code to use EffectiveIP()
   - monitor.go: Use override when building endpoint URLs
   - temperature_proxy.go: Use override for proxy connections

3. Add bare Windows EXE files to GitHub releases
   - Fixes #1064 where LXC/barebone installs couldn't download Windows agents
   - Modified build-release.sh to copy EXEs alongside ZIPs
   - Added EXEs to checksum generation
This commit is contained in:
rcourtman 2026-01-08 23:04:25 +00:00
parent 568aac6bd0
commit d5c93fd226
8 changed files with 4318 additions and 4224 deletions

View file

@ -150,7 +150,8 @@ func buildAuthorizedNodeList(instances []config.PVEInstance) []authorizedNode {
if instance.ClusterEndpoints != nil {
for _, ep := range instance.ClusterEndpoints {
name := ep.NodeName
ip := ep.IP
// Use EffectiveIP() which prefers IPOverride over auto-discovered IP
ip := ep.EffectiveIP()
if ip == "" {
ip = extractHostPart(ep.Host)
}