fix(nginx): route /api/v1/ai/* к writer (был fall-through к read-api → 500)

После !234 ship'нул AiSchemaController на writer, frontend hit /api/v1/ai/info
получает 500 — generic /api/v1/ location route к read-api который не имеет
этих handlers. Тот же pattern fix что для /drafts/, /me/, /admin/ — explicit
location к writer перед generic /api/v1/ fallback.

Без этого AI feature unusable в staging (даже если backend healthy).
This commit is contained in:
Zimin A.N.
2026-05-16 19:51:04 +03:00
parent db5d5c19e2
commit c86ce8c8d5
+16
View File
@@ -115,6 +115,22 @@ server {
proxy_pass_request_headers on;
}
# /api/v1/ai/* — AI Schema Assist (LlmAdapter + AiSchemaController). Writer
# only — read-api не подключает ordinis-rest-api ai package. Без явного
# правила generic /api/v1/ ниже → read-api → 500 NoResourceFoundException.
# Conditional на ordinis.ai.enabled — если flag off, controller бесконечно
# не зарегистрирован, writer возвращает 404 чисто (frontend hides UI).
location ~ ^/api/v1/ai(/|$) {
set $backend "ordinis-app.${ORDINIS_NAMESPACE}.svc.${CLUSTER_DOMAIN}";
proxy_pass http://$backend$request_uri;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_request_headers on;
}
# Swagger UI + OpenAPI spec на writer (там обвязаны контроллеры).
location ~ ^/(swagger-ui|v3/api-docs|swagger-resources|webjars/swagger-ui) {
set $backend "ordinis-app.${ORDINIS_NAMESPACE}.svc.${CLUSTER_DOMAIN}";