HY2XS: orchestrator install flow Главная роль Install-only orchestrator ставит систему на чистый Debian 12 и больше ничего не обещает. Технологическая фиксация - Исходники оркестратора: Bun + TypeScript. - Сборка оркестратора: локально, builder layer'ом. - Исполнение на target: готовый install-артефакт через thin wrapper. Рекомендуемый порядок модулей 1. preflight - проверить Debian 12 - проверить root/sudo context - проверить, что порт свободен - проверить, что не существует конфликтующей старой установки 2. deps - установить системные зависимости - проверить наличие systemd, nft, curl/wget, tar, openssl и прочего необходимого минимума 3. filesystem - создать системного пользователя hysteria - создать каталоги: /etc/hysteria /var/lib/hysteria /opt/hy2xs-admin /var/lib/hy2xs-admin /var/log/hy2xs /usr/local/lib/hy2xs 4. bundled UI deploy - разложить HY2XS admin из пакета - назначить владельца и права 5. Hysteria install - скачать свежую Hysteria2 из official upstream - установить бинарь в согласованный путь - зафиксировать фактическую версию 6. config generation - сгенерировать /etc/hysteria/config.yaml - сгенерировать параметры obfs - записать домен, порт, bandwidth policy 7. systemd - разложить hysteria-server.service - разложить hy2xs-admin.service - daemon-reload - enable services 8. firewall - применить baseline nftables - не терять SSH 9. post-install.env - создать /etc/hysteria/post-install.env - записать package version, build id, orchestrator stack/build, Hysteria version, UI build info, порты и пути 10. start and smoke - стартовать сервисы - проверить systemctl is-active - проверить UDP listen - проверить доступность UI Политика ошибок - Любой конфликт неизвестного старого состояния = stop with error. - Никакой сложной автомиграции. - Ошибки должны быть текстовыми и пригодными для диагностики. CLI baseline Допустимые флаги: - --non-interactive - --domain - --port - --ssh-port - --skip-firewall - --skip-start - --ui-port - --ui-bind-host Что не реализовывать - update subcommands - rollback subcommands - uninstall subcommands - reconcile logic - bot/access-delivery subcommands