Files
orchestrator/docs/work-items/ORCH-067/07-infra-requirements.md

3.6 KiB
Raw Blame History

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

Топология не меняется (никаких новых контейнеров/портов/сервисов). Изменения — только конфигурация/env и обязательный staging-гейт (self-hosting).

1. Изменения конфигурации (src/config.py)

Поле env Старое Новое Назначение
tracker_mode ORCH_TRACKER_MODE "edit" "bump" (дефолт) Карточка падает вниз ленты при обновлении (ADR-001 Р-7). edit доступен через env.
tracker_live_status ORCH_TRACKER_LIVE_STATUS — (нет) True (дефолт) Kill-switch live-overlay Plane-статуса (ADR-001 Р-2). 0/false → только offline-метки, без сетевых чтений в рендере.
tracker_live_status_ttl_s ORCH_TRACKER_LIVE_STATUS_TTL_S 60 TTL per-issue кэша live-статуса (ADR-001 Р-3).
tracker_live_status_timeout_s ORCH_TRACKER_LIVE_STATUS_TIMEOUT_S 3 Короткий таймаут live-чтения в рендере (ADR-001 Р-4).

Уже существующие (не менять, использовать): plane_web_url (ORCH_PLANE_WEB_URL, прод — https://plane.mva154.duckdns.org), plane_workspace_slug (прод — ag_proj), plane_api_url.

2. .env / .env.example

  • Обновить .env.example: добавить ORCH_TRACKER_MODE, ORCH_PLANE_WEB_URL, ORCH_TRACKER_LIVE_STATUS* с дефолтами и комментариями (канон настроек — .env.example, реальные секреты не коммитить).
  • На прод-хосте допустимо явно выставить ORCH_TRACKER_MODE=bump как страховку, но код обязан работать «из коробки» и без env.
  • ORCH_PLANE_WEB_URL должен быть задан на проде (иначе номер задачи деградирует на текст без ссылки — fail-safe, не падение).

3. Self-hosting (обязательно)

  • НЕ перезапускать / не ронять прод-контейнер orchestrator (8500) в рамках задачи — общий инстанс/БД с enduro-trails.
  • Обязательная страховка через deploy-staging (8501, изолированная БД) до прод-деплоя. На staging проверить:
    • режим bump: одна карточка на задачу, падает вниз, тихо (без звука), без дублей;
    • статус-строка: ⏸️ In Review, ⏸️ Awaiting Deploy, ❓ Needs Input отображаются;
    • кликабельный номер ведёт на страницу Plane;
    • нет регресса для enduro-trails (карточка без новых статусов деградирует корректно).
  • Прод-деплой орка — только переводом задачи на стадии deploy в статус «Confirm Deploy» (ORCH-059), не Approved.

4. Сетевые требования

  • Live-overlay требует доступности Plane API (plane_api_url) из контейнера — он уже есть (используется plane_sync). Недоступность Plane → graceful degrade на offline-метку, конвейер не блокируется (короткий таймаут + kill-switch).