87 lines
2.9 KiB
Plaintext
87 lines
2.9 KiB
Plaintext
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
|
|
- --port
|
|
- --ssh-port
|
|
- --skip-firewall
|
|
- --skip-start
|
|
- --ui-port
|
|
- --ui-bind-host
|
|
|
|
Что не реализовывать
|
|
- update subcommands
|
|
- rollback subcommands
|
|
- uninstall subcommands
|
|
- reconcile logic
|
|
- bot/access-delivery subcommands
|