|
|
f0cd19d748
|
feat(replication): ORCH-10b Bundled-тираж — bundle-compose всего стека + bootstrap-скрипт
Закрывает Type B эпика ORCH-10 (по ADR-001 ORCH-103, D1–D11):
- deploy/bundled/docker-compose.yml — самодостаточный compose всего стека
(орк + watchdog + Gitea 1.22.6 + зеркало upstream Plane CE v0.23.1,
~14 контейнеров); project name orchestrator-bundle (узнаваемый префикс),
container_name не пиннится, staging-контура нет; одна bridge-сеть,
машинный трафик — сервис-DNS, наружу только человеческие порты;
GITEA__webhook__ALLOWED_HOST_LIST=orchestrator; все образы пиннованы
неподвижными тегами. Корневой compose/Dockerfile/src/** — байт-в-байт.
- deploy/bundled/.env.example — конфиг-канон bundle (плейсхолдеры, ни одного
дефолтного пароля; key-set-sync интерполяций держит тест).
- scripts/bootstrap_bundle.py — python stdlib-only, режимы plan/apply/verify,
step-движок check→ensure, exit 0/2/1: preflight (fail-fast до мутаций) →
секреты (gen_secrets.py + stdlib secrets, без перетирания) → up+готовность →
init Gitea автоматом → init Plane (manual-step с API-верификацией) →
онбординг строго onboard_project.py apply+verify → token-remote клон →
сборка .env/.env.watchdog (единственный писатель, права 600) → health.
Delete-операций нет вообще (D9), секреты не печатаются (NFR-3).
- CHANGELOG.md, CLAUDE.md (абзац Type B), .gitignore (deploy/bundled/repos/).
Док BUNDLED_SETUP.md, REPLICATION §1, arch README, adr-0038 и три структурных
тест-модуля (TC-01…TC-11) — в предыдущих коммитах ветки; полный регресс
1844 passed, ruff по файлам задачи чистый.
Refs: ORCH-103
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-11 02:16:32 +03:00 |
|