architect/standards/_draft/PLATFORM_COMPONENTS.md

type: draft
domain: standards
status: draft
created: 2026-03-27


Компоненты платформы

Платформа = набор именованных компонентов. Каждый компонент — абстракция с заменяемой реализацией. Компоненты могут жить на одном сервере или на отдельных, масштабироваться независимо.


РАЗУМ

Компонент Роль Сейчас Альтернативы
Архитектор Знания + AI агент: workspace, стандарты, Claude Code DEV-PRO
LLM Драйвер Абстракция над языковой моделью Прокси → Anthropic Claude OpenRouter, Ollama, своя LLM (GPU)
RAG Поиск по знаниям: vector DB + embeddings pipeline — (будущее) pgvector, Qdrant, Weaviate

Принцип: Архитектор не знает какая модель — знает только адрес LLM Драйвера.
LLM Драйвер сейчас = прокси-туннель. Потом = локальная модель без прокси.


ДАННЫЕ

Компонент Роль Сейчас Альтернативы
Реляционная БД Основные данные проектов, транзакции PostgreSQL SQLite (малый масштаб)
Кэш Быстрый доступ, сессии, очереди задач Redis Valkey, Memcached
Векторная БД Embeddings для RAG, семантический поиск — (будущее) pgvector, Qdrant, Weaviate
Хранилище файлов Медиа, документы, артефакты, бэкапы S3 (beget) MinIO (self-hosted)
Git Репозитории кода и документов Gitea (DEV-PROD-RF) GitLab CE
Резервное копирование Снапшоты всех данных restic + S3

Принцип: Сначала всё в PostgreSQL. Выделять компоненты когда растут данные или нужна специфика (векторы, файлы).


ИСПОЛНЕНИЕ

Компонент Роль Сейчас Альтернативы
Проектор Среда запуска проектов: Docker стеки Docker Compose k8s (при масштабе)
Планировщик Запуск задач по расписанию и событиям system/scheduler Celery, n8n
Пайплайн Сборка и деплой (CI/CD) ручной + скрипты Gitea Actions, Drone

Принцип: Dev и Prod — разные экземпляры Проектора. Сейчас на одном сервере, потом разделить.


ДОСТУП

Компонент Роль Сейчас Альтернативы
Роутер Входящий трафик: домены → сервисы, SSL Nginx + Certbot Caddy, Traefik
Авторизация Единый вход, управление доступом Authelia (DEV-PROD-RF) Keycloak, собственный
API Gateway Единая точка входа для внешних API — (будущее) Kong, собственный FastAPI

Принцип: Роутер — единственная точка входа снаружи. Всё остальное в закрытой сети.


НАБЛЮДЕНИЕ

Компонент Роль Сейчас Альтернативы
Монитор Healthcheck сервисов, uptime Uptime Kuma Grafana + Prometheus
Логирование Централизованный сбор логов journald + файлы Loki + Grafana
Алертинг Уведомления при проблемах Telegram бот PagerDuty, email
Аналитика Метрики использования платформы — (будущее) Grafana, собственный

Принцип: Минимум — Монитор + Алертинг. Логирование и Аналитика — когда нужна диагностика.


ИНТЕРФЕЙС

Компонент Роль Сейчас Альтернативы
Документация Просмотр знаний и стандартов docs.0kt.ru (md-viewer) Wiki.js, собственный
Управление Admin UI платформы Portainer (Docker UI) собственный
Проекты Интерфейс для работы с проектами — (будущее, pm-platform) собственный

Принцип: Интерфейс = витрина над компонентами. Не содержит логики — только отображение и управление.


Карта размещения (сейчас и цель)

              Архи- LLM    RAG   Рел.  Кэш   Вект. Файлы Git   Резерв
              тектор Драйв       БД          БД
DEV-PRO       ✅     ✅     —     —     —     —     —     —     —
DEV-PROD-RF   —      —     —     ✅    ✅    —     —     ✅    ✅
pm-platform   —      —     —     ✅    ✅    —     —     —     —      ← настраиваем
beget-s3      —      —     —     —     —     —     ✅    —     ✅

              Проек- Планир Пайп  Роутер Авто- API   Мон.  Лог.  Алерт Аналит Докум Упр.  Проекты
              тор    щик   лайн        риз   GW
DEV-PRO       —      ✅    —     ✅    —     —     ✅    —     ✅    —     ✅    —     —
DEV-PROD-RF   ✅     —     —     ✅    ✅    —     ✅    —     —     —     —     ✅    —
pm-platform   ✅     —     —     ✅    —     —     —     —     —     —     —     —     ✅ ←будущее

Принципы компонентной архитектуры

  1. Заменяемость — каждый компонент имеет абстракцию, реализация меняется без переделки остального
  2. Независимость — компонент можно перенести на другой сервер без изменения логики
  3. Масштабируемость — компонент можно запустить в нескольких экземплярах
  4. Enterprise — все компоненты разворачиваются локально (нет внешних зависимостей кроме LLM Драйвера)

Приоритет развития

Сейчас:     Архитектор + LLM Драйвер + Реляционная БД + Роутер + Проектор
Следующий:  RAG + Векторная БД (когда накопим знания)
Потом:      своя LLM (GPU хост, когда будет бюджет)
Enterprise: всё локально включая LLM