Files
enduro-trails/docs/work-items/ET-005/07-infra-requirements.md
claude-bot bafbea2dab
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / build (push) Successful in 1s
architect(ET-005): ADR, infra-requirements, data-requirements, tech-risks
2026-05-21 22:18:08 +03:00

5.5 KiB
Raw Blame History

type, work_item_id, title, version, status, created_at, authors
type work_item_id title version status created_at authors
infra-requirements ET-005 Инфраструктурные требования — ET-005: Переключение единиц измерения (км/мили) 1 approved 2026-05-21
agent:architect

Инфраструктурные требования — ET-005

1. Резюме

ET-005 — изменение исключительно фронтенда (src/web/index.html, src/web/app.js, src/web/app.css и новый файл src/web/units.js). Новой инфраструктуры не требуется. Документ зафиксирован для полноты work-item и явно подтверждает отсутствие инфра-воздействия (см. 06-adr/adr-0001-unit-toggle-client-side.md).

2. Контейнеры и сервисы

Аспект Требование
Новые контейнеры Нет
Изменения существующих сервисов (api, osrm, nginx) Нет
Изменения docker-compose.yml Нет
Изменения Dockerfile Нет — units.js это статика, попадает в образ тем же путём, что и app.js

3. Сеть

Аспект Требование
Новые порты Нет
Изменения reverse proxy (nginx, /enduro/) Нет
Новые внешние домены / DNS Нет
Исходящие сетевые вызовы из фронтенда Нет (конвертация и хранение — локальные)

4. Хранилища данных

Аспект Требование
Изменения схемы SQLite/Spatialite Нет
Миграции БД (migrations/) Нет
Серверное хранилище состояния Нет
Клиентское хранилище localStorage, ключ distance_unit ('km'/'mi'), ≈ 2 байта полезной нагрузки на браузер

Подробности по данным — 08-data-requirements.md.

5. Конфигурация и секреты

Аспект Требование
Новые переменные окружения Нет
Новые секреты Нет
Изменения конфигурации FastAPI / uvicorn Нет

6. Зависимости

Аспект Требование
Новые npm/Python пакеты Нет
Новые внешние сервисы Нет
Новые CDN-скрипты Нет — units.js это локальный файл проекта, не внешний CDN
Версия MapLibre GL JS Без изменений

7. Сборка и деплой

  • Pipeline: существующий Gitea Actions без изменений (lint, test, build).
  • Артефакт: статические ассеты фронтенда (src/web/), включая новый units.js. Деплой — штатная пересборка/перевыкладка и docker compose up -d на mva154.
  • Порядок подключения скриптов: units.js должен подключаться в index.html строго перед app.js (см. ADR-0001, риск R7 в 10-tech-risks.md). Контрольная точка для review.
  • Простой (downtime): нет — изменение только в статике фронтенда.
  • План отката: обратный коммит (revert) и повторный деплой; миграций/серверного состояния, требующих отдельного отката, нет. localStorage-ключ distance_unit у пользователей при откате безвреден (игнорируется старым кодом).

8. Ресурсы (CPU / RAM / диск)

Воздействие отсутствует. Конвертация расстояний — несколько арифметических операций в браузере клиента; тайлы и маршруты не перезапрашиваются. Размер units.js пренебрежимо мал (единицы КБ).

9. Наблюдаемость

Новые метрики, логи и алерты не требуются. Поведение проверяется unit-тестами модуля units.js и e2e-тестами фронтенда согласно 04-test-plan.yaml (TP-01…TP-05).

10. Влияние на C4

Состав компонентов системы не меняется — добавляется лишь файл внутри уже существующего компонента «Frontend». Обновление docs/architecture/c4-*.mmd не требуется (диаграммы C4 в репозитории на данный момент отсутствуют — только docs/architecture/README.md).

11. Вывод

Инфраструктурных, сетевых, конфигурационных изменений и изменений БД нет. ET-005 безопасен для деплоя в рамках обычного релизного цикла фронтенда. Эскалация arch:major-change не требуется.