Подготовить HY2XS к production-сборке
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# Testing and acceptance
|
||||
|
||||
## Цель документа
|
||||
|
||||
Зафиксировать checklist для новой двухслойной схемы.
|
||||
|
||||
## A. Builder layer tests
|
||||
|
||||
### Проверяем
|
||||
1. builder запускается на Debian 12 amd64 build host
|
||||
2. итоговый пакет собирается без target-side шагов
|
||||
3. bundled HY2XS admin реально входит в пакет
|
||||
4. package metadata / build id присутствуют
|
||||
5. compiled Bun/TypeScript orchestrator artifact присутствует
|
||||
6. в пакет не попадает build-мусор
|
||||
7. builder сам доставляет отсутствующие build-зависимости
|
||||
8. builder проверяет версии Go/Bun/Node.js/pnpm
|
||||
9. builder пишет версии toolchain в metadata
|
||||
|
||||
## B. Target install tests
|
||||
|
||||
### На чистом Debian 12 проверяем
|
||||
1. пакет запускается без ручной сборки на сервере
|
||||
2. Hysteria2 скачивается с official upstream
|
||||
3. bundled HY2XS admin раскладывается локально из пакета
|
||||
4. создаются нужные каталоги
|
||||
5. создаются systemd unit-файлы
|
||||
6. создаётся `post-install.env`
|
||||
7. baseline firewall применяется корректно
|
||||
8. SSH остаётся доступным
|
||||
|
||||
## C. Runtime tests
|
||||
|
||||
1. `hysteria-server` active
|
||||
2. `hy2xs-admin` active
|
||||
3. UDP-порт слушается
|
||||
4. HY2XS admin открывается по ожидаемому admin path
|
||||
5. тестовый совместимый клиент подключается
|
||||
6. идёт реальный трафик
|
||||
7. лимит 50/50 Mbps соблюдается при согласованной клиентской конфигурации
|
||||
8. reboot не ломает baseline
|
||||
9. Hysteria2 управляется systemd unit, а не внутренним updater'ом admin panel
|
||||
|
||||
## D. Negative tests
|
||||
|
||||
1. не Debian 12
|
||||
2. порт уже занят
|
||||
3. старое конфликтующее состояние уже существует
|
||||
4. домен / SNI заданы некорректно
|
||||
5. bundled UI отсутствует в пакете
|
||||
6. Hysteria upstream недоступен
|
||||
7. firewall применился частично
|
||||
8. install flow прерван посередине
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
Система принимается, если:
|
||||
|
||||
1. production builder на Debian 12 amd64 выдаёт переносимый install package
|
||||
2. target server не выполняет build step
|
||||
3. Hysteria2 получена из official upstream
|
||||
4. UI поставлен из bundled fork
|
||||
5. `post-install.env` отражает фактическое deploy-состояние
|
||||
6. оркестратор зафиксирован как Bun/TypeScript stack и поставляется как готовый install-артефакт
|
||||
7. оркестратор не требует update / rollback / uninstall логики
|
||||
8. Telegram/access layer не требуется для прохождения install acceptance
|
||||
Reference in New Issue
Block a user