diff --git a/core/archipelago/src/health_monitor.rs b/core/archipelago/src/health_monitor.rs index 613db8e4..fbcdc2cd 100644 --- a/core/archipelago/src/health_monitor.rs +++ b/core/archipelago/src/health_monitor.rs @@ -475,7 +475,12 @@ async fn check_containers() -> Vec { let podman_health = parse_podman_health(c, &state); let host_ports = host_tcp_ports_from_container(c); - let host_port_ready = if host_ports.is_empty() { + // Only raw-probe published ports for containers WITHOUT their own + // podman healthcheck. The healthcheck is the better signal, and the + // bare TCP connect+close is noisy against TLS listeners — LND logged + // "http: TLS handshake error … EOF" on every monitor cycle because + // this probe hit its REST/gRPC ports and hung up mid-handshake. + let host_port_ready = if host_ports.is_empty() || podman_health.is_some() { None } else { Some(host_ports_ready(&host_ports).await)