fix(health): stop raw-probing ports of containers with own healthchecks
Some checks failed
Demo images / Build & push demo images (push) Failing after 1m34s
Some checks failed
Demo images / Build & push demo images (push) Failing after 1m34s
The health monitor opened a bare TCP connection to every published host port each cycle. Against TLS listeners that connect+close logs noise on the app side — LND printed 'http: TLS handshake error … EOF' endlessly. Containers that define a podman healthcheck (LND uses lncli getinfo) now rely on it alone; bare containers keep the port probe. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
47dea8cd55
commit
5cb53ade66
@ -475,7 +475,12 @@ async fn check_containers() -> Vec<ContainerHealth> {
|
||||
|
||||
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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user