站点注册表

DataDir/registry.json 是服务器唯一的持久化状态,记录全部已注册站点:

[
  {
    "name": "my-docs",
    "domain": "docs.example.com",
    "sourceKind": "git",
    "sourceUrl": "https://git.example.com/team/my-docs.git",
    "ref": "main",
    "pages": 42,
    "builtAt": "2026-09-22T08:00:00Z"
  }
]

条目字段结构见站内搜索 ?SiteRecord。

写入规则

规则 说明
原子写 先写临时文件再 rename,避免写一半损坏
文件锁 写操作前获取锁,避免并发写冲突
一致性 注册表条目与 DataDir 下站点产物目录一一对应,删除站点同时清理产物目录

站点名与域名唯一性

name 与 domain 各自全局唯一,注册时校验,冲突即拒绝。