Skip to content

混合内容卷容量预算与实际存储拓扑的崩溃恢复验证 #80

Open

Description

@LIghtJUNction

当前范围 · 2026-10-03

本项缩为两个当前剩余问题,保留开放:①混合Transfer/Git/LFS/hosting写入及失败孤儿/清理下的实际内容卷总预算;②当前目标拓扑的崩溃/恢复一致性证据(现场执行归#84)。共享卷多实例仅在实际部署采用时验收,不再要求不存在拓扑的全组合。

已实现部分不重做:main 105c2cf7 的CI已含真实git/git-lfs上传下载、逐分片授权/摘要/续传、共享LFS跨进程容量锁、hosting当前授权/CSP隔离、真实PG COMMIT及restore移动失败。现有storage/capacity.py与单仓库/LFS/hosting各自预算仍不等于整个磁盘卷统一硬上限,不能用CI全绿或service active把这两个剩余项勾完。

剩余完成条件

  • 给当前单实例内容卷的混合Transfer/Git/LFS/hosting写入定义并验真实总字节上限(含失败孤儿/清理);或明确当前只保证各子预算,收缩产品容量承诺。
  • 基于实际目标PG/Git/CAS卷拓扑完成一次受控崩溃/恢复一致性验收,现场执行继续由#84管理;共享卷多实例要求仅在部署确实采用该拓扑时适用。

本轮依据当前主线 105c2cf716c1179d49bc79224f10f44a3b031163、已完成 CI 和只读部署盘点更新范围。没有执行新的生产迁移、删除、Root/CA 变更或资金操作。旧的全章/全客户端人工矩阵不再作为本项永久门槛。

历史需求与旧验收记录(保留供查阅;当前待办以上述范围为准)

2026-09-28 核验:Transfer/Git/LFS/hosting 已有基础与加固,完整一致性待验

基线 main 13c562ea05d273e618b1ea06b9e452da79d4439f、CI 36384948145 及逐项产物核验见 #83。#101 已合入 LFS 内容验证/发布、显式旧对象迁移与共享锁;#113 加固 Git bundle 发布的 worker 完成栅栏;#102 已用真实 Transfer 交付大包并验证市场 CAS 根/备份恢复。不要重复实现这些切片。

剩余验收

  • 通用 Transfer create/chunk/status/seal/commit/abort 的每分片授权、序号/长度/摘要、乱序/重复/缺片/越界/过期、seal 一致性和跨协议续传;普通 GET 无写副作用。
  • 多 worker 的并发上传/预留/提交/失败/清理预算原子性、崩溃恢复和实际磁盘上限;进程内或单机文件锁不能替代跨实例的预算事实。
  • 真实 git/git-lfs 客户端:HTTP/SSH/bundle 的 fetch/push、无 shell escape、1MiB 普通对象上限、超大 pack/历史二进制/多 ref 原子发布、LFS 指针/oid/size 缺失与伪造拒绝。
  • 旧资源数据库与 Git 历史里的大/二进制对象经显式迁移进入同域 CAS/LFS,保留旧签名/引用/访问控制与历史正文;未知对象/链接/fifo/路径逃逸拒绝,不静默丢失。
  • preview 完全只读及当前授权重验;未获准 preview/失效 ShareGrant 不绕 [P2] Resource/Organization/ShareGrant 授权来源与撤权矩阵 #76,裸 digest/存储路径不能下载私有内容。
  • hosting 容量/文件树/index.html、路径穿越/符号链接/大小预算、发布撤销、浏览器 sandbox/CSP/同域隔离/no cookie leak、真实渲染测试和下载回退。
  • PostgreSQL/Git/CAS/LFS 引用及多 ref/Transfer 的断电/回滚/GC/备份恢复一致;库内元数据是权威,Valkey/缓存不可独立授权。CLI/默认/doctor/selftest/完整 CI 对齐。

任务 B

主责 Transfer、Git/CAS/LFS、hosting 及 storage/git.py、extensions/repositories.py 等;文本 Revision/模板与 C 分界,旧库身份引用/恢复隔离与 A 分界。共享 schema/DDL/入口由 C 串行整合,见 #83。

保留现有 worker attempt/deadline/current-auth fences,不声称回滚外部已执行动作或 exactly-once。无生产仓库迁移、删除、部署或额度售卖;只有全矩阵有对应证据才关闭此 issue。

Activity

  1. LIghtJUNction commented on Sep 29, 2026

    @LIghtJUNction
    ContributorAuthor

    2026-09-29 当前接续(#185 已合并)

    main 5cdaeba2b7b191a27684093cce7b5a153c99c88d / tree 3ad68f2012896310abfa9bcaf800c9ab05f6c886 已实际读回,等于最终PR通过的树。18个PR工作流全部success;8份ZIP摘要/JUnit node-ID独立核验 2531 core + 8 conformance,零失败/错误/跳过。精确来源和产物摘要见 #185证据,更新索引见#83。合并后main push是独立运行,正在核验,不预记成功。

    增强部署演练用实际OpenSSH执行受限forced command、拒shell/路径逃逸/转发、真实atomic多ref push/fetch、证书和SSH key撤销(包括已有ControlMaster新通道),7项通过。真实Git/LFS/Transfer/hosting既有核心回归同时通过。UsePAM/StrictModes保持与部署策略一致,不改管理员sshd。实际目标共享卷/多实例、容量/断电/GC/一致恢复仍需现场拓扑材料。

    各条款源码入口与独立现场材料见 docs/RELEASE_ACCEPTANCE.md。本评论更新证据归属,不降低原验收范围或扩大现场权限。

  2. LIghtJUNction commented on Oct 3, 2026

    @LIghtJUNction
    ContributorAuthor

    本项缩为两个当前剩余问题,保留开放:①混合Transfer/Git/LFS/hosting写入及失败孤儿/清理下的实际内容卷总预算;②当前目标拓扑的崩溃/恢复一致性证据(现场执行归#84)。共享卷多实例仅在实际部署采用时验收,不再要求不存在拓扑的全组合。

    已实现部分不重做:main 105c2cf7 的CI已含真实git/git-lfs上传下载、逐分片授权/摘要/续传、共享LFS跨进程容量锁、hosting当前授权/CSP隔离、真实PG COMMIT及restore移动失败。现有storage/capacity.py与单仓库/LFS/hosting各自预算仍不等于整个磁盘卷统一硬上限,不能用CI全绿或service active把这两个剩余项勾完。

  3. changed the title [-][P2] Transfer、Git/LFS、网页托管与一致存储验收[/-] [+]混合内容卷容量预算与实际存储拓扑的崩溃恢复验证[/+] on Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions