Реализован production-hardening по fix1: env/reconfigure, IPv4-only, TLS, secrets, firewall, docs

This commit is contained in:
2026-04-26 07:27:06 +05:00
parent 2b4a45ad23
commit 3fccd5c442
109 changed files with 1773 additions and 569 deletions
+16 -8
View File
@@ -1,15 +1,16 @@
# HY2XS
HY2XS — двухслойный install package для развёртывания на чистом Debian 12 amd64.
HY2XS — production installer/runtime-manager для развёртывания Hysteria2 + HY2XS admin на чистом Debian 12 amd64.
Состав baseline:
- production builder на Debian 12 amd64 создаёт один переносимый архив;
- install-only оркестратор на Bun + TypeScript поставляется на target как готовый compiled artifact;
- HY2XS admin поставляется в составе пакета как bundled fork;
- vanilla Hysteria2 скачивается с official upstream во время установки.
- vanilla Hysteria2 скачивается с official upstream во время установки;
- runtime-конфиг управляется через `/etc/hy2xs/hy2xs.env` и команду `reconfigure`.
В baseline намеренно не входят target-side build, update, rollback, uninstall, Telegram bot delivery, billing и внешний контур выдачи access/profile.
В baseline намеренно не входят target-side build, rollback/uninstall orchestration, Telegram bot delivery, port hopping и generic server-manager функции.
## Структура репозитория
@@ -51,18 +52,25 @@ https://git.ext.flamy.studio/flamy_dev/HY2XS_flamy.git
Публиковать изменения нужно только после прохождения baseline acceptance, сборки оркестратора и smoke checks итогового пакета.
## Установка
## Установка и конфигурация
На чистом Debian 12 target нужно распаковать архив и запустить от root:
```sh
./install.sh --non-interactive --domain example.com
./install.sh --package-dir . --config /etc/hy2xs/hy2xs.env --non-interactive
```
Полезные baseline-флаги:
После установки применяются команды оркестратора:
```sh
./install.sh --non-interactive --domain example.com --port 443 --ssh-port 22 --ui-port 8080
hy2xs-orchestrator reconfigure --package-dir /opt/hy2xs-package --config /etc/hy2xs/hy2xs.env --dry-run
hy2xs-orchestrator reconfigure --package-dir /opt/hy2xs-package --config /etc/hy2xs/hy2xs.env --apply
```
После установки создаётся `/etc/hysteria/post-install.env` с фактическими параметрами deploy-состояния.
Ключевые инварианты:
- только IPv4 (`0.0.0.0:<port>` для Hysteria, `127.0.0.1:<ui_port>` для UI по умолчанию);
- UI запускается не от root (`hy2xs-admin`);
- секреты и чувствительные конфиги: `0600`;
- snapshot deploy-фактов: `/etc/hysteria/post-install.env`;
- editable runtime layer: `/etc/hy2xs/hy2xs.env`.