3.3 KiB
3.3 KiB
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 — порядок внедрения
- staging (8501) end-to-end →
15-staging-log.md/check_staging_statusзелёный; - прод-рестарт self — только в окно тишины (
GET /statusбез активных задач, P-4); - регресс на хосте: новые 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) контейнеров; команда разового хост-chownlegacyroot:rootфайлов.CHANGELOG.md— записьfix:/refactor:.- глобальный adr-0005 уже
заведён архитектором; индекс
docs/architecture/adr/README.mdобновлён.
Что НЕ требуется
- Новых томов, портов, env-переменных — нет.
- Изменения API, схемы БД, реестра QG/стадий — нет.
- Multi-node / облачные сервисы — нет (принципы архитектуры).