Files
orchestrator/docs/work-items/ORCH-040/07-infra-requirements.md
claude-bot fe5eb38af2
All checks were successful
CI / test (push) Successful in 14s
architect(ET): auto-commit from architect run_id=176
2026-06-06 14:59:07 +00:00

3.3 KiB
Raw Permalink Blame History

07 — Инфра-требования: ORCH-040

Work Item: ORCH-040 · Решение: ADR-001 (Вариант 1)

Требования к рантайму/инфре, которые Dev обязан реализовать, а Reviewer — проверить. Топология стадий и БД не меняются. Меняется только runtime-uid контейнера и target SSH-маунта.

R-1 — runtime uid контейнера

  • Оба сервиса в docker-compose.yml запускаются под user: "1000:1000".
  • group_add: ["999"] сохраняется на обоих (docker.sock через gid 999, МИНА 1).

R-2 — SSH-маунт согласован с HOME

  • target SSH-маунта = /home/slin/.ssh (не /root/.ssh) на обоих сервисах.
  • Совпадает с HOME=/home/slin, форсимым в src/agents/launcher.py (L326, L513).
  • Источник (/home/slin/.orchestrator-ssh) и режим :ro — без изменений.

R-3 — claude-маунты без изменений

  • /home/slin/.claude (rw) и /home/slin/.claude.json:ro остаются.
  • Доступ под uid 1000 обеспечивается host-prerequisite P-1 (chown creds), см. ADR.

R-4 — образ и launcher без изменений (по умолчанию)

  • Dockerfile не меняется (numeric uid не требует записи в /etc/passwd; safe.directory '*' уже есть). Изменение допустимо только при доказанной поломке под 1000.
  • src/agents/launcher.py не меняется (HOME, CLAUDE_BIN валидны под 1000).

R-5 — host-prerequisites (Owner, вне кода)

P-1…P-4 из ADR §«Host-prerequisites» — обязательная процедура. P-1 (доступ uid 1000 к claude creds) — блокер: без него preflight (ORCH-044) заворачивает конвейер.

R-6 — порядок внедрения

  1. staging (8501) end-to-end → 15-staging-log.md / check_staging_status зелёный;
  2. прод-рестарт self — только в окно тишины (GET /status без активных задач, P-4);
  3. регресс на хосте: новые tracked-артефакты 1000:1000, git pull под slin без ошибок.

R-7 — обновление документации (golden source)

Dev в том же PR обновляет:

  • docs/operations/INFRA.md — блок «Тома (volumes)» (SSH target /home/slin/.ssh) и явное указание runtime-uid (user: 1000:1000) контейнеров; команда разового хост-chown legacy root:root файлов.
  • CHANGELOG.md — запись fix:/refactor:.
  • глобальный adr-0005 уже заведён архитектором; индекс docs/architecture/adr/README.md обновлён.

Что НЕ требуется

  • Новых томов, портов, env-переменных — нет.
  • Изменения API, схемы БД, реестра QG/стадий — нет.
  • Multi-node / облачные сервисы — нет (принципы архитектуры).