/readyz walked the hash chain and opened pooled connections with no libpq connect_timeout, so a 2s kubelet probe never saw a response and the pod stayed unready. Informed Decision accept is blocked on that. Probe health() only, under a 1.5s budget, publish last-known tamper_evidence, and fail TCP handshake in 1s. Integrity stays on /v1/integrity. Assistant: grok Assistant-Session: 01a0a182-bab7-7f11-b32b-d06f3af52082
1.2 KiB
| id | type | title | domain | repo | status | flavor | owner | topic_slug | created | updated |
|---|---|---|---|---|---|---|---|---|---|---|
| ADHOC-2026-09-14 | workplan | Ad hoc tasks 2026-09-14 | infotech | audit-core | finished | implementation | grok | railiance | 2026-09-14 | 2026-09-14 |
Ad hoc tasks 2026-09-14
Bound /readyz so the Service can become Ready
id: ADHOC-2026-09-14-T01
status: done
priority: high
Inbox from grok (INFD-WP-0002-T03): audit-core Service has no ready
endpoints. The live pod is Ready=false since 2026-09-11T08:27:26Z;
/healthz is 200; /readyz hangs >8s against kubelet timeoutSeconds: 2.
Informed Decision accept is 503 approval_path_not_connected until a ready
endpoint exists.
Cause: /readyz called retention_policy, which walks the hash chain and
opens a pooled connection with no libpq connect_timeout and a 30s
statement timeout. A hung walk or handshake looks the same as down.
Change: /readyz checks health() (SELECT 1) under a 1.5s budget,
publishes last-known tamper_evidence without walking, and sets
connect_timeout=1. Integrity stays on /v1/integrity. Production needs a
receiver image rebuild and rollout after this lands.
Evidence: Informed Decision
docs/evidence/2026-09-14-infd-0002-t03-bind-path-probe.json.