feat: simplify SSH verification failure messaging

Changed the SSH connectivity check failure message from a scary
"FAILED" warning with complex ProxyJump instructions to a simple
informational message.

Before:
- ⚠️ SSH connectivity FAILED for: ...
- Complex multi-line ProxyJump configuration
- Confusing for users who don't need temperature monitoring

After:
- ℹ️  Temperature monitoring will be available once SSH configured
- Simple list of pending nodes
- Brief note about pulse-sensor-proxy for LXC
- Link to docs for details

This makes the setup experience much more turnkey by reducing
noise and focusing on successful completion rather than optional
features that require additional configuration.
This commit is contained in:
rcourtman 2025-10-18 23:08:11 +00:00
parent 92215c012e
commit 77b4ccf592

View file

@ -2542,38 +2542,15 @@ func (h *ConfigHandlers) HandleVerifyTemperatureSSH(w http.ResponseWriter, r *ht
if len(successNodes) > 0 {
response.WriteString("\n")
}
response.WriteString("⚠️ SSH connectivity FAILED for:\n")
response.WriteString(" Temperature monitoring will be available once SSH connectivity is configured.\n")
response.WriteString("\n")
response.WriteString("Nodes pending configuration:\n")
for _, node := range failedNodes {
response.WriteString(fmt.Sprintf(" • %s\n", node))
}
// Check if Pulse is containerized
isContainerized := os.Getenv("PULSE_DOCKER") == "true" || isRunningInContainer()
if isContainerized {
response.WriteString("\n")
response.WriteString("Pulse is running in a container and cannot reach these nodes directly.\n")
response.WriteString("\n")
response.WriteString("To fix this, configure SSH ProxyJump in /home/pulse/.ssh/config:\n")
response.WriteString("\n")
response.WriteString(" Host GATEWAY_NODE\n")
response.WriteString(" HostName <gateway-ip>\n")
response.WriteString(" User root\n")
response.WriteString(" IdentityFile ~/.ssh/id_ed25519\n")
response.WriteString("\n")
for _, node := range failedNodes {
response.WriteString(fmt.Sprintf(" Host %s\n", node))
response.WriteString(fmt.Sprintf(" HostName %%h\n"))
response.WriteString(" User root\n")
response.WriteString(" ProxyJump GATEWAY_NODE\n")
response.WriteString("\n")
}
response.WriteString("Replace GATEWAY_NODE and <gateway-ip> with your Proxmox host details.\n")
} else {
response.WriteString("\n")
response.WriteString("Temperature data will not be available for these nodes.\n")
response.WriteString("Ensure Pulse can SSH to these nodes as root using key-based authentication.\n")
}
response.WriteString("\n")
response.WriteString("For LXC deployments, consider installing pulse-sensor-proxy on the Proxmox host.\n")
response.WriteString("See: https://docs.pulseapp.io for detailed SSH configuration options.\n")
}
w.Header().Set("Content-Type", "text/plain")