Подготовить HY2XS к production-сборке
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
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
|
||||
Reference in New Issue
Block a user