3a4ce9c751
Новый docs/14-legacy-cleanup.md: как выглядит отказ установщика, полный список маркеров чужой установки, что сохранить перед очисткой, работа purge-v0.sh, ручная процедура и отдельно - случай незавершённой установки текущего поколения, где нужен repair, а не очистка. Обновлено под фактическое поведение: - README и package/docs: установка описана как две фазы, PHASE 0 ничего не меняет; добавлен troubleshooting по отказу clean-host; версии toolchain больше не передаются через окружение; - 02-build-layer: раздел про versions.env (что в нём есть и чего нет и почему), verify_versions_contract, проверка происхождения артефакта по upstream hashes.txt; - 08-orchestrator-spec: двухфазный контракт, read-only guard, идентификация поколения в install-state, ownership-aware rollback, расширенная семантическая проверка конфига, структурная редакция; - 04-admin-panel: таблица удалённых маршрутов и почему они удалены, а не оставлены заглушками; сужена формулировка гарантии санитайза; - 11-testing: новые unit-наборы, полный список инвариантов конфига, раздел про одну реализацию URI вместо двух, сценарий проверки границы установки на живом сервере; - 12-operations и 13-runbook: диагностика отказов по поколению, поведение diagnostics-бандла; - tools/build/README: контракт версий, обе суммы Bun, hashes.txt. CHANGELOG: раздел Unreleased с разбором каждого исправленного дефекта.
1.8 KiB
1.8 KiB
HY2XS install package
Этот пакет создаётся production builder'ом на Debian 13 amd64.
Пакет предназначен для чистого Debian 13 target и содержит:
- compiled install-only orchestrator;
- bundled HY2XS admin;
- templates;
- systemd units;
- package metadata и checksums.
Запускать от root:
./install.sh --non-interactive
С внешним source-config:
./install.sh --config /root/custom-hy2xs.env --non-interactive
В baseline нет target-side JavaScript, TypeScript, frontend или Go build step.
Установка выполняется в две фазы
PHASE 0 — READ ONLY
проверка прав и checksums пакета
clean-host preflight из распакованного архива
↓ ноль изменений на сервере
PHASE 1 — MUTATION
установка orchestrator, раскладка runtime-пакета
install
HY2XS v1 не устанавливается поверх предыдущей установки и не мигрирует её состояние. Если PHASE 0 обнаружит старую установку, установщик завершится с ошибкой и не изменит на сервере ничего.
Проверить хост, ничего не устанавливая:
./orchestrator/hy2xs-orchestrator preflight-install --package-dir "$(pwd)"
Очистка предыдущей установки — отдельная явная операция оператора, она описана
в docs/14-legacy-cleanup.md репозитория проекта и выполняется скриптом
tools/legacy/purge-v0.sh. Установщик её никогда не запускает сам.