Введение
Архитектура
Карта микросервисов, потоки данных, инфраструктура.
LegalStack — микросервисная платформа на Bun + Hono. Сервисы общаются через mTLS (SPIFFE-идентичности через SPIRE), секреты — в Vault, события — через Kafka.
Микросервисы
| Домен | Сервис | Назначение |
|---|---|---|
| Платформа | security-service | Auth, OAuth 2.0, OIDC, OpenFGA-авторизация, webhook-роутинг |
| Документы | smartdoc-service | Редактор, шаблоны, реестры данных, экспорт |
| Документы | signature-service | Электронная подпись, CAdES, верификация |
| Документы | approval-service | Маршруты согласования |
| Процессы | task-service | Задачи и проекты |
| Процессы | automation-service | Конструктор автоматизаций |
| Процессы | form-service | Публичные формы |
| Процессы | calendar-service | Календарь |
| Данные | registry-service | Реестры (структурированные каталоги) |
| Данные | knowledge-service | RAG, граф знаний, векторный поиск |
| Данные | extraction-service | Извлечение данных из документов |
| Коммуникации | mail-service | Входящая/исходящая почта |
| Коммуникации | telegram-service | Telegram-бот |
| Коммуникации | collab-service | Realtime-collaboration (Y.js, WebSocket) |
| Интеграции | integration-service | Dropbox, прочие внешние API |
| Compliance | compliance-service | Политики, проверки, аудит |
Инфраструктура
- Postgres — основное хранилище.
- Redis — кэш, idempotency, rate-limit.
- Kafka — события и асинхронные пайплайны.
- Neo4j — граф связей (сущности, документы, люди).
- Qdrant — векторный поиск.
- OpenFGA — relationship-based авторизация.
- Vault — секреты, KV per-service, Transit, PKI как Upstream CA для SPIRE.
- SPIRE — SPIFFE-идентичности для mTLS.
- Traefik — edge-роутер с Let's Encrypt.
Маршруты
legalstack.ru— маркетинговый лендинг.app.legalstack.ru— веб-приложение.api.legalstack.ru— публичный API.docs.legalstack.ru— документация (этот сайт).
Подробные диаграммы — в работе.