docs: document push-daemon-as-durability + fix stale PVC/working-tree language in runbook
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 88/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 冷清
- 技术栈
- git
调研方向
从 specs/behaviors/storage.md 中的 "The data clone is bare" 部分以及 docs/operations/runbook.md 中相关的 "Fetch from the pod's data clone" 部分开始。记录 emptyDir 的持久性权衡、push-daemon 验证和 bare clone 的实际情况,然后检查关于过时 PVC 和 working-tree 的措辞是否已删除,并确认两个文件内容一致。
由索引模型根据 Issue 内容生成。
描述
Background
PR #86 switched the data-repo volume from PVC to emptyDir and made the clone bare. Two doc gaps remain:
1. Durability tradeoff is undocumented
With emptyDir, the bare clone is wiped on every pod boot. If the pod crashes (OOM, node failure, hard kill) before the push daemon has shipped locally-committed gitsheets writes to origin, those commits are lost — the volume goes away before any container code (reconcile, escape-hatch) can run.
Today's reconcile escape-hatches local-ahead commits to conflicts/<UTC> only when the container restarts cleanly enough to invoke reconcileDataRepo. On a hard crash, that path never runs.
Mitigating factor: the push daemon runs continuously with retry/backoff, so the window of unpushed local state is small. But this is now a meaningful change in the durability story vs. the previous PVC-backed setup, and it should be documented as an explicit operating constraint.
Where to add:
specs/behaviors/storage.md— under "The data clone is bare", a short subsection: "Durability: writes are durable onceorigin/<branch>has them. The push daemon is the only line of defense for in-flight commits; on hard pod crash before the next push, local commits are lost."docs/operations/runbook.md— in the "API won't boot" or a new "Durability" section, the same note plus a pointer to the push daemon's lag/log for verification.
2. Stale wording in runbook's "Fetch from the pod's data clone" section
docs/operations/runbook.md — the section that documents the git-pod-uploadpack.sh operator helper still says:
The pod's working tree lives on a PVC at
/app/datainside the container...
After PR #86 that's incorrect on both counts — it's now a bare gitdir on an emptyDir. Update to reflect bare-clone reality. Reference specs/behaviors/storage.md → "The data clone is bare".
Scope
Single PR. Maybe ~30 lines of diff total.
Filed as follow-up from PR #86.
- 主要语言
- TypeScript
- 星标
- 1
- 派生
- 1
- 平均合并
- 1 天 20 小时
- 30 天内合并 PR
- 25
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CodeForPhilly/codeforphilly-ng 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
-
MarkdownEditor toolbar: use Radix Toolbar from radix-ui instead of the hand-rolled roving tabindex 未关闭enhancement
难度 2/5 1-3 小时 新手友好度 82/100
-
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 74/100
-
难度 1/5 1 小时以内 新手友好度 82/100
查看 CodeForPhilly/codeforphilly-ng 的全部 Issue
相似的 Issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
Crush 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
catppuccin/catppuccin#3125 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
ElementsProject/cln-application#167 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Quantco/pnpm-licenses#17 ·
-
难度 2/5 1-3 小时 新手友好度 75/100