Files
gooseek/docs/architecture/MIGRATION.md
home 328d968f3f Deploy: migrate k3s → Docker; search logic → master-agents-svc
- deploy/k3s удалён, deploy/docker добавлен (Caddyfile, docker-compose, searxng)
- chat-svc: agents/models/prompts удалены, использует llm-svc (LLMClient, EmbeddingClient)
- master-agents-svc: SearchOrchestrator, classifier, researcher, actions, widgets
- web-svc: ChatModelSelector, Optimization, Sources удалены; InputBarPlus; UnregisterSW
- geo-device-svc, localization-svc: Dockerfiles
- docs: 02-k3s-services-spec.md, RUNBOOK/TELEMETRY/WORKING удалены

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 22:14:00 +03:00

7.1 KiB
Raw Permalink Blame History

Миграция GooSeek на сервисную архитектуру (СОА)

Ссылки: 01-perplexity-analogue-design.md, 02-k3s-services-spec.md


Текущий статус

Реализовано (Фаза 02)

Компонент Описание Статус
services/discover-svc Агрегация новостей, Redis кэш
services/search-svc SearXNG proxy, кэш по query_hash
services/finance-svc Market summary, heatmap, news (базово)
services/travel-svc Trending, Inspiration (базово)
services/cache-worker Pre-compute: discover, finance, travel
Redis, PostgreSQL Локально или в K8s (см. deploy/k3s)
api/v1/discover Прокси к discover-svc
services/library-svc История тредов (PostgreSQL)
services/projects-svc Collections, Spaces (заглушка)
api/v1/library Прокси к library-svc
api/v1/collections Прокси к projects-svc
deploy/k3s/ library-svc, projects-svc, chat-svc, ingress
services/chat-svc LLM, Mastra, Writer, Classifier, Researcher
api/chat При CHAT_SVC_URL проксирует на chat-svc
services/auth-svc SSO, JWT, Bearer, GET /api/auth/me (миграция из apps/auth-mcs)
services/memory-svc Персональная память AI, Enterprise Memory
api/v1/memory Прокси к memory-svc
services/create-svc Create (stub), Export PDF/MD
api/v1/create, api/v1/export Прокси к create-svc
finance-svc + analyst-ratings, sec-filings, etf-holdings (FMP)
search-svc + GET /api/v1/patents (SearXNG)
api/v1/patents Прокси к search-svc
services/notifications-svc Web Push, preferences, reminders
api/v1/notifications Прокси к notifications-svc
services/billing-svc Тарифы Free/Pro/Max, ЮKassa, подписки
api/v1/billing Прокси к billing-svc
services/audit-svc Enterprise audit logs (stub)
api/v1/admin/audit-logs Прокси к audit-svc
страница /profile Account, Preferences, Personalize, Billing, Connectors
services/auth-svc SSO, JWT, Bearer, GET /api/auth/me
services/web-svc UI + прокси (миграция из apps/frontend)
services/geo-device-svc Геопозиция, устройство
services/localization-svc Локализация

В разработке / запланировано

  • Миграция apps → services завершена: auth-svc, web-svc, geo-device-svc, localization-svc в services/
  • API Gateway (Traefik/Kong) для production

deploy/k3s — HPA и PDB

Файл Описание
hpa.yaml HPA для chat-svc, search-svc, discover-svc, finance-svc; PDB для chat, search

Запуск (только Kubernetes)

Развёртывание в Kubernetes (Docker Desktop → Settings → Kubernetes, не Docker-контейнеры):

./deploy/k3s/deploy.sh

Конфигурация сервисов: deploy/k3s/deploy.config.yaml. Миграции БД выполняются автоматически при деплое.


Переменные окружения

Переменная Описание По умолчанию
REDIS_URL Redis connection string redis://localhost:6379
SEARXNG_URL SearXNG instance https://searx.tiekoetter.com
SEARXNG_FALLBACK_URL Доп. инстансы (через запятую)
DISCOVER_SVC_URL discover-svc (для frontend proxy) http://localhost:3002
SEARCH_SVC_URL search-svc — при установке frontend вызывает его вместо прямого SearXNG http://localhost:3001
CHAT_SVC_URL chat-svc — при установке /api/chat проксирует сюда http://localhost:3005
MEMORY_SVC_URL memory-svc (персональная память AI) http://localhost:3010
CREATE_SVC_URL create-svc (Create, Export) http://localhost:3011
NOTIFICATIONS_SVC_URL notifications-svc (Web Push, reminders) http://localhost:3013
BILLING_SVC_URL billing-svc (тарифы, подписки, ЮKassa) http://localhost:3008
AUTH_SERVICE_URL auth-svc (Bearer validation) http://localhost:3014
GHOST_URL, GHOST_CONTENT_API_KEY Ghost для topic=gooseek (discover-svc)
NEWS_REGION Регион новостей: america|eu|russia|china|auto auto
FMP_API_KEY Financial Modeling Prep (finance summary, analyst-ratings, sec-filings, etf-holdings)
YOOKASSA_SHOP_ID, YOOKASSA_SECRET ЮKassa для billing-svc (оплата Pro/Max)
BILLING_RETURN_URL URL возврата после оплаты http://localhost:3000/profile?tab=billing
POSTGRES_URL PostgreSQL (library-svc, memory-svc, notifications-svc, billing-svc) postgresql://gooseek:gooseek@localhost:5432/gooseek

Сборка Docker-образов

# discover-svc, search-svc, notifications-svc, auth-svc
docker build -t gooseek/discover-svc:latest -f services/discover-svc/Dockerfile services/discover-svc
docker build -t gooseek/search-svc:latest -f services/search-svc/Dockerfile services/search-svc
docker build -t gooseek/notifications-svc:latest -f services/notifications-svc/Dockerfile services/notifications-svc
docker build -t gooseek/auth-svc:latest -f services/auth-svc/Dockerfile services/auth-svc

# chat-svc, create-svc, billing-svc
docker build -t gooseek/chat-svc:latest -f services/chat-svc/Dockerfile services/chat-svc
docker build -t gooseek/create-svc:latest -f services/create-svc/Dockerfile services/create-svc
docker build -t gooseek/billing-svc:latest -f services/billing-svc/Dockerfile services/billing-svc
docker build -t gooseek/audit-svc:latest -f services/audit-svc/Dockerfile services/audit-svc

deploy/k3s — манифесты

Файл Описание
search-svc.yaml SearXNG proxy, Redis cache
notifications-svc.yaml Web Push, PostgreSQL, VAPID
auth-svc.yaml better-auth, namespace gooseek-auth, PVC
discover-svc.yaml + GHOST_URL, GHOST_CONTENT_API_KEY (optional)
cache-worker.yaml CronJob finance/discover/travel, activeDeadlineSeconds
hpa.yaml HPA + PDB для chat, search, discover, finance, travel, memory
audit-svc.yaml Enterprise audit logs
ingress.yaml + /api/v1/search, /api/v1/notifications, /api/v1/admin

Порядок реализации (roadmap)

См. 01-perplexity-analogue-design.md §6.