mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 08:14:55 +08:00
fix(release):完善当前分发证明与质量门禁
This commit is contained in:
@@ -371,10 +371,10 @@ JSON-RPC 2.0 服务,是面向上层服务(Go 层)的**主要跨语言边
|
||||
- CDN path 支持 `GET` / `HEAD` / Range / 条件请求;ETag 优先使用 download
|
||||
manifest 中的 BLAKE3,响应包含 Last-Modified、Accept-Ranges 和长期缓存头。
|
||||
- 版本/清单发现优先走 RPC:先 `daemon.status`,再 `daemon.doctor`,再读取
|
||||
Rust `release.status` 的 whole-release `official_distribution_ready`,最后
|
||||
读取 `catalog.status` / `resource.manifest`(可用 `--socket` 指定 socket 文件)。
|
||||
Go 不重新实现 release verifier;普通 current CDN 只有在该 Rust health fact
|
||||
和本地只读 manifest 快照都允许时才分发。
|
||||
Rust 轻量 `release.attestation`,最后按 attested release/publication/manifest
|
||||
identity 读取 `catalog.status` / `resource.manifest`(可用 `--socket` 指定 socket
|
||||
文件)。Go 不重新实现 release verifier;普通 current CDN 只有在 attestation
|
||||
fresh/ready、分页快照完整且本地只读路径检查都允许时才分发。
|
||||
- `/v1/releases`、`/v1/distribution` 和受保护的 `/admin/releases/status`、
|
||||
`/admin/releases` 只转发 `release.status/list/distribution` 的 Rust typed
|
||||
结果;localized 或历史分发不会绕过 Rust 完整性判断。
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
### 2.1 双 release 读写边界
|
||||
|
||||
Rust `bat` 的 `release.status` 是 official/localized 的统一只读视图,基于既有
|
||||
Rust `bat` 的 `release.status` 是 official/localized 的统一重型只读视图,基于既有
|
||||
version state、current symlink、release manifest、文件系统和必要的 CAS/reference
|
||||
元数据计算,不建立第二个 release 数据库。`release.list` 返回两个 namespace 的当前
|
||||
与历史 release,包含稳定 ID、created/published、source official relation、生命周期、
|
||||
@@ -382,10 +382,11 @@ Addressables 改写后客户端拼接:
|
||||
|
||||
1. `daemon.status`
|
||||
2. `daemon.doctor`
|
||||
3. `release.status`,消费 Rust 返回的当前 official `official_distribution_ready`
|
||||
及其 `status` / `status_code` / integrity 事实
|
||||
3. `release.attestation`,消费 Rust 当前 official 的 `ready`、release/publication/
|
||||
manifest identity、verification generation、freshness 和 integrity 事实
|
||||
4. `catalog.status`(`version.resource_root`、`addressables_root`、app/bundle)
|
||||
5. `resource.manifest` 分页(url / destination / bytes / blake3)
|
||||
5. `resource.manifest` 分页(请求携带 release/publication/manifest identity;响应每页
|
||||
返回同一组 identity、generation、total、offset、limit)
|
||||
6. 在 `resource_root` 上 Lstat 校验 Present / size;该检查只验证 Go 读快照,
|
||||
不替代 Rust release verifier
|
||||
|
||||
|
||||
Reference in New Issue
Block a user