|
|
e2cf883603
|
feat(scripts): interactive Lite-installer setup_lite.py (ORCH-104)
CI / test (push) Successful in 57s
CI / test (pull_request) Successful in 57s
Единый операторский CLI scripts/setup_lite.py — исполняемый инструмент
Lite-тиража поверх документа-канона docs/deployment/LITE_SETUP.md
(ORCH-102). Автоматизирует маршрут §2–§12: скан предусловий хоста с
офером доустановки → discovery docker-инсталляций Plane/Gitea →
интерактивный сбор обязательных ключей с немедленной верификацией →
автодетект хост-параметров и когерентность портов → сборка
.env/.env.watchdog от канонов → webhook Plane → guard-ы Gitea →
подъём ровно orchestrator+orchestrator-watchdog → регистрация проекта
строго кирпичом onboard_project.py → итоговый отчёт PASS/FAIL/MANUAL.
Scripts+docs+tests (паттерн ORCH-009/103): рантайм src/**, корневой
docker-compose.yml, Dockerfile, .env.example/.env.watchdog.example,
STAGE_TRANSITIONS/QG_CHECKS/check_*/machine-verdict/схема БД —
байт-в-байт. kill-switch не нужен (активация — только явный запуск
CLI человеком на целевом хосте; в нашем контуре артефакт инертен).
- D1/D2: stdlib-only, один файл; режимы plan/apply/verify (closed
choices), дефолт apply (бизнес-цель «одна команда»); безопасность
структурно — фаза 0 ≡ plan, ранний guard чужого .env, per-action
consent, non-TTY без --yes → exit 2 ДО мутаций. Exit 0/2/1; resume
= повторный запуск (check→ensure по реальности, без state-файла).
- D3: 10 нормативных шагов, инвариант APPLY_STEPS == build_plan().
- D4–D11: решающая логика — чистые функции (вердикты предусловий,
classifier discovery строго по image-префиксам, port_overrides
когерентной тройкой, staging==prod fail-closed, рендер env с
маркером managed-файла, C-1 ORCH-100 машинно, §6.4 branch
protection без удаления, webhook Plane Path A/Б, build_onboard_args).
- NFR-1/3: src.* не импортируется; секреты скрыты и не печатаются;
delete-операций нет; никаких операций с main; рестарт — только
собственного контура.
- D12: LITE_SETUP.md §1.1 + footer-норматив; tests/test_setup_lite_script.py
(47 unit/structural); аддитивный TC-27 в test_lite_setup_doc.py;
витрина docs/overview + docs/architecture/README дополнены;
CHANGELOG + CLAUDE.md (паспорт) обновлены.
Refs: ORCH-104
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-12 03:04:35 +03:00 |
|