Введение
Архитектура
Карта микросервисов, публичные маршруты, инфраструктура.
LegalStack — микросервисная платформа на Bun + Hono (extraction-service — Python/FastAPI). Сервисы общаются по mTLS со SPIFFE-идентичностями (SPIRE), секреты — в Vault, события — через Kafka.
Микросервисы
Таблица генерируется из состава прода и не может устареть:
| Сервис | Назначение | Интерфейс |
|---|---|---|
| security-service | Безопасность и доступ: аутентификация, пользователи, команды, группы, приглашения, OAuth 2.0, вебхуки, JWKS. | REST API |
| task-service | Задачи и проекты: создание, статусы, подзадачи, комментарии, вложения, связи, календарь. | REST API |
| smartdoc-service | Умные документы: редактор, версии, папки, доступы, публичные ссылки, импорт/экспорт DOCX/PDF, AI-функции. | REST API |
| registry-service | Реестры: структурированные каталоги бизнес-данных, папки, внешние источники, синхронизация, экспорт. | REST API |
| interface-service | Интерфейсы для сбора данных: формы, конструкторы, рабочие места, публичные ссылки, бронирование. | REST API |
| approval-service | Согласования: маршруты, этапы, решения и комментарии по документам. | REST API |
| signature-service | Электронные подписи: запросы на подпись, публичное подписание, файлы подписи, верификация. | REST API |
| calendar-service | Календарь: события, встречи, доступность, бронирование, уведомления и напоминания. | REST API |
| automation-service | Automation service | REST API |
| mail-service | Почта: входящие и исходящие письма, вложения, вебхуки провайдеров. | REST API |
| telegram-service | Telegram: бот, привязка аккаунтов, WebApp, AI-чат, рассылки. | REST API |
| integration-service | Интеграции: МойСклад, 1С (OData), СБИС/Saby, Google Drive/Sheets, Dropbox, DaData, HR-Link. | REST API |
| knowledge-service | База знаний: полнотекстовый и векторный поиск, граф знаний, ингест источников. | REST API |
| compliance-service | Комплаенс: плейбуки, проверки документов, AI-анализ, отчёты и метрики. | REST API |
| calculator-service | Юридические калькуляторы: госпошлина, неустойка, индексация, процессуальные сроки. | REST API |
| files-service | Файлы: единое дерево документов, реестров и папок, blob-хранилище с WORM-retention. | REST API |
| template-service | Шаблоны платформы: системные переменные, блоки, шаблоны документов и реестров, lifecycle публикаций. | REST API |
| versioning-service | Версионирование документов: снапшоты, история изменений, retention. | REST API |
| extraction-service | Извлечение данных: структура и текст из PDF/DOCX (docling), предложение маппинга полей. | REST API |
| collaboration-service | Realtime-коллаборация: Yjs-синхронизация документов, AI-стримы, голос, события. | REST API |
agent-service | AI-агенты: пресеты, навыки, MCP-edge на mcp.legalstack.ru. | MCP |
Публичные маршруты
| Домен | Назначение |
|---|---|
api.legalstack.ru | Публичный REST API (/api/v1/*, /oauth/*, /.well-known/*) |
app.legalstack.ru | Веб-приложение |
mcp.legalstack.ru | MCP-серверы для AI-агентов (OAuth) |
docs.legalstack.ru | Эта документация |
legalstack.ru | Сайт |
Маршрутизацию выполняет Traefik с автоматическим HTTPS; между Traefik и сервисами — mTLS.
Инфраструктура
- PostgreSQL — основное хранилище (row-level security по командам).
- Redis — кэши, rate-limiter, идемпотентность, событийные шины.
- Kafka — доменные события между сервисами.
- Qdrant — векторный поиск базы знаний.
- FalkorDB — граф знаний.
- OpenFGA — авторизация отношений (ReBAC).
- Vault + SPIRE — секреты и workload-идентичности (mTLS).
- Temporal — долгоживущие процессы (согласования, подписание).