fix: make plans list public, fix frontend healthcheck IPv6

PlansController had a class-level [Authorize] that gated the public
plans list, contradicting the gateway's optionalAuth on /plans. Mark
List/GetById [AllowAnonymous] and resolve tenant optionally so
anonymous callers receive global plans (purchase/current-plan stay
authenticated).

Frontend container stayed "unhealthy" because busybox wget resolves
localhost to IPv6 [::1] while the Next.js standalone server binds
IPv4 only. Use 127.0.0.1 in the healthcheck.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-05-30 00:24:53 +03:30
parent 90ac0b81d1
commit 8b86f17645
4 changed files with 9 additions and 5 deletions
+1 -1
View File
@@ -297,7 +297,7 @@ services:
gateway:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:3000 || exit 1"]
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3000 || exit 1"]
interval: 30s
timeout: 10s
retries: 3