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

51 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 07 — Требования к инфраструктуре: ORCH-076 (ORCH-52c)
Work Item: **ORCH-076** · Repo: **orchestrator** · Стадия: architecture
## Сводка
ORCH-52c — чисто кодово-документная задача (frontmatter-контракт + спека handoff). **Топология
инфраструктуры не меняется**: ни контейнеров, ни портов, ни volume, ни сети, ни CI-workflow.
Деплой — штатным путём конвейера через staging (8501) → прод (8500). Раздел существует для
фиксации двух операционных предусловий и одного конфиг-флага.
## Изменения инфраструктуры
- **Нет.** Compose-сервисы, порты (8500/8501), volume (`./data`, `./data/staging`), Gitea
Actions — без изменений.
- БД/миграции — нет (см. `08-data-requirements.md`).
- HTTP API — нет новых/изменённых эндпоинтов.
## Конфигурация (env)
| Ключ | Значение по умолчанию | Где | Назначение |
|------|----------------------|-----|------------|
| `ORCH_FRONTMATTER_VALIDATION_STRICT` | `false` | `.env` / `.env.staging` | Kill-switch строгой валидации схемы frontmatter. **На ORCH-52c держать `false`** (иначе self-block: доки ещё без полной схемы). Включается не раньше ORCH-52d. |
> Флаг **аддитивный**; его отсутствие в окружении эквивалентно `false` (pydantic-дефолт
> `frontmatter_validation_strict: bool = False`). Явная установка не требуется на этой задаче;
> строка в `.env.example` добавляется документации ради.
## Операционные предусловия
### П-1. Лейбл `autoDeploy` (первый боевой автодеплой — ORCH-089)
На задаче выставлен лейбл `autoDeploy`: после зелёного staging и всех тех-гейтов орк **сам**
подтверждает прод-деплой (Фаза B ORCH-036/059), без ручного «Confirm Deploy».
- Предусловие: лейбл `autoDeploy` существует в Plane-проекте ORCH и проставлен на ORCH-076
(инфра-предусловие ORCH-089). Его отсутствие = fail-safe → ручной гейт (деплой не сорвётся,
просто потребует ручного «Confirm Deploy»).
- BRD-гейт остаётся **ручным** (Слава подтверждает BRD) — `autoApprove` НЕ выставлен.
- Наблюдение: стадия `deploy` орка должна пройти через зелёные под-гейты ребра
`deploy-staging → deploy` (security → merge-gate → image-freshness → staging) до Фазы B —
`autoDeploy` физически не деплоит сломанное (BR-5 ORCH-089). Детали реакции на сбой —
`10-tech-risks.md` (R-3).
### П-2. Self-hosting рестарт-дисциплина
Прод-контейнер `orchestrator` (8500) — общий для всех проектов. Деплой ORCH-52c проходит через
штатный detached host-хук (ORCH-036), **не** ручным `docker compose`. Ручной рестарт прод-
контейнера в рамках задачи **запрещён** (встанет конвейер enduro). Откат — `orchestrator-deploy-hook.sh --rollback` (стандартный путь), не предмет этой задачи.
## Вне инфра-объёма
- Изменения промптов агентов, ретро-фит схемы в старые доки — ORCH-52d.
- Любые новые сервисы/демоны/cron — не вводятся.