5.8 KiB
Release readiness v0.1
Документ фиксирует готовность AWatch-rus к первому управляемому release readiness циклу: проверяемость сборки, SBOM, installation/runbook, архитектура, портал, readiness bundle и публичная гигиена.
Дата фиксации: 2026-06-03.
1. Назначение
release-readiness-v0.1 не является отдельным коммерческим SKU и не заменяет
GitHub release tag. Это контрольная точка готовности поставки перед пилотом,
экспертной оценкой и публикацией release assets.
Цели:
- показать, что контур проверяется одной readiness-командой;
- подтвердить подпись и checksum readiness bundle;
- зафиксировать SBOM/third-party inventory;
- дать эксперту повторяемую установку и ручной сценарий проверки;
- приложить обезличенные screenshots портала;
- сохранить разделение public source и live commercial AWatch-rus runtime.
2. Состав release-readiness пакета
| Блок | Файл/артефакт | Статус |
|---|---|---|
| Changelog | CHANGELOG_RU.md |
готов |
| Release notes | docs/RELEASE_NOTES_2026-06.md |
готов |
| Manifest | docs/RELEASE_MANIFEST_2026-06.md |
готов |
| SBOM profile | docs/SBOM_V0.1_RU.md |
готов |
| SBOM checklist | docs/SBOM_RELEASE_CHECKLIST_RU.md |
готов |
| Installation | docs/INSTALL_FOR_EXPERT_RU.md, docs/INSTALL_RU.md |
готов |
| Runbook | adk-rust/RUNBOOK.md, docs/runbook.md |
готов |
| Architecture | docs/ARCHITECTURE_RU.md, docs/diagrams/release-readiness-v0.1.md |
готов |
| Portal screenshots | docs/PORTAL_SCREENSHOTS_RU.md, docs/screenshots/release-v0.1/*.png |
готов |
| Readiness docs | docs/PRODUCTION_READINESS_RU.md |
готов |
| Public audit | docs/RELEASE_AUDIT_2026-06.md |
готов |
3. Readiness bundle
Минимальный состав latest bundle:
detmir-readiness-latest.json;detmir-readiness-act.md;detmir-readiness-act.html;sha256sums.txt;sha256sums.txt.sig;public-key.pem;detmir-readiness-status.json;detmir-readiness.prom.
Критерии приемки:
detmir_readiness_ok 1;detmir_readiness_signature_verified 1;checksum_verified=true;signature.verified=true;signature.public_key_fingerprint_sha256совпадает с публично зафиксированным fingerprint вadk-rust/RUNBOOK.md.
4. Portal readiness UI
В портале должен быть виден блок Готовность системы:
- статус
OK/WARN/FAIL; - дата генерации readiness bundle;
- статус подписи;
- статус checksum;
- короткий fingerprint публичного ключа;
- кнопка
Проверить bundle.
Проверяемые API:
GET /api/readiness/bundle
GET /api/readiness/verify
Через внешний gateway эти endpoints должны оставаться под действующей схемой аутентификации портала.
5. Prometheus/Grafana alerts
Alert rules:
detmir_readiness_ok == 0
detmir_readiness_signature_verified == 0
Поставочный файл:
aw-server/detmir-readiness-alerts.yml
Цель: оператор должен увидеть не только падение health-check, но и нарушение доказуемости readiness bundle.
6. Проверки перед публикацией
node --check adk-rust/crates/detmir-portal/src/static/app.js
cargo fmt --manifest-path adk-rust/Cargo.toml --all -- --check
CARGO_TARGET_DIR=/tmp/detmir-release-target \
cargo test --manifest-path adk-rust/Cargo.toml -p detmir-readiness -p detmir-portal
CARGO_TARGET_DIR=/tmp/detmir-release-target \
cargo clippy --manifest-path adk-rust/Cargo.toml -p detmir-readiness -p detmir-portal --all-targets -- -D warnings
ansible-playbook -i ansible/inventory.ini ansible/deploy_aw_server.yml --syntax-check
ansible-playbook -i ansible/inventory.ini ansible/deploy_detmir_portal.yml --syntax-check
git diff --check
Public hygiene gate:
PRIVATE_MARKERS_REGEX='<PRIVATE_HOSTNAME>|<PRIVATE_NETWORK>|<PRIVATE_DOMAIN>|<LOCAL_OPERATOR_HOME>|<ROOT_PRIVATE_PATH>'
git grep -n -E "$PRIVATE_MARKERS_REGEX" -- \
':!docs/RELEASE_AUDIT_2026-06.md' ':!*.zip' ':!*.tar.gz' ':!adk-rust/target/**' || true
git ls-files | grep -E '(^|/)secrets(/|$)|\.env$|inventory\.ini$' || true
7. Ограничения
- Screenshots для публичной поставки должны быть обезличены и сняты на mock data или demo contour.
- Live inventory, live domains, private IPs, case IDs, forensic paths, screenshots с реальными пользователями и runtime evidence не входят в Git.
- Telegram runtime остается Python.
- PowerShell не считается полностью удаленным: оставшиеся runtime/fallback/installer/repair scripts допустимы как документированный слой отката и поддержки до отдельного burn-in/canary/rollback/acceptance gate.
- pfSense/network layer не входит в этот release-readiness этап.
8. Следующий уровень
Для release-readiness-v0.2 нужны:
- машинный CycloneDX/SPDX SBOM как release asset;
- подписанный Git tag;
- release asset checksum verification в CI;
- smoke screenshots как CI artifact;
- отдельный customer pilot acceptance акт.