3.9 KiB
3.9 KiB
HY2XS production runbook
1. Supported target
- clean Debian 13 amd64
- single host install profile
- IPv4-only runtime model
2. Required prerequisites
apt-get update
apt-get install -y sudo ca-certificates curl iproute2 tar openssl nftables systemd
sudo обязателен для permission smoke-checks от имени runtime-пользователей.
sudo должен быть установлен до запуска ./install.sh: preflight проверяет его до шага установки зависимостей.
3. Required open ports
- UDP
${HY2XS_HYSTERIA_PORT} - TCP
${HY2XS_UI_PORT}(обычно localhost bind) - TCP
${HY2XS_SSH_PORT} - TCP 80/443 для ACME (в зависимости от типа challenge)
4. Clean host assumptions
- нет legacy-конфликта по runtime-users (
hysteria,hy2xs-admin) - нет конфликтующего не-HY2XS nftables entrypoint
- install запускается от root
5. Install command
./install.sh --non-interactive
6. Post-install verification
systemctl status hysteria-server
systemctl status hy2xs-admin
ss -H -lun | grep ':443'
ss -H -ltn | grep ':8080'
nft list ruleset
cat /var/lib/hy2xs/install-state.json
7. Permission verification
ls -l /etc/hy2xs/hy2xs.env
ls -l /etc/hysteria/config.yaml
sudo -u hysteria test -r /etc/hysteria/config.yaml
sudo -u hy2xs-admin test -r /etc/hysteria/config.yaml
sudo -u hy2xs-admin test ! -w /etc/hysteria/config.yaml
sudo -u hy2xs-admin test ! -r /etc/hy2xs/hy2xs.env
8. Firewall recovery
Если install/reconfigure падают после firewall apply:
- rollback guard не должен отменяться до успешного smoke;
- для recovery использовать вывод оркестратора и перезапускать apply только после устранения root-cause.
9. Reconfigure flow
hy2xs-orchestrator reconfigure --package-dir /usr/local/lib/hy2xs/package --config /etc/hy2xs/hy2xs.env --dry-run
hy2xs-orchestrator reconfigure --package-dir /usr/local/lib/hy2xs/package --config /etc/hy2xs/hy2xs.env --apply
10. Admin bootstrap credentials
HY2XS_ADMIN_INITIAL_PASSWORDиHY2XS_ADMIN_CON_PASS— install-only bootstrap поля.- изменение значений в
/etc/hy2xs/hy2xs.envпосле install не выполняет автоматическую ротацию существующих credentials.
11. IPv4/IPv6 policy
- HY2XS работает в IPv4-only режиме.
- если IPv6 включён на хосте/провайдере — это вне baseline и должно быть отдельно управляемо оператором.
12. Validation command
hy2xs-orchestrator doctor --package-dir /usr/local/lib/hy2xs/package --config /etc/hy2xs/hy2xs.env
Команда выполняет preflight + smoke как post-install/post-reboot validation.
13. Secret-safe config sharing
Для передачи конфигов в тикеты/чаты используйте встроенную redaction-команду:
hy2xs-orchestrator redact-config --config /etc/hy2xs/hy2xs.env --out /root/hy2xs.redacted.env
hy2xs-orchestrator redact-config --config /etc/hysteria/post-install.env --out /root/post-install.redacted.env
hy2xs-orchestrator redact-config --config /etc/hysteria/config.yaml --out /root/hysteria-config.redacted.yaml --format yaml
Инварианты:
- команда не выводит исходные секреты в stdout;
- требуется выбрать ровно один режим:
--in-placeили--out <path>; --format autoпытается определить формат по имени файла, при неоднозначности используйте--format env|yaml.