# Инфраструктурные требования — 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).