7d89ec9d91
- domains.md: 四组域名隔离登记 + 冷备池 ≥5 + 启用流程(不含身份信息) - cdn/terraform: Cloudflare 配置即代码(WAF/bot/速率限制/代理DNS/回源鉴权注入)+ 30min 重放 Runbook - server/internal/originauth: 回源鉴权中间件,非 CDN 网段或鉴权头不符一律 403,支持双值轮换 - tools/endpoint-signer: 离线 Ed25519 签名 CLI(端点 + 公告文档,单调版本防回滚,key_id 双公钥轮换) - tools/publish-mirrors: ≥3 镜像发布 + hash 一致性校验 + 故障转移取回 - CLIENT-CONTRACT.md: schema/验签/防回滚/合并/兜底链/channel 客户端契约 - 出站独立出口要求写入部署文档;私钥/token/身份信息一律不入库 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
734 B
JSON
23 lines
734 B
JSON
{
|
|
"mirrors": [
|
|
{
|
|
"name": "cloudflare-pages",
|
|
"dir": "./_publish/cf-pages",
|
|
"fetch_url": "https://pages.example-pages.dev",
|
|
"sync_cmd": ["wrangler", "pages", "deploy", "./_publish/cf-pages", "--project-name", "dist"]
|
|
},
|
|
{
|
|
"name": "github-pages-altacct",
|
|
"dir": "./_publish/github",
|
|
"fetch_url": "https://raw.githubusercontent.com/example-alt-account/dist/main",
|
|
"sync_cmd": ["git", "-C", "./_publish/github", "push"]
|
|
},
|
|
{
|
|
"name": "object-storage",
|
|
"dir": "./_publish/objstore",
|
|
"fetch_url": "https://obj.example-storage.com/dist",
|
|
"sync_cmd": ["aws", "s3", "sync", "./_publish/objstore", "s3://dist", "--profile", "dist-egress"]
|
|
}
|
|
]
|
|
}
|