architect(ET): auto-commit from architect run_id=626
This commit is contained in:
@@ -210,6 +210,38 @@ sidecar читает только `.env.watchdog`; C-1 ORCH-100 — отдель
|
||||
(docs+tests). Подробнее: [adr-0037](adr/adr-0037-lite-replication-canon.md), детально —
|
||||
`docs/work-items/ORCH-102/06-adr/ADR-001-lite-setup-doc-canon.md`.
|
||||
|
||||
**Type B — Bundled (ORCH-103 — design).** Закрывает эпик ORCH-10: весь стек одним комплектом
|
||||
(орк + watchdog + Gitea + Plane CE ≈13–14 контейнеров) для заказчика без собственной
|
||||
инфраструктуры. Новый top-level каталог **`deploy/`** (исполняемые дистрибутивы; дополняет
|
||||
`docs/deployment/` — инструкции): `deploy/bundled/docker-compose.yml` — один самодостаточный
|
||||
compose с `name: orchestrator-bundle` (узнаваемый префикс томов/контейнеров; `container_name`
|
||||
не пиннится — нет коллизий с корневым compose на одном хосте), пиннинг сторонних образов
|
||||
неподвижными тегами литералом (не `latest`); корневой compose не форкается (заморожен
|
||||
анти-дрейфом ORCH-102); staging-контур орка в bundle отсутствует, репо `orchestrator` не
|
||||
регистрируется → self-deploy-машинерия структурно спит (`SELF_HOSTING_REPO`-леафы не матчатся).
|
||||
Сеть — одна bridge: машинный трафик строго сервис-DNS (webhooks в обе стороны, API, /metrics),
|
||||
наружу — только человеческие порты (Plane 8080 / Gitea 3000 / орк 8500; явный
|
||||
`GITEA__webhook__ALLOWED_HOST_LIST=orchestrator` против дефолтного запрета приватных таргетов).
|
||||
Конфиг-слои: `deploy/bundled/.env.example` (канон bundle-инфры, key-set-sync тест) → live
|
||||
`deploy/bundled/.env` (авто-чтение compose из project dir, без `--env-file`-футгана); runtime
|
||||
орка/watchdog — корневые `.env`/`.env.watchdog` ровно по канону Lite (`env_file: required:
|
||||
false` до сборки); **единственный писатель live-файлов — bootstrap**.
|
||||
`scripts/bootstrap_bundle.py` (python stdlib-only, `plan`-дефолт/`apply`/`verify`, step-движок
|
||||
check→ensure, exit 0/2/1): preflight fail-fast до мутаций → секреты (`gen_secrets.py` +
|
||||
stdlib-креды стека, в логи не печатаются) → up+ожидание готовности → init Gitea (полностью
|
||||
автоматом через CLI; branch protection НЕ включать — D10 ORCH-009) → init Plane CE (честные
|
||||
manual-step: инструкция → подтверждение → API-верификация результата) → онбординг
|
||||
sandbox-проекта строго `onboard_project.py apply`/`verify` (host-venv, канон ONBOARDING) →
|
||||
git-доступ агентов token-remote (`_push_url`-паттерн; ssh-контур не вводится) → сборка env
|
||||
орка → health/итог; delete-операций в скрипте нет — teardown только документированной
|
||||
процедурой (§13). Golden source — `docs/deployment/BUNDLED_SETUP.md` (14 разделов по канону
|
||||
LITE_SETUP, требования к хосту по замеру тестового развёртывания; REPLICATION §1 — отметка
|
||||
Type B). Анти-дрейф — `tests/test_bundle_compose.py` / `test_bundled_setup_doc.py` /
|
||||
`test_bootstrap_script.py`. Рантайм/конвейер — байт-в-байт; kill-switch не нужен (активация —
|
||||
только явный запуск оператора на целевом хосте, паттерн ORCH-009). Подробнее:
|
||||
[adr-0038](adr/adr-0038-bundled-replication-canon.md), детально —
|
||||
`docs/work-items/ORCH-103/06-adr/ADR-001-bundled-stack-compose-and-bootstrap.md`.
|
||||
|
||||
## Конвейер и Quality Gates
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user