guanghulab/scripts/preflight/secrets-manifest.json
2026-05-10 13:12:44 +08:00

213 lines
7.9 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_sovereign": "TCS-0002∞ · ICE-GL∞ · 国作登字-2026-A-00037559",
"_守护": "铸渊 · ICE-GL-ZY001",
"_说明": "这是『启动前最小密钥校验』的真相源。每个 workflow 启动时会读这一份,把 GitHub Secrets 的实际配置情况打成中文报告。required=缺了直接终止required_on_stage=只在某个 stage 缺了才终止optional=缺了就跳过/降级。",
"version": "1.1.0",
"updated_at": "2026-05-09",
"workflows": {
"cn-domain-deploy": {
"_describe": "广州 2C2G 域名机 (GH-CVM-DOMAIN-PROD-01) 单线运行部署 · 挂 guanghulab.com",
"_主体": "ZY-SVR-CN01 · 广州轻量 2核2G · 重装系统 · 唯一对外服务器",
"_min_total_required": 4,
"_隔离": "本工作流已加入 cn-isolation-allowlist.json, 是唯一可触碰这台机器的部署流",
"secrets": [
{
"name": "ZY_CN_SERVER_HOST",
"level": "required",
"用途": "广州 2C2G 公网 IP",
"where": "腾讯云轻量应用服务器实例详情 → 公网 IP",
"如何配置": "GitHub 仓库 Settings → Secrets and variables → Actions → New repository secret"
},
{
"name": "ZY_CN_SERVER_USER",
"level": "required",
"用途": "SSH 登录用户名 (腾讯云轻量默认 ubuntu)",
"default_hint": "ubuntu"
},
{
"name": "ZY_CN_SERVER_KEY",
"level": "required",
"用途": "SSH 私钥 (-----BEGIN OPENSSH PRIVATE KEY----- 整段)",
"如何配置": "整段贴进 secret 值, 不要 base64 不要去换行"
},
{
"name": "ZY_CN_SERVER_PATH",
"level": "required",
"用途": "服务器部署根路径 (推荐 /data/guanghulab)",
"default_hint": "/data/guanghulab"
},
{
"name": "ZY_CN_SSH_PORT",
"level": "optional",
"default": "22",
"用途": "SSH 端口"
},
{
"name": "ZY_COS_SECRET_ID",
"level": "required_on_stage",
"stages": ["restore", "fetch-models"],
"用途": "腾讯云 COS 桶 SecretId (从 sy-finetune-corpus-1317346199 拉模型/搬家包)"
},
{
"name": "ZY_COS_SECRET_KEY",
"level": "required_on_stage",
"stages": ["restore", "fetch-models"],
"用途": "腾讯云 COS SecretKey"
}
]
},
"autodl-inference": {
"_describe": "AutoDL GPU 推理机 (GH-AUTODL-INFER-01) · 跑母模型/编程模型 · 端口动态漂移",
"_主体": "ZY-SVR-GPU01 · AutoDL 共享 GPU · 关机即释放, 开机重抢, 配置每次都不同",
"_注意": "PASS 不是 KEY · AutoDL 是密码登录, 不是 ssh-key",
"secrets": [
{
"name": "ZY_AUTODL_HOST",
"level": "required",
"用途": "AutoDL 给的连接地址 (例: connect.westa.seetacloud.com)",
"where": "AutoDL 实例详情 → SSH 登录指令 → @ 后面那段"
},
{
"name": "ZY_AUTODL_PORT",
"level": "required",
"用途": "AutoDL 给的端口 (每次开机都变)",
"where": "AutoDL 实例详情 → SSH 登录指令 → -p 后面那段",
"更新方式": "AutoDL 重开机后端口会变, 在『密钥管理页』(PR-5) 改这个就行, 不需要 GitHub Secrets"
},
{
"name": "ZY_AUTODL_USER",
"level": "required",
"default_hint": "root",
"用途": "SSH 用户名 (AutoDL 默认 root)"
},
{
"name": "ZY_AUTODL_PASS",
"level": "required",
"用途": "SSH 密码 (AutoDL 是密码登录, 不是密钥)"
}
]
},
"lighthouse-cn-deploy": {
"_describe": "国内灯塔主服务器部署 (bootstrap / update / rollback)",
"_min_total_required": 7,
"secrets": [
{
"name": "ZY_LIGHTHOUSE_HOST",
"level": "required",
"用途": "灯塔主服务器公网 IP",
"where": "腾讯云 CVM 实例详情 → 公网 IP",
"如何配置": "GitHub 仓库 Settings → Secrets and variables → Actions → New repository secret"
},
{
"name": "ZY_LIGHTHOUSE_USER",
"level": "required",
"用途": "SSH 登录用户名 (一般是 ubuntu)",
"default_hint": "ubuntu",
"如何配置": "同上"
},
{
"name": "ZY_LIGHTHOUSE_KEY",
"level": "required",
"用途": "SSH 私钥 (-----BEGIN OPENSSH PRIVATE KEY----- 整段)",
"where": "/data/secrets 或本地生成 ed25519 私钥, 把公钥放进服务器 ~/.ssh/authorized_keys",
"如何配置": "整段贴进 secret 值, 不要 base64 不要去换行"
},
{
"name": "ZY_LIGHTHOUSE_PORT",
"level": "optional",
"default": "22",
"用途": "SSH 端口 (默认 22)"
},
{
"name": "ZY_LIGHTHOUSE_DOMAIN",
"level": "optional",
"用途": "灯塔对外域名 (备案后才配)"
},
{
"name": "ZY_GITEA_ADMIN_USER",
"level": "required_on_stage",
"stages": ["bootstrap"],
"用途": "Gitea 初始管理员账号"
},
{
"name": "ZY_GITEA_ADMIN_PASS",
"level": "required_on_stage",
"stages": ["bootstrap"],
"用途": "Gitea 初始管理员密码 (≥24 位, 含大小写 + 数字 + 符号)",
"强校验": "length>=24"
},
{
"name": "ZY_GITEA_ADMIN_EMAIL",
"level": "required_on_stage",
"stages": ["bootstrap"],
"用途": "Gitea 管理员邮箱"
},
{
"name": "ZY_GITEA_DB_PASS",
"level": "required_on_stage",
"stages": ["bootstrap"],
"用途": "PostgreSQL gitea 用户密码"
},
{
"name": "ZY_GITEA_RUNNER_TOKEN",
"level": "required_on_stage",
"stages": ["update"],
"用途": "Gitea Actions Runner 注册 token (Site Admin → Runners → Create new Runner)"
},
{
"name": "ZY_LIGHTHOUSE_BACKUP_HOST",
"level": "required_on_target",
"targets": ["backup"],
"用途": "备用机公网 IP",
"实情备注": "2026-05-08 已变更: 计划的 4C4G 广州缺货, 实际购买广州4区 2C8G. 这一项可能会随地区/规格漂移, bootstrap 现在不再硬假设规格"
},
{
"name": "ZY_LIGHTHOUSE_BACKUP_USER",
"level": "required_on_target",
"targets": ["backup"],
"用途": "备用机 SSH 用户名"
},
{
"name": "ZY_LIGHTHOUSE_BACKUP_KEY",
"level": "required_on_target",
"targets": ["backup"],
"用途": "备用机 SSH 私钥"
},
{
"name": "ZY_COS_SECRET_ID",
"level": "optional",
"用途": "腾讯云 COS 搬家中转的 SecretId (restore-from-cos.sh 用)"
},
{
"name": "ZY_COS_SECRET_KEY",
"level": "optional",
"用途": "腾讯云 COS SecretKey"
},
{
"name": "ZY_COS_BUCKET",
"level": "optional",
"default_hint": "guanghulab-migration-xxx-1317346199",
"用途": "搬家快照 COS 桶"
},
{
"name": "ZY_COS_REGION",
"level": "optional",
"default": "ap-guangzhou",
"用途": "COS 桶地域"
},
{
"name": "ZY_DISPATCH_TOKEN",
"level": "optional",
"用途": "服务器侧 progress-reporter.sh 回调 GitHub repository_dispatch 用的 PAT (repo scope)"
},
{
"name": "ZY_FEISHU_WEBHOOK",
"level": "optional",
"用途": "失败时往飞书群发告警 (没配就不发)"
}
]
}
}
}