From 77b4ccf59275d180f6ded3c86cad06249c146424 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Sat, 18 Oct 2025 23:08:11 +0000 Subject: [PATCH] feat: simplify SSH verification failure messaging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- internal/api/config_handlers.go | 35 ++++++--------------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/internal/api/config_handlers.go b/internal/api/config_handlers.go index 745848e..73847c3 100644 --- a/internal/api/config_handlers.go +++ b/internal/api/config_handlers.go @@ -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 \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 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")