Appearance
Unishift Platform — Документация сервисов
Обзор архитектуры
Unishift Platform — микросервисная платформа для управления пространствами, документами, командами, пайплайнами, календарями, медиафайлами, аутентификацией и внешней поддержкой партнёров. Построена на Go с использованием PostgreSQL, NATS и Centrifugo для real-time событий.
Карта сервисов
| Сервис | Порт | БД | Описание |
|---|---|---|---|
| Gateway | 8090 | — | Единая точка входа, проксирование к бэкенд-сервисам |
| Auth | 8091 | auth_db | Аутентификация и авторизация (JWT, OAuth 2.0, сессии) |
| Spaces | 8092 | spaces_db | Управление пространствами (workspaces) |
| Documents | 8093 | documents_db | Управление документами (деревевидная структура) |
| Task Tracker | 8102 | tasks_db | Задачи, настраиваемые workflow и поля, история изменений |
| Command Manager | 8094 | command_manager_db | Команды, коллекции, задачи, gRPC-раннеры |
| Scheduler | 8095 | scheduler_db | Календари и планирование задач |
| Storage | 8096 | storage_db | Файловое хранилище (локальный диск / S3/MinIO) |
| Env Manager | 8097 | env_manager_db | Зашифрованное хранилище конфигов и секретов |
| Flow Manager | 8099 | flow_manager_db | Оркестрация пайплайнов (Starlark, in-memory тестирование) |
| Spark Grid | 8087 | spark_grid | Медиа-хранилище (превью, обложки, теги) |
| AI Router | 8101 | ai_router_db | LLM-маршрутизация, чаты, RAG; Yandex — OpenAI-compatible |
| Notifications | 8103 | notifications_db | Email-уведомления (SMTP, шаблоны, async send) |
| MCP Gateway | 8104 | mcp_gateway_db | Внешние MCP-инструменты для AI Router |
| Data Tables | 8105 | data_tables_db + datasets_db | Таблицы в space, датасеты из Flow Manager |
| Concierge | 8106 | concierge_db | Внешний AI-портал поддержки партнёров |
| Messaging | 8107 | messaging_db | Комментарии, mentions, realtime |
| Collatio | 8108 | collatio_db | Согласование документов |
| Guard | 8110 | guard_db | DLP: маскирование PII/секретов перед LLM |
| Centrifugo | 8100 | — | Real-time WebSocket доставка событий |
| NATS Bridge | — | — | Мост NATS → Centrifugo (событийный bridge) |
llama-planner / llama-diagram / llama-fill (локальный LLM за профилем llm) — см. installation.md.
Установка prod-стека из готовых образов — ush platform, инструкция: installation.md. Dev и prod compose-файлы: devops/dev (с мониторингом) и devops/prod (те же модули, без Prometheus).
Инфраструктура
| Компонент | Порт | Описание |
|---|---|---|
| NATS | 4222 | Шина событий (message broker) |
| PostgreSQL | 5432 | Основная БД для всех сервисов (с расширением pgvector) |
| MinIO | 9000/9001 | S3-совместимое хранилище |
Технологический стек
- Язык: Go 1.24-1.26
- HTTP: Gin
- ORM: GORM
- БД: PostgreSQL 15-16
- Мессенджинг: NATS
- Real-time: Centrifugo + WebSocket
- API Docs: Swagger/OpenAPI (swaggo)
- Архитектура: Clean Architecture (domain / usecase / repository / delivery / infrastructure)
- Контейнеризация: Docker + Docker Compose