fix(mempool): health-check 127.0.0.1 not localhost (stops false-unhealthy loop)
The archy-mempool-web health_check endpoint used http://localhost:8080. Inside the frontend image, wget resolves `localhost` to ::1 (IPv6) first, but nginx binds 0.0.0.0:8080 (IPv4) only -> the baked HealthCmd gets "connection refused" every probe -> container is perpetually unhealthy -> the reconciler recreates it forever (observed on .228: mempool container re-Started every ~3 min, Health=unhealthy). Proven live: in-container `wget http://localhost:8080/` = refused, `wget http://127.0.0.1:8080/` = OK. Pin the probe to 127.0.0.1 so it matches nginx's IPv4 bind. Updated both the source manifest and the embedded copy in releases/app-catalog.json (the catalog overlay wins over the disk manifest on fleet nodes, so the catalog copy is the one that actually reaches .228). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
83344b9f3a
commit
d7c6f8c348
@ -33,7 +33,10 @@ app:
|
|||||||
|
|
||||||
health_check:
|
health_check:
|
||||||
type: http
|
type: http
|
||||||
endpoint: http://localhost:8080
|
# 127.0.0.1 not localhost: the image's wget resolves localhost to ::1 (IPv6)
|
||||||
|
# first, but nginx binds 0.0.0.0:8080 (IPv4) only -> localhost probe gets
|
||||||
|
# "connection refused" -> perpetual unhealthy -> health_monitor restart loop.
|
||||||
|
endpoint: http://127.0.0.1:8080
|
||||||
path: /
|
path: /
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
|
|||||||
@ -235,7 +235,7 @@
|
|||||||
],
|
],
|
||||||
"health_check": {
|
"health_check": {
|
||||||
"type": "http",
|
"type": "http",
|
||||||
"endpoint": "http://localhost:8080",
|
"endpoint": "http://127.0.0.1:8080",
|
||||||
"path": "/",
|
"path": "/",
|
||||||
"interval": "30s",
|
"interval": "30s",
|
||||||
"timeout": "5s",
|
"timeout": "5s",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user