Files
AWatch-rus/docs/RELEASE_READINESS_V0.2_RU.md
T

118 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Release readiness v0.2
`release-readiness-v0.2` усиливает v0.1 в части коммерческого релиза и
подготовки к реестру российского ПО.
Дата фиксации: `2026-06-03`.
## 1. Что добавлено
| Блок | Файл |
|---|---|
| Machine SBOM generation | `scripts/generate_release_sbom_v0_2.sh` |
| Release asset verification | `scripts/verify_release_assets.sh` |
| CI checksum/signature self-test | `.github/workflows/release-assets.yml` |
| Pilot acceptance act | `docs/CUSTOMER_PILOT_ACCEPTANCE_RU.md` |
| pfSense perimeter positioning | `docs/NETWORK_PERIMETER_PFSENSE_RU.md` |
## 2. Machine SBOM as GitHub Release asset
Сгенерировать assets:
```bash
bash scripts/generate_release_sbom_v0_2.sh dist/release-v0.2
```
Ожидаемые файлы:
```text
dist/release-v0.2/sbom/cyclonedx-rust-v0.2.json
dist/release-v0.2/sbom/spdx-rust-v0.2.json
dist/release-v0.2/sbom/cargo-metadata-v0.2.json
dist/release-v0.2/sbom/cargo-tree-v0.2.txt
dist/release-v0.2/sbom/python-inputs-v0.2.txt
dist/release-v0.2/RELEASE_ASSETS_MANIFEST-v0.2.json
dist/release-v0.2/SHA256SUMS-v0.2.txt
```
Эти файлы публикуются как GitHub Release assets. Они не хранятся в tracked
source, потому что `dist/` является generated output.
## 3. Подпись release assets
Release manager подписывает checksum file detached signature:
```bash
openssl dgst -sha256 -sign <RELEASE_PRIVATE_KEY.pem> \
-out dist/release-v0.2/SHA256SUMS-v0.2.txt.sig \
dist/release-v0.2/SHA256SUMS-v0.2.txt
```
Проверка:
```bash
RELEASE_VERIFY_PUBLIC_KEY=<RELEASE_PUBLIC_KEY.pem> \
bash scripts/verify_release_assets.sh dist/release-v0.2
```
## 4. Подписанный Git tag
Требование для финального релиза:
```bash
git tag -s release-readiness-v0.2 -m "release-readiness-v0.2"
git tag -v release-readiness-v0.2
git push origin release-readiness-v0.2
```
Tag должен быть подписан пользовательским ключом правообладателя/maintainer, а
не сторонним системным ключом пакетов ОС.
## 5. CI gate
Workflow:
```text
.github/workflows/release-assets.yml
```
Проверяет:
- генерацию CycloneDX/SPDX JSON;
- валидность JSON;
- self-test checksum/signature verifier;
- отрицательные сценарии checksum mismatch и missing signature.
## 6. Pilot acceptance
Шаблон:
```text
docs/CUSTOMER_PILOT_ACCEPTANCE_RU.md
```
Использовать для коммерческого пилота после установки и первичной настройки.
Публичная версия должна оставаться обезличенной.
## 7. pfSense perimeter
Документ:
```text
docs/NETWORK_PERIMETER_PFSENSE_RU.md
```
Ключевая позиция: pfSense является опциональным интеграционным слоем, а не
обязательной частью продукта AWatch-rus.
## 8. Acceptance checklist
- SBOM assets сгенерированы.
- `SHA256SUMS-v0.2.txt` создан.
- `SHA256SUMS-v0.2.txt.sig` создан release private key.
- `scripts/verify_release_assets.sh` проходит с public key.
- Git tag подписан ключом maintainer.
- GitHub release содержит SBOM JSON/TXT, manifest, checksum и signature.
- `CUSTOMER_PILOT_ACCEPTANCE_RU.md` заполнен для пилотного заказчика.
- pfSense не описан как обязательный компонент продукта.