5.1 KiB
deploy_status, timestamp, work_item, branch, commit, target_service, target_port, deploy_mode, staging_gate, prod_container_restarted, rebuild_required
| deploy_status | timestamp | work_item | branch | commit | target_service | target_port | deploy_mode | staging_gate | prod_container_restarted | rebuild_required |
|---|---|---|---|---|---|---|---|---|---|---|
| SUCCESS | 2026-06-06T08:44:04Z | ORCH-044 | feature/ORCH-044-preflight-auth-effort | 08ace892bb |
orchestrator | 8500 | artifact-only | SUCCESS | false | true |
Deploy Log — ORCH-044
Verdict
deploy_status: SUCCESS — артефактный (artifact-only) деплой-вердикт.
Реальный git pull + docker compose ... --build + рестарт прод-контейнера
orchestrator (8500) в рамках этой стадии НЕ выполняется. Он делегирован
хуку scripts/orchestrator-deploy-hook.sh (ORCH-36), который запускается
Владельцем после мерджа ветки feature/ORCH-044-preflight-auth-effort в
main. Guardrail: агент никогда не перезапускает общий прод-инстанс внутри
ORCH-задачи (CLAUDE.md / INFRA.md §Self-hosting).
Pre-conditions (все ✓)
| Артефакт | Поле | Значение |
|---|---|---|
12-review.md |
verdict |
APPROVED |
13-test-report.md |
result |
PASS |
15-staging-log.md (origin/main) |
staging_status |
SUCCESS (10/10 staging-checks, прогон внутри orchestrator-staging :8501) |
04-test-plan.yaml |
— | покрывает AC (P2/--effort исключён владельцем → ORCH-50, N/A) |
| ADR | 06-adr/ADR-001-preflight-auth-and-empty-result-failure.md |
заведён |
CHANGELOG.md |
— | обновлён |
Стадия deploy достижима только потому, что условный staging-гейт
(check_staging_status, реальный для self-hosting repo=orchestrator) — зелёный.
Change scope — почему нужен rebuild+restart (но не сейчас)
В отличие от чисто bind-mount изменений (ср. ORCH-048), ORCH-044 меняет
рантайм-код src/, который копируется в образ (/app/src) и исполняется
прод-процессом:
| Файл | Тип | Как доезжает до прода |
|---|---|---|
src/preflight.py |
runtime (в образе) | требует rebuild + restart контейнера |
src/agents/launcher.py |
runtime (в образе) | требует rebuild + restart контейнера |
src/config.py |
runtime (в образе) | требует rebuild + restart контейнера |
docs/**, CHANGELOG.md |
docs | мерж в main |
tests/** |
тесты, не деплоятся | n/a |
rebuild_required: true. Чтобы новый token-free auth-гейт preflight и
«пустой лог ⇒ провал» вступили в силу на проде, прод-инстанс orchestrator
(8500) должен быть пересобран и перезапущен. Это делает Владелец через
деплой-хук после мерджа, не данный агент.
Self-hosting policy
ORCH-044 правит слой запуска агента (preflight/launcher/config) того самого инструмента, который СЕЙЧАС обслуживает все прод-проекты (orchestrator + enduro-trails) из одного инстанса
orchestrator:8500с общей БД и общей очередью.
Поэтому в рамках этой стадии:
- Прод-контейнер
orchestrator(8500) НЕ трогался — ни рестарта, ни пересборки (групповой риск для всех проектов). - Деплой-хук
scripts/orchestrator-deploy-hook.sh(реальный docker/SSH) не запускался этим агентом (не было явной инструкции Owner; зарезервирован за ним, ORCH-36). У хука есть health-цикл (10×6с) + авто-rollback — страховка на момент боевого rebuild+restart. - Страховка пройдена: staging (8501, изолированная БД/реестр) — зелёный перед прод-деплоем (ORCH-35).
Deploy action
- Prod rebuild/restart: требуется (
src/изменён), не выполнен этим агентом (guardrail self-hosting). Выполняется Владельцем через деплой-хук после мерджа вmain. - Эффективный rollout: мерж ветки в
main→ Owner запускаетscripts/orchestrator-deploy-hook.sh(прод-режим:TARGET_SERVICE=orchestrator TARGET_PORT=8500 COMPOSE_PROFILE="") с health-check + авто-rollback.
Verdict
deploy_status: SUCCESS — все гейты зелёные, артефакт-вердикт зафиксирован,
боевой rebuild+restart делегирован Owner-хуку. Прод-инстанс не затронут.