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