Исправлен rollback/firewall lifecycle и shell execution, синхронизирована документация

This commit is contained in:
2026-05-01 21:26:42 +05:00
parent d393308216
commit 7c0b79588f
10 changed files with 53 additions and 18 deletions
+3 -1
View File
@@ -109,7 +109,9 @@ Telegram-бот, backend выдачи ключей, remote profile publishing, b
- target-side `bun install` / transpile / compile
- Telegram-бот
- backend выдачи remote profiles
- update / rollback / uninstall
- standalone update / rollback / uninstall subcommands
При этом в install/reconfigure допускается bounded rollback для failure-сценариев firewall/systemd/config/smoke.
- Docker как основной способ поставки
- multi-node deployment
- сложный control plane
+2 -1
View File
@@ -31,7 +31,7 @@
## Оркестратор не умеет
- upgrade
- rollback
- standalone rollback subcommands
- uninstall
- repair старых неизвестных состояний
- target-side build
@@ -110,6 +110,7 @@
- Любой конфликт неизвестного старого состояния = stop with error.
- Никакой сложной автомиграции.
- Ошибки должны быть текстовыми и пригодными для диагностики.
- Для install/reconfigure допустим bounded rollback при failure-сценариях firewall/systemd/config/smoke.
## CLI baseline
+7 -6
View File
@@ -79,9 +79,10 @@
4. UI поставлен из bundled fork
5. `post-install.env` отражает фактическое deploy-состояние
6. оркестратор зафиксирован как Bun/TypeScript stack и поставляется как готовый install-артефакт
7. оркестратор не требует update / rollback / uninstall логики
8. Telegram/access layer не требуется для прохождения install acceptance
9. отсутствует production path для port hopping
10. UI не запускается от root
11. клиентские endpoint не зависят от request `Host`/`hostname`
12. production build verify падает, если `config/hy2xs.env` содержит placeholder-значения
7. оркестратор не требует standalone update / rollback / uninstall subcommands
8. bounded rollback в install/reconfigure корректно отрабатывает failure-сценарии firewall/systemd/config/smoke
9. Telegram/access layer не требуется для прохождения install acceptance
10. отсутствует production path для port hopping
11. UI не запускается от root
12. клиентские endpoint не зависят от request `Host`/`hostname`
13. production build verify падает, если `config/hy2xs.env` содержит placeholder-значения
+2
View File
@@ -15,6 +15,8 @@ apt-get install -y sudo ca-certificates curl iproute2 tar openssl nftables syste
`sudo` обязателен для permission smoke-checks от имени runtime-пользователей.
`sudo` должен быть установлен до запуска `./install.sh`: preflight проверяет его до шага установки зависимостей.
## 3. Required open ports
- UDP `${HY2XS_HYSTERIA_PORT}`
+4 -3
View File
@@ -8,7 +8,7 @@
- оркестратор: **install-only**, только первичная установка и базовая настройка
- стек оркестратора: **Bun + TypeScript**
- target-side build: **запрещён**
- update / rollback / uninstall: **вне scope**
- standalone update / rollback / uninstall subcommands: **вне scope**
- сборка и упаковка: **отдельный локальный build layer**
- post-install state: **`/etc/hysteria/post-install.env`**
- клиентский delivery/access layer: **вне baseline этого пакета docs**
@@ -34,8 +34,9 @@
2. HY2XS admin форкается к себе и поставляется вместе с пакетом.
3. Оркестратор пишется на **Bun + TypeScript**.
4. На target нет `npm` / `pnpm` / `yarn` / `bun install` / transpile step.
5. На target нет логики update / rollback / uninstall.
6. Выдача доступа пользователям, Telegram-бот, billing, backend профилей и похожие контуры **не входят** в этот baseline.
5. На target нет standalone логики update / rollback / uninstall.
6. В install/reconfigure есть bounded rollback для failure-сценариев firewall/systemd/config/smoke.
7. Выдача доступа пользователям, Telegram-бот, billing, backend профилей и похожие контуры **не входят** в этот baseline.
## Состав документов