feat(guanghu-os): stage independent Forgejo continuity
This commit is contained in:
parent
ace87cfba7
commit
e4750c57a7
10 changed files with 467 additions and 3 deletions
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
type: ADR
|
||||
id: "0181"
|
||||
title: "Independent full Forgejo continuity before JD native cutover"
|
||||
status: accepted
|
||||
date: 2026-08-15
|
||||
depends_on:
|
||||
- "0180"
|
||||
---
|
||||
|
||||
# 京东原生切换前建立独立完整 Forgejo 连续性
|
||||
|
||||
## 为什么上一阶段仍没有完成
|
||||
|
||||
ADR-0180 解决了原生存活状态和固定只读锚点的认证投影,但当前公共 `/code/` 仍经
|
||||
BS-GZ-006 的 SSH 隧道进入 JD Linux。物理原生驻留已经证明这条隧道会消失并返回 502。
|
||||
只读代码摘要不能冒充 Forgejo 的仓库对象、账号、议题、发布、权限和 Git 协议。
|
||||
|
||||
## 现场纠正
|
||||
|
||||
BS-GZ-006 已有一套从五月运行的 Forgejo,但只含另一组 2 个仓库;它不是京东代码频道的
|
||||
7 个仓库。另一个同名 systemd 单元长期每五秒启动第二进程并抢同一 LevelDB 锁,累计约
|
||||
249950 次失败。该重复守卫已被单独禁用,正在运行的旧实例、数据和公网均被保留。
|
||||
|
||||
## 决定
|
||||
|
||||
在 BS-SG-003 建立京东完整 Forgejo 的独立影子副本。选择 BS-SG 而不是 BS-GZ,是因为
|
||||
BS-SG 在京东原生驻留时仍在线,并有足够内存和磁盘;BS-GZ 继续只承担公网前门和认证
|
||||
隧道。
|
||||
|
||||
影子验收必须同时匹配:Forgejo 二进制哈希、HTTP 版本、SQLite 完整性、数据库仓库数、
|
||||
用户数、精确仓库路径集合,以及每个仓库的 main 提交。任一不符即为 0。
|
||||
|
||||
初次在线快照只用于影子验证,不得成为切换权威。真正切 `/code/` 前必须开启有界写冻结、
|
||||
执行第二次精确同步、再次全量回读,并保留京东 Linux 原数据作为回滚。nginx、京东启动和
|
||||
生产原生切换均不由影子 HTTP 200 自动触发。
|
||||
|
||||
## 当前边界
|
||||
|
||||
验证器源码与隔离测试为 100。BS-SG 完整影子、广州到新加坡认证隧道、nginx 代码路由、
|
||||
原生驻留期间公共代码频道、完整 Forgejo 等价和生产原生切换仍为 0。
|
||||
Loading…
Reference in a new issue