guanghu-ice-heart/server-tools/hololake-code-channel/README.md

57 lines
3.4 KiB
Markdown
Raw Permalink 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.

# HoloLake Code Channel · 部署与更新边界
本目录保存光湖代码频道HLCC的部署约束与机器可检验配置。
当前状态:
- 上游源码镜像与光湖自主源码基线已在 `BS-SG-003` 建立;
- 固定源码基线为 Forgejo `v16.0.1` / `b3d7e4ac3cbccc220703097a51fa4c16bf302579`
- 国内旧第五域仍由 Gitea 1.23.7 原地承载并作为历史事实源;
- `GLS-0239` 已登记京东个人子频道、`/code/` 正式入口、公开 AI 读取、
`bingshuo` 单身份密码沿用和 `HLCC-ICE-000001` 新 Git 根提交;
- 新频道部署与低权限激活清单已经就绪,正式切换前不覆盖旧第五域;
- `update-policy.json` 中的光湖更新清单地址仍是规划地址,尚未上线。
`jd-candidate/` 是绑定京东主节点固定架构预置器的候选服务包。它只从临时新加坡
中继读取 Forgejo 官方公开二进制、签名、公钥和哈希清单,不公开或下载光湖产品
Git bundle。服务先在 `127.0.0.1:3341` 暴露结构化安装状态;只有固定 SHA-256、
官方发布密钥指纹和 GPG 签名全部通过,且 `127.0.0.1:3340/api/v1/version`
确认版本、单身份迁移和新频道根提交后,状态才会变为 `ready=true`。候选数据与
旧第五域 Gitea 完全隔离;旧访问令牌、仓库、活动和 Git 历史不会迁入。
必须同时满足:
1. Forgejo 内置更新检查器关闭;
2. 官方上游不能自动合并、自动构建或自动部署;
3. 生产更新只认光湖签名清单;
4. 光湖清单不可用时停留在人工发布,不回退官方接口;
5. Gitea 迁移必须并行演练、可恢复、可回滚。
本目录不是服务器凭据库不保存密码、Token、SSH 私钥或数据库转储。
## 隔离候选
`candidate-app.jd.ini``candidate-app.enterprise.ini``install-candidate.sh`
`start-candidate.sh`
`stop-candidate.sh` 用于 `JD-FD-PRIMARY``AW-GZ-001` 上各自独立的隔离候选:
- 只绑定 `127.0.0.1:3340`
- 使用独立 SQLite 和仓库目录;
- 禁止注册、Actions、镜像和 Forgejo 内置更新检查;
- 只接收由 `BS-SG-003` 准备的固定 v16.0.1 二进制、签名与官方公钥材料;
- 在两个国内节点分别再次核验 Forgejo 官方 GPG 指纹和二进制签名;
- 安装和启动分离,安装脚本不注册 systemd、cron 或其他自动任务。
同一份离线包还要在 `AW-GZ-001` 企业服务器使用
`candidate-app.enterprise.ini` 独立部署。京东与企业实例的数据库、仓库、用户、
权限、密钥和回滚目录完全分离;它们只共享经过验签的源码与版本基线。
`BS-SG-003` 只负责海外源码和发布材料下载,不启动代码仓库服务。京东和企业节点都
必须保留 `forgejo-upstream-all.bundle``guanghu-code-channel.bundle`、官方签名、
公钥和 `MANIFEST.sha256`,从而在国内断开海外下载时仍可离线恢复与重装。候选验证
位于各自独立目录,不读取、不迁移、不修改国内现役 Gitea 数据。
`prepare-release-on-sg.sh` 是新加坡中继的唯一准备脚本:它从 Forgejo 官方镜像
下载固定版本二进制和签名、拉取并核对官方 GPG 指纹,并从现有上游镜像和光湖
产品仓生成两个 Git bundle。全部文件写入 `MANIFEST.sha256`。它不会启动服务,
也不会自行向京东或企业服务器传输;两次传输都必须绑定后续受控工单。