Doctor reports the migrate container's client-address mode, not the API's #55

Open
opened 2026-10-04 20:02:10 +00:00 by Zayin_Admin · 0 comments
Owner

On a split deployment (instance v2026.10.1, platform v0.1.1), doctor.js run via docker compose run --rm migrate reports "Direct client-address mode: trusts only the immediate socket peer", while the running api has EKKLESIA_CLIENT_ADDRESS_MODE=trusted-proxy, …_HEADER=x-forwarded-for and …_TRUSTED_PROXIES=10.249.250.254/32. The deploy compose gives these variables to api only, so the doctor checks a configuration that never serves traffic.

Risk: an operator could read "direct mode" as correct, or miss a real misconfiguration of api (e.g. direct mode behind a proxy, which collapses all clients into one rate-limit bucket).

Options: give migrate the same client-address variables, so the doctor sees the API's configuration; or have the doctor label this check as describing its own process and point to docker compose exec api … for the live value; or query the running API's effective setting through an admin or health endpoint.

On a split deployment (instance v2026.10.1, platform v0.1.1), doctor.js run via docker compose run --rm migrate reports "Direct client-address mode: trusts only the immediate socket peer", while the running api has EKKLESIA_CLIENT_ADDRESS_MODE=trusted-proxy, …_HEADER=x-forwarded-for and …_TRUSTED_PROXIES=10.249.250.254/32. The deploy compose gives these variables to api only, so the doctor checks a configuration that never serves traffic. Risk: an operator could read "direct mode" as correct, or miss a real misconfiguration of api (e.g. direct mode behind a proxy, which collapses all clients into one rate-limit bucket). Options: give migrate the same client-address variables, so the doctor sees the API's configuration; or have the doctor label this check as describing its own process and point to docker compose exec api … for the live value; or query the running API's effective setting through an admin or health endpoint.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Zayin/Ekklesia#55