Skip to content

Gateway ​

Назначение ​

Единая точка входа (API Gateway) платформы Unishift. Проксирует запросы ко всем бэкенд-сервисам, обеспечивает маршрутизацию и управление токенами Centrifugo.

Порты ​

  • HTTP: 8090

Ключевые возможности ​

  • Единая точка входа для фронтенда и внешних клиентов
  • Проксирование запросов к бэкенд-сервисам
  • Генерация JWT-токенов для подключения к Centrifugo
  • Поддержка X-Forwarded-Prefix для корректного URL-обращения
  • Настройка timeout и retries для каждого проксируемого сервиса
  • Reverse-proxy draw.io viewer (/proxy/drawio)

Проксируемые сервисы ​

СервисURL по умолчаниюПортTimeout
Authhttp://localhost:8091809130s
Spaceshttp://localhost:8092809230s
Documentshttp://localhost:8093809330s
Task Trackerhttp://localhost:8102810230s
Command Managerhttp://localhost:8094809430s
Storagehttp://localhost:8096809630s
Env Managerhttp://localhost:8097809730s
Flow Managerhttp://localhost:8099809930s
Schedulerhttp://localhost:8095809530s
Spark Gridhttp://localhost:8087808730s
AI Routerhttp://localhost:81018101120s
Notificationshttp://localhost:8103810330s
MCP Gatewayhttp://localhost:8104810460s
Data Tableshttp://localhost:8105810510m
Conciergehttp://localhost:81068106150s

Внешний UI concierge (:4201) ходит в сервис напрямую. Через Gateway проксируется только админка из основного клиента.

Centrifugo Token Endpoint ​

МетодПутьОписание
GET/api/v1/centrifugo/tokenГенерация JWT для подключения к Centrifugo (TTL: 5 мин)

Возвращает: {"token": "...", "expires_at": <unix_timestamp>}

MCP Сервер ​

В Gateway встроен MCP сервер (Model Context Protocol) для доступа к сервисам платформы:

Метод / КомандаПутьОписание
POST/GET/DELETE/mcpStreamable HTTP MCP transport (Bearer / Service token)
GET/mcp/sseSSE connection endpoint
POST/mcp/messagesSSE message posting endpoint
gateway mcpCLIStdio transport для локальных AI агентов

Инструменты MCP:

  • list_services: список зарегистрированных микросервисов и их доступность.
  • get_service_api: спецификация OpenAPI/Swagger сервиса с фильтрацией путей.
  • call_service_api: вызов любого HTTP API сервиса с авторизацией.
  • list_spaces: список доступных рабочих пространств (ID, имя, RAG-скоуп).
  • rag_search: семантический поиск по базе знаний RAG с фильтрацией по пространству (space_id или имя) или по всем пространствам.

Подробное руководство по настройке клиентов и кейсы: Подключение через MCP.

Конфигурация ​

ПеременнаяОписание
PORT8090
{SERVICE}_SERVICE_URLURL каждого проксируемого сервиса
{SERVICE}_SERVICE_TIMEOUTTimeout запросов (по умолчанию 30s)
{SERVICE}_SERVICE_RETRIESКоличество повторов (по умолчанию 3)
JWT_SECRETСекрет для JWT и Centrifugo токенов
SERVICE_TOKENТокен межсервисного взаимодействия
CENTRIFUGO_WS_URLПубличный WebSocket URL (отдаётся в /api/v1/services)
DRAWIO_VIEWER_URLUpstream draw.io viewer; браузер ходит на /proxy/drawio