Files
web-frontend/docs/tz/infrastructure-operations.md
2026-05-01 15:39:23 +07:00

5.5 KiB
Raw Blame History

8. Требования к инфраструктуре и эксплуатации

8.1 Инфраструктурная схема

Текущая инфраструктурная схема проекта включает прикладные сервисы, сервис секретов, мессенджерные сервисы и вспомогательный worker-контур.

Инфраструктура, деплой и эксплуатационный контур

8.2 Сервисы и окружение

Сервисы проекта и способ их развёртывания:

Сервис Путь в репозитории Роль Deploy mode Сервер
web-frontend web-frontend клиентский и менеджерский веб-интерфейс dokploy_webhook main
apollo-backend apollo-backend GraphQL API и бизнес-логика dokploy_webhook main
hatchet-worker hatchet-worker фоновый worker-контур dokploy_webhook main
tg-bot tg-bot Telegram-контур dokploy_webhook main
max-bot max-bot MAX-контур dokploy_webhook main
bonus-bot bonus-bot бонусный сервис dokploy_webhook main
vault vault сервис секретов dokploy_webhook main

8.3 Требования к деплою и запуску

Для основных сервисов проекта используется режим dokploy_webhook.

Цепочка развёртывания должна быть следующей:

  1. изменения фиксируются в Git-репозитории
  2. изменения публикуются в main
  3. Dokploy получает webhook-событие
  4. Dokploy выполняет сборку соответствующего сервиса
  5. сервис перезапускается с загрузкой секретов из Vault
  6. после старта выполняются bootstrap-действия, предусмотренные образом и entrypoint-командой

Текущие особенности прикладных сервисов:

  • web-frontend стартует через загрузку Vault env и запуск .output/server/index.mjs
  • apollo-backend стартует через загрузку Vault env, prisma migrate deploy и запуск src/server.js
  • bot-сервисы стартуют через общий паттерн загрузки Vault env и запуск node src/server.js

8.4 Требования к секретам и конфигурации

Сервисы программного продукта должны получать прикладные секреты из Vault.

В конфигурации сервисов допускается хранение только bootstrap-параметров для подключения к Vault. Бизнес-секреты, ключи интеграций и иные чувствительные данные должны загружаться из Vault при старте приложения.

Сервис vault развернут как отдельное приложение на базе образа hashicorp/vault:1.21.3.

Прикладные сервисы используют общий shell-bootstrap load-vault-env.sh, который:

  • ожидает доступность Vault по health endpoint
  • загружает shared secrets
  • загружает project secrets
  • экспортирует секреты в runtime environment процесса

8.5 Требования к эксплуатации и надежности

Система должна обеспечивать:

  • корректную работу в десктопных и мобильных браузерах
  • приемлемое время открытия основных экранов и выполнения действий
  • сохранность пользовательских данных
  • сохранность истории изменений по заявкам, заказам и бонусным операциям
  • фиксацию ошибок интеграционного обмена
  • журналирование значимых системных и пользовательских событий
  • возможность сопровождения и развития клиентского и менеджерского контуров

8.6 Требования к передаче результата и эксплуатации

По результатам выполнения работ заказчику должны быть переданы:

  • исходный код программного продукта
  • техническое задание в согласованной редакции
  • сведения об используемых компонентах и их версиях
  • описание реализованных интеграций и используемых внешних интерфейсов
  • схемы взаимодействия модулей и движения данных
  • описание пользовательских ролей и прав доступа
  • материалы, необходимые для сопровождения и эксплуатации продукта