diff --git a/ordinis-admin-ui/nginx.conf b/ordinis-admin-ui/nginx.conf index 168eba5..1e7da3d 100644 --- a/ordinis-admin-ui/nginx.conf +++ b/ordinis-admin-ui/nginx.conf @@ -44,6 +44,34 @@ server { proxy_pass_request_headers on; } + # /api/v1/search — SearchController (global trigram-search across all dicts) + # тоже в ordinis-rest-api → только writer. Без route'а — 500 в Smart Search. + location ~ ^/api/v1/search(/|$|\?) { + 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; + } + + # /api/v1/records/{dict}/{businessKey}/dependents — record-level lineage + # endpoint в LineageController (ordinis-rest-api → writer). Префикс /records/ + # на root уровне отличается от /api/v1/{dict}/records/* read-api endpoint'а + # — нужно явное правило, иначе fallback на read-api → 500. + location ~ ^/api/v1/records/ { + 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; + } + # /api/v1/admin/* — audit + outbox admin endpoints на writer. location ~ ^/api/v1/admin/ { set $backend "ordinis-app.${ORDINIS_NAMESPACE}.svc.${CLUSTER_DOMAIN}";