- main.py sandbox check 子命令:5 项独立探测 + 汇总 exit code ① docker daemon 可达 ② zcbot-sandbox:latest 镜像存在 ③ zcbot-sandbox-net network 存在(warn 不 err) ④ 镜像 zcbot uid 与 host uid 对齐 ⑤ workspace/users 所在 fs 类型可 quota - core/sandbox/check.py:detect_fs_quota(path) -> (level, msg) 抽出来给 lifespan 与 CLI 共用;识别 xfs+prjquota/ext4+project/zfs/btrfs/tmpfs/其他 - web/app.py lifespan docker backend 启用时调 detect_fs_quota 打 WARN 到 stdout(不阻塞启动,应用层周期扫描仍生效) - err vs warn 分界:err = docker backend fail-fast 根因(daemon/镜像/uid), warn = 不阻塞启动但外部开放前要清(network 缺/fs 不可 quota) - run_sandbox_check 用 module-level getattr 而非固化 CHECKS 元组,让 unittest patch core.sandbox.check.check_xxx 生效 - tests/test_sandbox_check.py 19 测试覆盖各分支 + exit code 汇总; unittest discover 31/31 PASS - RUN.md 加"部署前置对账"小节 + "配额硬化"重写(fs 状态→处理映射表 + xfs 升级 4 步) + 故障兜底 3 行;DESIGN 不动 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| static | ||
| __init__.py | ||
| app.py | ||
| auth.py | ||
| broker.py | ||
| sinks.py | ||