Appearance
Инфраструктура
Инфраструктура системы построена на базе контейнеризации и GitOps-подхода. Все сервисы разворачиваются в Kubernetes-кластере и управляются декларативно через Argo CD.
Общая архитектура
Инфраструктура включает:
- Kubernetes-кластер (на базе k3s)
- GitHub как источник правды (monorepo + infra repo)
- CI/CD через GitHub Actions
- GitOps-деплой через Argo CD
Основные компоненты
Приложения (business layer)
- gateway
- article
- rag
- frontend
- documentation
Каждое приложение разворачивается как отдельный deployment в Kubernetes.
Инфраструктурные компоненты
- PostgreSQL — основная БД
- RabbitMQ — брокер сообщений
- Keycloak — аутентификация
- NGINX (ingress-nginx)
- cert-manager — TLS сертификаты
- MetalLB — балансировка
- Sealed Secrets — управление секретами
GitOps подход
- Все манифесты хранятся в инфраструктурном репозитории
- Argo CD синхронизирует состояние кластера с Git
- Изменения применяются автоматически
CI/CD поток
Разработчик делает push в monorepo
GitHub Actions:
- запускает тесты
- собирает Docker-образы
- пушит в registry
Обновление тегов (пока вручную)
Argo CD подтягивает изменения в кластер
Особенности
- Разделение кода и инфраструктуры (2 репозитория)
- Событийная архитектура (RabbitMQ)
- Поддержка RAG pipeline
- Возможность масштабирования компонентов независимо