guanghulab/scripts/preflight/cn-isolation-allowlist.json
2026-05-10 13:12:44 +08:00

66 lines
3.3 KiB
JSON

{
"_sovereign": "TCS-0002∞ · ICE-GL∞ · 国作登字-2026-A-00037559",
"_守护": "铸渊 · ICE-GL-ZY001",
"_说明": "国内 2C2G 域名机 (ZY-SVR-CN01) 单线运行白名单. 任何引用 ZY_CN_SERVER_* 的 workflow 必须出现在这里, 否则 CI 失败. 防止后续 PR 不小心把这台机器搞污染.",
"_主体": "GH-CVM-DOMAIN-PROD-01 / ZY-SVR-CN01 / 广州轻量 2C2G",
"_规则": [
"1. 任何位于 .github/workflows/ 根目录的 .yml 文件, 引用 secrets.ZY_CN_SERVER_HOST/USER/KEY/PATH/PORT 任意一个, 必须在 cn_server_workflows 列表里",
"2. 不在白名单里 = CI 红灯, PR 合不进来",
"3. .github/workflows/.archive/ 下的 .yml 不参与扫描 (已归档=不跑)",
"4. 修改本文件需要冰朔 review (在 PR description 里说明为什么新加)"
],
"version": "1.3.0",
"updated_at": "2026-05-09",
"cn_server_workflows": [
{
"name": "deploy-domain-server.yml",
"status": "active",
"reason": "PR-2 落地 · 唯一被授权部署到 2C2G 的 workflow · 误触锁=输入「重装广州」 · 失败自动 SSH rollback",
"exists": true
},
{
"name": "domain-server-rollback.yml",
"status": "active",
"reason": "PR-2 落地 · 单独的回滚红按钮 · 误触锁=输入「重装广州」 · list-only 默认安全档",
"exists": true
},
{
"name": "refresh-autodl-endpoint.yml",
"status": "active",
"reason": "PR-3 落地 · AutoDL 重开机后 SSH 到 2C2G 写 inference-endpoint.json + pm2 reload portal · 误触锁=输入「刷新推理端点」 · 探活不通就不写",
"exists": true
},
{
"name": "migrate-to-cn-restore.yml",
"status": "active",
"reason": "PR-6 落地 · 从 COS 拉搬家包到 2C2G + 装 Forgejo (一台到底搬家方案) · 误触锁=输入「从COS恢复」 · stage=restore (cn-domain-deploy + COS) · 远端走 sudo bash /tmp/migrate-restore.sh, 凭据走 stdin pipe 不入 ps · 用完即清 /tmp/.cos-creds + /tmp/migrate-restore.sh",
"exists": true
},
{
"name": "migrate-to-cn-build.yml",
"status": "active",
"reason": "PR-6 落地 · 在 GitHub Actions 上 git archive 整工作树 + sha256 + 中文 MIGRATION-MANIFEST.md, 上传成 Artifact 给冰朔下载 · 不接触任何服务器 secrets, 因此扫描器不会把它列进来 (这里登记仅作记录, scan_only=true)",
"exists": true,
"scan_only": true
},
{
"name": "cn-isolation-guard.yml",
"status": "active",
"reason": "守卫工作流自身需要在白名单里 (会扫到自己的脚本路径), 但其只读不部署",
"exists": true,
"scan_only": true
}
],
"_autodl_workflows_说明": "PR-3 决议: AutoDL host:port 每次开机都漂移, 不能做成静态 GitHub Secrets, 改用 workflow_dispatch 的 input 字段每次现填. 因此 refresh-autodl-endpoint.yml 不引用 ZY_AUTODL_* secret, 这一段保持空. ZY_AUTODL_USER/PASS 仅在 PR-5 密钥管理页里给冰朔自助保存用 (走域名机本地 vault, 不入 GitHub Secrets).",
"autodl_workflows": [],
"_archived_in_PR1": [
"deploy-cn-landing.yml",
"deploy-to-cn-server.yml",
"deploy-ali-cn-landing.yml",
"training-bootstrap.yml",
"training-auto-run.yml",
"coding-model-train.yml",
"zhuyuan-training-agent.yml"
]
}