fix(indeedhub): frontend health = tcp:7777 not http GET / (stops reconcile churn)
On the loaded .198 the frontend churned (created → "unhealthy" → reconciler recreates → loop). The http health check fetched / through nginx (SPA + sub_filter) and false-failed under node load; the reconciler then treated the frontend as wedged and recreated it. nginx binds 7777 at startup, so a tcp liveness check passes immediately and stays green under load while still catching a real "nginx not listening" failure. Generous retries/start_period. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e4d3f94913
commit
e2a012d086
@ -67,14 +67,18 @@ app:
|
|||||||
- exec: ["sh", "-c", "grep -q nostr-provider /etc/nginx/conf.d/default.conf || sed -i 's#</head>#<script src=\"/nostr-provider.js\"></script></head>#' /etc/nginx/conf.d/default.conf"]
|
- exec: ["sh", "-c", "grep -q nostr-provider /etc/nginx/conf.d/default.conf || sed -i 's#</head>#<script src=\"/nostr-provider.js\"></script></head>#' /etc/nginx/conf.d/default.conf"]
|
||||||
- exec: ["nginx", "-s", "reload"]
|
- exec: ["nginx", "-s", "reload"]
|
||||||
|
|
||||||
|
# TCP liveness on the nginx port, NOT an http GET of /. nginx binds 7777 at
|
||||||
|
# startup (before workers), so this passes immediately and stays green under
|
||||||
|
# load. An http check of / runs the SPA + sub_filter and false-fails when the
|
||||||
|
# node is busy → the reconciler then treats the frontend as wedged and
|
||||||
|
# recreates it in a loop (observed churning the frontend on the loaded .198).
|
||||||
health_check:
|
health_check:
|
||||||
type: http
|
type: tcp
|
||||||
endpoint: http://localhost:7777
|
endpoint: localhost:7777
|
||||||
path: /
|
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 5s
|
||||||
retries: 3
|
retries: 5
|
||||||
start_period: 40s
|
start_period: 30s
|
||||||
|
|
||||||
interfaces:
|
interfaces:
|
||||||
main:
|
main:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user