docs(release): add readiness v0.1 package
This commit is contained in:
@@ -1,5 +1,37 @@
|
|||||||
# Журнал изменений
|
# Журнал изменений
|
||||||
|
|
||||||
|
## release-readiness-v0.1 - 2026-06-03
|
||||||
|
|
||||||
|
Назначение этапа: довести DetMir/AWatch-rus до проверяемого release-readiness
|
||||||
|
пакета для пилота, экспертной оценки и последующей публикации релиза без
|
||||||
|
раскрытия приватного коммерческого контура.
|
||||||
|
|
||||||
|
### Добавлено
|
||||||
|
|
||||||
|
- UI-блок портала `Готовность системы`: статус `OK/WARN/FAIL`, дата bundle,
|
||||||
|
статус checksum, статус detached signature, fingerprint публичного ключа и
|
||||||
|
ручная кнопка проверки bundle.
|
||||||
|
- Prometheus/Grafana alert rules:
|
||||||
|
`detmir_readiness_ok == 0` и
|
||||||
|
`detmir_readiness_signature_verified == 0`.
|
||||||
|
- Подпись readiness bundle через detached signature `sha256sums.txt.sig`.
|
||||||
|
- Retention для readiness archives и unit-тесты на подпись/retention.
|
||||||
|
- `docs/RELEASE_READINESS_V0.1_RU.md` - сводный акт готовности релиза v0.1.
|
||||||
|
- `docs/SBOM_V0.1_RU.md` - human-readable SBOM profile и команды генерации
|
||||||
|
машинных SBOM artifacts.
|
||||||
|
- `docs/PORTAL_SCREENSHOTS_RU.md` - перечень обезличенных screenshots портала.
|
||||||
|
- `docs/diagrams/release-readiness-v0.1.md` - схема release-readiness path.
|
||||||
|
|
||||||
|
### Проверено
|
||||||
|
|
||||||
|
- `cargo fmt --manifest-path adk-rust/Cargo.toml --all -- --check`.
|
||||||
|
- `cargo test --manifest-path adk-rust/Cargo.toml -p detmir-readiness -p detmir-portal`.
|
||||||
|
- `cargo clippy --manifest-path adk-rust/Cargo.toml -p detmir-readiness -p detmir-portal --all-targets -- -D warnings`.
|
||||||
|
- `node --check adk-rust/crates/detmir-portal/src/static/app.js`.
|
||||||
|
- Ansible syntax-check для AW server и DetMir portal deploy playbooks.
|
||||||
|
- Runtime deployment на проектные сервисы DetMir без изменения pfSense или
|
||||||
|
Proxmox platform layer.
|
||||||
|
|
||||||
## v1.0.1-public-review - 2026-06-03
|
## v1.0.1-public-review - 2026-06-03
|
||||||
|
|
||||||
Назначение релиза: публичный пакет для экспертной оценки DetMir/AWatch-rus и
|
Назначение релиза: публичный пакет для экспертной оценки DetMir/AWatch-rus и
|
||||||
|
|||||||
@@ -152,4 +152,5 @@ DetMir не заявляется как сертифицированная СЗ
|
|||||||
- `docs/ADMIN_GUIDE_RU.md`
|
- `docs/ADMIN_GUIDE_RU.md`
|
||||||
- `docs/OPERATOR_GUIDE_RU.md`
|
- `docs/OPERATOR_GUIDE_RU.md`
|
||||||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||||
|
- `docs/diagrams/release-readiness-v0.1.md`
|
||||||
- `adk-rust/RUNBOOK.md`
|
- `adk-rust/RUNBOOK.md`
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Скриншоты портала release-readiness v0.1
|
||||||
|
|
||||||
|
Скриншоты предназначены для публичной демонстрации и экспертной оценки. Они
|
||||||
|
сняты на обезличенных mock data с реальным frontend-кодом портала.
|
||||||
|
|
||||||
|
Правило: screenshots не должны содержать live domains, private IPs,
|
||||||
|
пользовательские ФИО, live case IDs, runtime evidence paths или реальные
|
||||||
|
forensic hashes.
|
||||||
|
|
||||||
|
## Состав
|
||||||
|
|
||||||
|
| Экран | Файл |
|
||||||
|
|---|---|
|
||||||
|
| Оператор и готовность системы | `docs/screenshots/release-v0.1/portal-operator-readiness.png` |
|
||||||
|
| Руководитель и объяснение индекса | `docs/screenshots/release-v0.1/portal-manager-workforce.png` |
|
||||||
|
| Инциденты ИБ и evidence | `docs/screenshots/release-v0.1/portal-incidents-evidence.png` |
|
||||||
|
| Отчеты, UEBA/risk и Markdown export | `docs/screenshots/release-v0.1/portal-reports-risk.png` |
|
||||||
|
| Владелец и summary | `docs/screenshots/release-v0.1/portal-owner-summary.png` |
|
||||||
|
|
||||||
|
## Повторная генерация
|
||||||
|
|
||||||
|
Скриншоты можно переснимать только на demo/mock данных или на специально
|
||||||
|
обезличенном стенде. Live commercial DetMir contour не использовать как
|
||||||
|
источник публичных PNG без отдельной ручной проверки приватности.
|
||||||
@@ -16,6 +16,20 @@ contains sanitized source, documentation, install-kit archives, SBOM inputs and
|
|||||||
checksums. It does not contain private runtime configuration, live customer
|
checksums. It does not contain private runtime configuration, live customer
|
||||||
inventory, tokens, passwords, screenshots, runtime databases or evidence.
|
inventory, tokens, passwords, screenshots, runtime databases or evidence.
|
||||||
|
|
||||||
|
## Release-readiness v0.1 overlay
|
||||||
|
|
||||||
|
Additional readiness artifacts:
|
||||||
|
|
||||||
|
- `docs/RELEASE_READINESS_V0.1_RU.md`
|
||||||
|
- `docs/SBOM_V0.1_RU.md`
|
||||||
|
- `docs/PORTAL_SCREENSHOTS_RU.md`
|
||||||
|
- `docs/diagrams/release-readiness-v0.1.md`
|
||||||
|
- `docs/screenshots/release-v0.1/portal-operator-readiness.png`
|
||||||
|
- `docs/screenshots/release-v0.1/portal-manager-workforce.png`
|
||||||
|
- `docs/screenshots/release-v0.1/portal-incidents-evidence.png`
|
||||||
|
- `docs/screenshots/release-v0.1/portal-reports-risk.png`
|
||||||
|
- `docs/screenshots/release-v0.1/portal-owner-summary.png`
|
||||||
|
|
||||||
## Artifacts
|
## Artifacts
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
|||||||
@@ -4,6 +4,18 @@ Release tag: `v1.0.1-public-review`
|
|||||||
|
|
||||||
Release type: public expert-review/source package.
|
Release type: public expert-review/source package.
|
||||||
|
|
||||||
|
## Release-readiness v0.1 addendum
|
||||||
|
|
||||||
|
Добавлен отдельный слой готовности поставки:
|
||||||
|
|
||||||
|
- portal UI блок `Готовность системы`;
|
||||||
|
- signed readiness bundle с `sha256sums.txt.sig`;
|
||||||
|
- Prometheus/Grafana alerts по readiness и signature verification;
|
||||||
|
- SBOM profile `docs/SBOM_V0.1_RU.md`;
|
||||||
|
- release readiness акт `docs/RELEASE_READINESS_V0.1_RU.md`;
|
||||||
|
- architecture схема `docs/diagrams/release-readiness-v0.1.md`;
|
||||||
|
- обезличенные screenshots портала в `docs/screenshots/release-v0.1/`.
|
||||||
|
|
||||||
## Что входит
|
## Что входит
|
||||||
|
|
||||||
- Обезличенный public source package DetMir/AWatch-rus.
|
- Обезличенный public source package DetMir/AWatch-rus.
|
||||||
|
|||||||
@@ -0,0 +1,141 @@
|
|||||||
|
# Release readiness v0.1
|
||||||
|
|
||||||
|
Документ фиксирует готовность DetMir/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 DetMir 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:
|
||||||
|
|
||||||
|
```text
|
||||||
|
GET /api/readiness/bundle
|
||||||
|
GET /api/readiness/verify
|
||||||
|
```
|
||||||
|
|
||||||
|
Через внешний gateway эти endpoints должны оставаться под действующей схемой
|
||||||
|
аутентификации портала.
|
||||||
|
|
||||||
|
## 5. Prometheus/Grafana alerts
|
||||||
|
|
||||||
|
Alert rules:
|
||||||
|
|
||||||
|
```promql
|
||||||
|
detmir_readiness_ok == 0
|
||||||
|
detmir_readiness_signature_verified == 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Поставочный файл:
|
||||||
|
|
||||||
|
```text
|
||||||
|
aw-server/detmir-readiness-alerts.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
Цель: оператор должен увидеть не только падение health-check, но и нарушение
|
||||||
|
доказуемости readiness bundle.
|
||||||
|
|
||||||
|
## 6. Проверки перед публикацией
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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.
|
||||||
|
- 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 акт.
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
# SBOM v0.1
|
||||||
|
|
||||||
|
Этот документ является human-readable SBOM profile для
|
||||||
|
`release-readiness-v0.1`. Машинные SBOM artifacts должны формироваться из
|
||||||
|
проверенного commit и публиковаться как release assets.
|
||||||
|
|
||||||
|
## 1. Идентификатор
|
||||||
|
|
||||||
|
| Поле | Значение |
|
||||||
|
|---|---|
|
||||||
|
| Product | DetMir, программный комплекс AWatch-rus |
|
||||||
|
| SBOM profile | v0.1 |
|
||||||
|
| Date | 2026-06-03 |
|
||||||
|
| Scope | Source + Rust workspace + Python exceptions + Node/Playwright tooling + OS/service dependencies |
|
||||||
|
|
||||||
|
## 2. Основные компоненты
|
||||||
|
|
||||||
|
| Компонент | Роль | Тип зависимости |
|
||||||
|
|---|---|---|
|
||||||
|
| ActivityWatch | Сбор и хранение активности | upstream application |
|
||||||
|
| aw-server-rust | ActivityWatch server runtime | upstream/Rust |
|
||||||
|
| DetMir Rust crates | status, checks, portal, readiness, DLP/worktime helpers | собственный код |
|
||||||
|
| Grafana | Dashboards и визуализация | third-party application |
|
||||||
|
| Prometheus | Metrics и alert rules | third-party application |
|
||||||
|
| Hayabusa | Offline forensic/security analytics | third-party tool |
|
||||||
|
| Ansible | Deployment automation | third-party tool |
|
||||||
|
| Telegram bot runtime | Оповещения и operator workflow | Python exception |
|
||||||
|
| Playwright | Browser smoke/screenshots | test/release tooling |
|
||||||
|
|
||||||
|
## 3. Rust SBOM input
|
||||||
|
|
||||||
|
Команды генерации:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p dist/sbom
|
||||||
|
cargo metadata --manifest-path adk-rust/Cargo.toml --format-version 1 \
|
||||||
|
> dist/sbom/cargo-metadata-v0.1.json
|
||||||
|
(cd adk-rust && cargo tree --workspace) \
|
||||||
|
> dist/sbom/cargo-tree-v0.1.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Рекомендуемый CycloneDX:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo install cargo-cyclonedx --locked
|
||||||
|
cargo cyclonedx --manifest-path adk-rust/Cargo.toml \
|
||||||
|
--format json --output-cdx dist/sbom/cyclonedx-rust-v0.1.json
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. Python SBOM input
|
||||||
|
|
||||||
|
Python остается как исключение, а не ядро продукта:
|
||||||
|
|
||||||
|
- Telegram runtime;
|
||||||
|
- legacy fallbacks;
|
||||||
|
- MCP/AI/ETL helpers;
|
||||||
|
- installer/release utilities.
|
||||||
|
|
||||||
|
Команды:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
find aw-server clickhouse-1c detmir-mcp scripts -maxdepth 4 -type f \
|
||||||
|
\( -name 'requirements.txt' -o -name 'pyproject.toml' -o -name 'setup.py' \) \
|
||||||
|
-print -exec sha256sum {} \; > dist/sbom/python-inputs-v0.1.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Если используется virtualenv:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 -m pip freeze > dist/sbom/python-freeze-v0.1.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. Node/Playwright SBOM input
|
||||||
|
|
||||||
|
Node используется для browser smoke и release screenshots.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm ls --all --json > dist/sbom/npm-tree-v0.1.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Если проект не содержит production Node runtime, этот artifact помечается как
|
||||||
|
`test/release tooling only`.
|
||||||
|
|
||||||
|
## 6. OS/service inventory
|
||||||
|
|
||||||
|
Для эталонной Debian/Ubuntu VM:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dpkg-query -W -f='${Package}\t${Version}\n' \
|
||||||
|
> dist/sbom/debian-packages-v0.1.tsv
|
||||||
|
systemctl list-unit-files 'detmir-*' 'aw-*' --no-pager \
|
||||||
|
> dist/sbom/systemd-units-v0.1.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## 7. License inventory
|
||||||
|
|
||||||
|
Основной документ:
|
||||||
|
|
||||||
|
```text
|
||||||
|
THIRD_PARTY_LICENSES_RU.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Дополнительные checks:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo install cargo-deny --locked
|
||||||
|
(cd adk-rust && cargo deny check licenses)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 8. Критерии приемки SBOM v0.1
|
||||||
|
|
||||||
|
- SBOM artifacts сформированы из того же commit, что и release package.
|
||||||
|
- SBOM не содержит secrets, live IPs, live domains, user home paths или
|
||||||
|
runtime evidence.
|
||||||
|
- Для каждого крупного компонента понятны роль, upstream и license source.
|
||||||
|
- Python обозначен как исключение/интеграционный слой, не как ядро продукта.
|
||||||
|
- Машинные SBOM JSON/TXT публикуются в GitHub Release assets, а не обязательно
|
||||||
|
хранятся в tracked source.
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
# Release-readiness v0.1 architecture
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph Runtime["DetMir runtime"]
|
||||||
|
AW["ActivityWatch / Worktime / DLP telemetry"]
|
||||||
|
Portal["detmir-portal"]
|
||||||
|
Readiness["detmir-readiness"]
|
||||||
|
Metrics["Prometheus metrics"]
|
||||||
|
Grafana["Grafana alerts"]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Bundle["Readiness bundle"]
|
||||||
|
JSON["detmir-readiness-latest.json"]
|
||||||
|
Act["act.md / act.html"]
|
||||||
|
Sums["sha256sums.txt"]
|
||||||
|
Sig["sha256sums.txt.sig"]
|
||||||
|
Pub["public-key.pem"]
|
||||||
|
Prom["detmir-readiness.prom"]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Release["Release readiness package"]
|
||||||
|
Change["CHANGELOG_RU.md"]
|
||||||
|
SBOM["docs/SBOM_V0.1_RU.md"]
|
||||||
|
Install["docs/INSTALL_FOR_EXPERT_RU.md"]
|
||||||
|
Runbook["adk-rust/RUNBOOK.md"]
|
||||||
|
Arch["docs/ARCHITECTURE_RU.md"]
|
||||||
|
Shots["docs/screenshots/release-v0.1"]
|
||||||
|
end
|
||||||
|
|
||||||
|
AW --> Readiness
|
||||||
|
Readiness --> JSON
|
||||||
|
Readiness --> Act
|
||||||
|
Readiness --> Sums
|
||||||
|
Sums --> Sig
|
||||||
|
Pub --> Sig
|
||||||
|
Readiness --> Prom
|
||||||
|
Prom --> Metrics
|
||||||
|
Metrics --> Grafana
|
||||||
|
JSON --> Portal
|
||||||
|
Sums --> Portal
|
||||||
|
Sig --> Portal
|
||||||
|
Pub --> Portal
|
||||||
|
Portal --> Shots
|
||||||
|
Bundle --> Release
|
||||||
|
Change --> Release
|
||||||
|
SBOM --> Release
|
||||||
|
Install --> Release
|
||||||
|
Runbook --> Release
|
||||||
|
Arch --> Release
|
||||||
|
```
|
||||||
|
|
||||||
|
## Контрольные точки
|
||||||
|
|
||||||
|
1. `detmir-readiness` формирует bundle и Prometheus metrics.
|
||||||
|
2. Bundle имеет SHA-256 checksums и detached signature.
|
||||||
|
3. Portal показывает статус readiness и ручную проверку bundle.
|
||||||
|
4. Prometheus/Grafana поднимают alert при `detmir_readiness_ok == 0` или
|
||||||
|
`detmir_readiness_signature_verified == 0`.
|
||||||
|
5. Release package содержит changelog, SBOM profile, install/runbook,
|
||||||
|
architecture и обезличенные screenshots.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 261 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 118 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 130 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 336 KiB |
Reference in New Issue
Block a user