wangbo
89a0ff7e99
fix(release): 同步 API 运行 revision
...
生产发布滚动 API 时写入当前完整 release SHA,避免镜像 digest 已更新但运行 revision 仍指向上一版本。补充发布 helper 静态回归检查。\n\n验证:bash -n、ShellCheck、cluster release helper 测试通过。
2026-08-01 18:28:21 +08:00
wangbo
edcbbd6a87
fix(worker): 拆分准入事务并收敛验收失败状态
...
将批量准入改为每任务独立事务,避免 P24 压测时 48 条任务共享长事务造成 transactionid 锁潮与 Worker 槽位空转。失败验收在保持 validation 的同时清理未提交任务,并记录精确压力门禁原因。统一生产 0+2 Worker 拓扑、运行时 ConfigMap 与发布配置,补充镜像预检诊断和回归测试。\n\n验证:Go 全量测试、go vet、真实 PostgreSQL 48 任务集成测试、迁移安全检查、发布脚本测试、bash -n、ShellCheck、Compose 配置均通过。
2026-08-01 18:23:00 +08:00
wangbo
215b6b607f
fix(acceptance): 解除八任务准入瓶颈
...
线上 P24 验收证明 Worker 注册容量为 48,但异步 admission 始终只有 8 条活跃租约。将单事务调度窗口覆盖当前 2 x P32 的 64 槽,避免多 Worker 在同一 FIFO 小批次上竞争形成隐性全局上限。\n\nGemini 流式请求补充可回放 GetBody 与精确 Content-Length,使带幂等键的 POST 遇到 HTTP/2 可重试传输错误时可安全重放;同时提前部署验收回调收集器,保证旧 Run side effects 能在接管前收口。\n\n已通过 Go 全量测试、go vet、gofmt、Shell bash -n、ShellCheck、验收与人工发布脚本测试、迁移安全检查,以及独立 PostgreSQL 48 条 admission/租约/River job 原子集成测试。
2026-08-01 16:59:28 +08:00
wangbo
7623449e33
fix(acceptance): 复用集群 SSH 控制连接
...
线上验收在宁波 SSH 建连超时时于负载前失败。为集群脚本增加受限 ControlMaster 复用和仅建连阶段的 ConnectionAttempts,避免重放远程命令。\n\n生产快照导出增加三次只读重试、原子落盘和空 Pod 清理防护。已通过 bash -n、ShellCheck、production acceptance 脚本测试、人工发布脚本测试,并验证宁波真实 SSH 控制连接可复用。
2026-08-01 15:59:00 +08:00
wangbo
8ca3e2dbc2
fix(acceptance): 实时执行压力资源硬门禁
...
压力采样一旦发现节点内存、数据库连接、Pod RSS、租约或排队等待越线,立即联动停止负载,避免失败档继续堆积任务。\n\n同时保证连接池零值写入报告,并增加边界回归测试。已通过 bash -n、ShellCheck、production acceptance 脚本测试和人工发布脚本测试。
2026-08-01 15:44:57 +08:00
wangbo
3514c13b0d
fix(acceptance): 按实际节点聚合多 Worker 指标
...
同站点存在多个物理节点时,按每个 Ready Pod 的 nodeName 映射真实 SSH 主机采集 metrics,并隔离 ssh 标准输入,避免吞掉后续 Pod 目标。所有 Worker Pod 指标按容量最小/最大、连接池最小/最大和计数器总和聚合,不再随机漏采一个实例。\n\n运行时门禁根据已启用的第四节点计算 Ready 节点数,并跳过零副本站点,同时继续逐 Pod 校验 P24/P28/P32 容量、连接池和租约。\n\n验证:bash -n、ShellCheck、双节点 metrics 映射测试、生产只读双 Worker metrics 探针、manual-release-test。
2026-08-01 15:14:39 +08:00
wangbo
53fc79691a
fix(acceptance): 联动压力采样与负载停止
...
零副本 Worker 站点没有 metrics,应从聚合采样中跳过;有副本的站点采样失败仍保持硬失败。补充缺失字段诊断,避免只输出无上下文的采样失败。\n\n容量轮次和混合长稳压测现在持续监视压力采样进程;采样器提前退出时立即终止当前负载并走失败收口,避免在资源监控失效后继续造任务。\n\n验证:bash -n、ShellCheck、零副本站点测试、采样失败联动停止测试、manual-release-test。
2026-08-01 14:37:45 +08:00
wangbo
8749f38eb3
fix(acceptance): 完善跨版本验收状态收口
...
生产流量处于旧失败验收 Run 的 validation 状态时,允许新验收接管任意已验证的 Git 祖先 release,而非仅允许 release manifest 的直接 base;仍保留 Run 状态、镜像 digest、revision 与当前集群 release CAS 校验。\n\n允许 pending Run 在激活前异常时直接标记为 failed,避免验收工具在 CAS 或网络错误后遗留无法结束的 Run。新增祖先关系脚本测试及临时 PostgreSQL 集成验证。\n\n验证:Go 全量测试、go vet、临时 PostgreSQL 集成测试、bash -n、ShellCheck、manual-release-test。
2026-08-01 13:59:37 +08:00
wangbo
4d84210344
fix(release): 修正 Worker 滚动与失败传播
...
单站点 Worker 启用硬反亲和后,maxSurge=1 会让新 Pod 无法调度并造成滚动超时。将 Worker 改为先下线旧 Pod 再创建新 Pod,同时保持 API 的零中断滚动策略。\n\n发布辅助脚本为关键 kubectl 操作补充显式失败返回,避免函数位于条件表达式时 Bash 忽略 errexit,进而把失败发布误报为成功。新增回归测试模拟 rollout status 失败且旧 Pod 仍 Ready 的场景。\n\n验证:bash -n、ShellCheck、cluster-release-helper-test、manual-release-test、生产 API Server dry-run。
2026-08-01 13:43:33 +08:00
wangbo
80801b7bbb
fix(capacity): 允许显式禁用无节点站点
...
当 Worker Deployment 为零副本且站点没有 eligible Worker 节点时返回零容量状态,避免 min/max=0 的禁用站点令容量控制器持续 NotReady;非零副本仍保持失败关闭。\n\n验证:容量控制器单测、Go 全量测试、go vet、gofmt、迁移安全检查和人工发布脚本测试。
2026-08-01 13:02:55 +08:00
wangbo
773d310214
fix(cluster): 强制关键副本跨节点分散
...
避免同站点 Worker 与容量控制器在滚动发布时集中到同一节点,并让 Kubernetes 运行态清单变更进入可追溯的 API release。\n\n验证:bash -n、ShellCheck、manual-release-test、生产集群 server-side dry-run。
2026-08-01 12:33:19 +08:00
wangbo
fcc3dc3cb9
fix(acceptance): 排空后切换验收 Worker 拓扑
...
首次 CAS 只校验 release 与镜像,进入 validation 并排空既有任务后再快照并应用 P24 基线,随后执行副本放置与资源门禁。避免在 live 流量下从 1+1 竞态切换到 0+2,也解除验收前置副本与安全排空之间的循环依赖。\n\n验证:bash -n、ShellCheck、git diff --check。
2026-08-01 11:45:32 +08:00
wangbo
c9fbf6e6f6
fix(cluster): 稳定 Worker 节点首次接入
...
在新增 WireGuard 对等后等待全部握手并预热双向路由,再执行严格 10 包链路门禁;K3s 安装器检测到既有 unit 时显式启动未运行的 agent,并补充 Worker 标签校验。\n\n验证:bash -n、ShellCheck、四节点六向链路复测、K3s agent Ready 与隔离状态逐项核对。
2026-08-01 11:38:19 +08:00
wangbo
ed3b970178
refactor(cluster): 通用化第四个 Worker 节点接入
...
将原宁波专用接入脚本改为由环境变量控制节点名称、站点和 WireGuard 端口,支持香港双物理节点 Worker 池。增加候选节点启用开关和服务商网络许可门禁,未明确批准时禁止任何 WireGuard 或 K3s 写操作。同步调整生产验收、巡检、拓扑校验和运行手册。\n\n验证:\n- scripts/cluster 全部 Shell 脚本 bash -n\n- scripts/cluster 全部 ShellCheck\n- git diff --check\n- 本地凭据值扫描\n- 当前三节点 WireGuard/K3s/PostgreSQL 只读基线检查
2026-08-01 11:23:19 +08:00
wangbo
e77bd17754
fix(cluster): 固化宁波 Worker 隧道端口
...
新宁波节点改用 UDP/443 监听,其他三台节点保留 UDP/51820,并在全量 WireGuard 引导中按节点配置 endpoint 端口。\n\n三轮六向实测均为零丢包,香港 RTT 从 73-77ms 降至 48-53ms;已通过 bash -n、ShellCheck 和差异检查。
2026-08-01 10:54:30 +08:00
wangbo
53589fe3ef
fix(cluster): 以宁波专用节点替换深圳 Worker
...
移除深圳节点及中继拓扑,新增第二台宁波 K3s agent 的全互联 WireGuard 接入和严格 UFW 门禁。\n\nWorker Deployment 与容量控制器仅选择 easyai.io/worker=true 节点,使原宁波混部节点退出 Worker 资源预算,生产基线恢复为宁波专用节点与香港节点各一实例。\n\n已通过 Go 全量测试、go vet、gofmt、迁移安全检查、bash -n、ShellCheck、发布脚本测试和 Kubernetes 清单渲染。
2026-08-01 10:47:01 +08:00
wangbo
d3b36cf63d
fix(cluster): 保留深圳原有 UFW 防火墙
...
移除会与 UFW 冲突的 iptables-persistent 安装,改由 UFW 持久化 WireGuard、kubelet、Flannel 和 NodePort 规则。\n\n预检新增 UFW 已安装且处于 active 的硬门禁,避免包管理器切换防火墙后保留 DROP 默认策略并中断远程接入。\n\n已通过 bash -n、ShellCheck 和差异检查。
2026-08-01 09:51:03 +08:00
wangbo
c63709d785
fix(cluster): 经宁波中继深圳香港链路
...
香港与深圳公网直连出现高丢包和高时延时,固定将两地 WireGuard 数据前缀经宁波转发,同时保留直接 peer 心跳。\n\n中继规则和转发状态持久化,接入与全量 WireGuard 引导脚本保持一致;链路验收仍使用端到端丢包和 RTT 硬门禁。\n\n已通过 bash -n、ShellCheck、深圳资源预检和差异检查。
2026-08-01 09:42:59 +08:00
wangbo
70b0ffb9ae
feat(cluster): 接入深圳专用 Worker 节点
...
新增深圳 K3s agent 与四节点 WireGuard 全互联接入脚本,将深圳归入香港逻辑 Worker 池并用污点限制为 Worker 专用。\n\n生产验收支持宁波 0、香港逻辑池 2 的双物理节点基线,补充副本拓扑分散、容量档位、链路巡检和零副本站点校验。\n\n已通过 Go 全量测试、go vet、govulncheck、迁移安全检查、ShellCheck、发布脚本测试、前后端 lint/test/build、Compose 与 Kubernetes 渲染校验。
2026-08-01 09:38:10 +08:00
wangbo
132cda35d8
fix(acceptance): 隔离控制面抖动与租约瞬态故障
...
线上 P24 验收暴露出高频 kubectl exec 放大 K3s API 压力、门禁查询挤占关键连接池,以及 PostgreSQL 锁超时被误判为租约所有权丢失。
本次合并验收身份查询、在租约有效期内重试瞬态续期错误、修复人工审核残留 attempt,并增加滚动后 etcd 稳定窗口、节点直连指标和双站独立报告。
验证:Go 全量测试、go vet、聚焦 race、gofmt、迁移安全检查、bash -n、ShellCheck、manual release test。
2026-08-01 01:51:44 +08:00
wangbo
be6ce7f78a
fix(acceptance): 修复线上双站压测失真
...
将线上压力生成器拆分为宁波、香港宿主机上的 K3s 外进程,按全局序号分片并保守合并站点报告,避免操作者本机上行带宽成为容量瓶颈。\n\n为每次负载执行生成独立幂等键和 Run 级图片变体,阻止三轮验收重放旧任务或复用历史媒体缓存,并新增直接 OSS 物化一致性门禁。\n\n验证:Go 全量测试、go vet、迁移安全检查、bash -n、ShellCheck、manual-release-test 和双宿主机 linux/amd64 启动冒烟通过。
2026-08-01 01:02:07 +08:00
wangbo
9fd9c267d6
fix(acceptance): 配置化资源预热门槛
...
宁波节点混部 legacy 生产服务,固定 65% 预热门槛无法反映当前可用资源,也无法通过停止 staging/CI 实质改善。
预热内存门槛现在可在 50–79% 显式配置并写入报告;80%运行目标、85%硬上限和 15 分钟稳定窗口保持不变。
验证:bash -n、ShellCheck、验收报告测试。
2026-08-01 00:15:05 +08:00
wangbo
3a01a5c93e
fix(acceptance): 允许无运行时差异的工具更新
...
验收编排修复被正确分类为 components=none,但旧 CAS 要求工具 HEAD 与线上 release 完全相等,导致无运行时变化也必须重发镜像。
现在仅允许线上 release 到工具 HEAD 之间为无迁移、无 API/Web 运行时变化的后代提交;任何运行时或迁移差异仍立即阻断。
验证:bash -n、ShellCheck、验收报告测试、release-components 分类检查。
2026-08-01 00:11:25 +08:00
wangbo
a612c3cb4a
fix(acceptance): 按发布隔离验收身份组
...
历史验收主身份仍引用固定 production-acceptance 组,严格隔离门禁因此在切换 validation 前正确阻断。
验收组改为包含 release SHA 的稳定键;历史身份保持可审计,本次分片及已有 API Key 幂等迁移到当前发布专属组,避免清理或影响正式身份。
验证:bash -n、ShellCheck、验收报告测试、线上引用关系只读审计。
2026-08-01 00:10:41 +08:00
wangbo
b6ef0435ab
fix(controller): 隔离无关媒体凭据校验
...
容量控制器只负责读取容量状态和调整 Worker 副本,按最小权限不注入 OSS 或供应商凭据;全局媒体配置校验却导致控制器在生产启动时 CrashLoop。
容量控制器角色现在跳过不会使用的直传 OSS 校验,API/Worker 仍保持原校验;发布先以零副本应用目标状态,再用精确镜像和同构配置运行 Ready 预检,成功后才扩到双副本;同时补齐迁移 Job 的 restricted PodSecurity 配置。
验证:Go 全量测试、go vet、角色回归测试、bash -n、ShellCheck、人工发布测试、生产 server-side dry-run。
2026-07-31 23:52:22 +08:00
wangbo
993fb7d8be
fix(release): 兼容首次创建容量控制器
...
旧生产集群没有 capacity-controller,部署前精确快照此前对缺失 Deployment 直接报错,导致目标状态尚未应用就阻断发布。
快照现在允许目标 Deployment 不存在;失败恢复时,快照中原本不存在的资源会被删除,从而同时支持首次创建和精确回退。
验证:bash -n、ShellCheck、人工发布脚本测试、线上缺失控制器只读快照演练。
2026-07-31 23:38:55 +08:00
wangbo
744e4acd1f
fix(cluster): 消除发布前门禁假阴性
...
发布前巡检在 pipefail 下直接将 K3s readyz 管给 grep -q,可能因 SIGPIPE 误报 etcd 失败;链路和 PostgreSQL 断言失败时也缺少可定位证据。
改为完整读取 readyz,输出六向链路指标,并为复制、归档、备份和配置投影增加明确失败原因;同时缩短 10 包探测间隔,不改变丢包与 RTT 门槛。
验证:bash -n、ShellCheck、生产 precutover 只读巡检。
2026-07-31 23:34:22 +08:00
wangbo
709434a256
fix(acceptance): 自举线上隔离验收身份
...
线上验收此前依赖人工准备管理员 Token、专属用户、API Key、参考图片和数据库连接,导致跳过本地验收后仍无法安全、可重复执行。
本提交增加短期 Manager 登录、隔离用户/钱包/API Key 幂等创建、Pod 内脱敏快照导出和合成图片真实上传;敏感材料仅保留在进程或 0600 临时文件中。
验证:bash -n、ShellCheck、验收报告测试、参考图片生成测试、git diff --check。
2026-07-31 23:25:43 +08:00
wangbo
0b681275ed
fix(acceptance): 支持显式跳过本地验收
...
在用户明确授权时,将本地原生与 amd64 制品阶段记录为 skipped/waived,并直接使用当前生产脱敏快照进入线上模拟。修复线上报告合并未写入生产 Run ID 导致后续 promote CAS 必然失败的问题。已通过报告回归测试、bash -n、ShellCheck 和 diff 检查。
2026-07-31 23:15:22 +08:00
wangbo
a95184b5b6
fix(acceptance): 阻断本地控制面漂移污染验收
...
本地 K3s 节点此前在 Kubelet 中登记为宿主机资源,负载可挤压 etcd 并在 server 重启后继续污染同一 Run。现在为三节点设置真实可调度预算、独立 etcd/数据卷和锁定依赖镜像,并持续核对 server 与 API/etcd 健康。\n\n每次验收生成独立 Run ID,报告使用独占或原子写入,负载错误记录具体阶段;数据库鉴权不可用返回带 Retry-After 的 503,避免基础设施故障被误报为 401。\n\n验证:Go 全量测试、go vet、gofmt、OpenAPI、bash -n、ShellCheck、报告测试和 k3d 配置解析均通过。
2026-07-31 23:07:19 +08:00
wangbo
015ff8ea6c
fix(acceptance): 允许受信模拟源的媒体物化
...
验收任务物化最终媒体时,仅允许访问 Acceptance Run 登记的协议模拟器精确 origin;其他私网、协议、端口及带 userinfo 的地址继续由 SSRF 防护拒绝。\n\n验证:Go 全量测试、go vet、gofmt 和 git diff --check 通过。
2026-07-31 21:39:19 +08:00
wangbo
add99e5421
fix(acceptance): 物化验收任务的最终媒体
...
仅对已认证 Acceptance Run 强制下载并持久化 URL 型结果,确保集群外压测端能验证最终视频;普通生产任务继续遵循现有文件存储策略。压测器仅对 Gateway 自有地址做双入口重写,避免向第三方媒体域名泄露验收凭据。\n\n同时修复本地集群重复使用同一快照文件时的幂等复制失败。验证:Go 全量测试、go vet、gofmt、bash -n、ShellCheck 和 git diff --check 通过。
2026-07-31 21:25:42 +08:00
wangbo
29a9b8c89f
fix(acceptance): 使用可完整解码的 WebP 样本
...
替换截断的 WebP 验收夹具,新增全量图片像素解码回归,并保留 6K 外部水化与三参考图归一化测试,避免协议模拟样本缺陷被误判为 Worker 运行故障。\n\n验证:Go 全量测试、go vet、gofmt、git diff --check 通过。
2026-07-31 21:11:50 +08:00
wangbo
29533537ec
fix(worker): 限制大图归一化峰值内存
...
6K 多参考图在 P24 下会并发进入高内存缩放并击穿 2 GiB Worker。新增独立可配置的图片归一化并发,生产默认 2,只约束解码、缩放和重编码阶段,不占用视频上游等待槽;缩放器改为内存稳定的近似双线性实现。\n\n验证:6K 到 6000x2400 转换、信号量串行化、Go 全量测试、gofmt、Kubernetes 客户端 dry-run。
2026-07-31 20:54:11 +08:00
wangbo
f190af00be
fix(acceptance): 修复快照迁移重放与派发死锁
...
本地同构验收在全量迁移后导入生产快照,导致本次发布的数据迁移被旧能力覆盖;增加仅允许严格本地集群标记启用的导入后迁移重放,并新增幂等 Seedance 约束校准。\n\n批量异步派发改为在事务开始按全局顺序预锁全部任务与容量作用域,同时对 PostgreSQL 死锁和序列化失败做退避重试,避免双 API 重叠批次形成环形等待。\n\n验证:Go 全量测试、gofmt、bash -n、ShellCheck、迁移安全检查。
2026-07-31 20:39:42 +08:00
wangbo
bfdabd3853
fix(acceptance): 校准 Seedance 图片转换验收
...
按 Volces 官方输入边界补齐 Seedance 2.0 候选能力,将错误的合法 4K 转换样本替换为真实越界图片,并让协议模拟器校验物化后的 Base64 data URL。\n\n验证:Go 全量测试、迁移安全检查、gofmt。
2026-07-31 20:07:28 +08:00
wangbo
2c7ed905a9
fix(acceptance): 打通本地集群内验收链路
...
为本地三节点验收补齐 Gateway 内部 DNS、TLS CA 信任与端口映射,并让仅限验收命名空间的网络故障代理以所需 UID 获取 NET_ADMIN。\n\n验证:bash -n、ShellCheck、K3d 三节点实测。
2026-07-31 20:07:21 +08:00
wangbo
26f3b3fb0a
fix(acceptance): 消除 bootstrap 产物竞态
...
bootstrap 主容器完成后 Kubernetes 不允许继续 exec,导致无法取回只存在容器文件系统中的私密运行参数。使用共享 emptyDir 与限时导出 sidecar,在主容器退出码为零后复制 0600 产物并立即删除 Pod。\n\n验证:bash -n;ShellCheck;本地 CNPG 环境 32 身份 bootstrap、sidecar 导出和 runtime Schema 校验通过。
2026-07-31 19:47:51 +08:00
wangbo
805b677e86
fix(acceptance): 明确身份序号 SQL 类型
...
PostgreSQL 无法从 jsonb_build_object 的多态参数推断验收身份序号类型,导致本地 32 身份 bootstrap 失败。将序号绑定参数显式转换为 integer。\n\n验证:gofmt;go test ./cmd/acceptance-bootstrap -count=1;本地 CNPG 已复现原始 SQLSTATE 42P18。
2026-07-31 19:39:59 +08:00
wangbo
3ba6026e12
fix(acceptance): 安全暂存脱敏快照
...
ConfigMap 投影文件是符号链接,而快照导入器必须拒绝链接输入。新增 initContainer 将只读投影复制为 emptyDir 中的 0600 普通文件,保留防链接安全门禁并让本地导入可执行。\n\n验证:bash -n;ShellCheck;本地 CNPG 双实例实际快照导入通过。
2026-07-31 19:32:28 +08:00
wangbo
38207494d7
fix(acceptance): 修复本地数据库身份标记
...
通过 psql 标准输入执行变量替换,并校验本地集群标识格式,确保安全标记在导入生产脱敏快照前可靠写入,避免验收编排因 -c 参数不展开变量而退出。\n\n验证:bash -n;ShellCheck;本地 CNPG 双实例实际写入与查询标记通过。
2026-07-31 19:26:25 +08:00
wangbo
0bc4c00581
fix(acceptance): 固定本地节点交换内存上限
...
设置 K3d 节点资源限制时同步更新 memory 与 memory-swap,避免 Docker 因既有 swap 上限较低而拒绝节点内存预算,并禁止验收节点依赖额外交换空间。\n\n验证:bash -n scripts/acceptance/local-cluster.sh;shellcheck scripts/acceptance/local-cluster.sh
2026-07-31 19:20:16 +08:00
wangbo
ed3bae4ba6
fix(acceptance): 修正本地 K3d 节点资源约束
...
本地同构环境创建后使用 K3d 实际容器名设置宁波、香港和洛杉矶节点的 CPU 与内存限制,避免集群已创建但验收编排在组件安装前退出。\n\n验证:bash -n scripts/acceptance/local-cluster.sh;shellcheck scripts/acceptance/local-cluster.sh
2026-07-31 19:18:44 +08:00
wangbo
aec61eecb1
fix(acceptance): 固定相对快照路径解析
...
在本地集群脚本切换到 apps/api 前,将已校验的快照路径解析为绝对路径,确保文档中的相对路径可以直接执行。\n\n验证:bash -n、ShellCheck。
2026-07-31 18:44:50 +08:00
wangbo
0b9634b74c
fix(postgres): 修正跨地域 WAL 归档带宽预算
...
将生产 archive_timeout 从 60 秒调整为 5 分钟,避免 16 MiB WAL 段在当前宁波香港链路上持续产生高于复制吞吐的空闲流量。\n\n同步复制保持开启,双库健康时 RPO 仍为 0;单库降级时对象存储归档 RPO 保持在 5 分钟目标内。补充发布回归门禁,防止配置退回无法追平的 60 秒。\n\n验证:kubectl kustomize、bash -n、ShellCheck、manual-release-test。
2026-07-31 18:42:46 +08:00
wangbo
e05922b0f4
feat(acceptance): 建立同构验收与弹性容量体系
...
实现本地三节点 K3s 同构环境、脱敏生产快照、Gemini 图片和多参考图视频协议模拟、统一验收报告及故障注入。\n\n新增 Worker 容量控制器、资源与连接预算、任务恢复保护,并将生产验收拆分为 validation 执行和人工 CAS 放量。\n\n验证包括 Go 全量测试、PostgreSQL HTTP 集成测试、go vet、OpenAPI、ShellCheck、前端检查、迁移及发布脚本测试。
2026-07-31 18:02:24 +08:00
chengcheng
93d36d0e55
fix(identity): 统一认证启用时直接跳转登录
...
双上下文配置不再落入工作台本地登录页,首次点击统一入口直接发起未预选上下文的 OIDC BFF 登录。
验证:OIDC 定向 Vitest 8 项通过;Web TypeScript 检查与生产构建通过。
2026-07-31 17:33:02 +08:00
chengcheng
59f0817938
feat(identity): 收敛 AI Gateway 统一认证入口
...
Web 登录页合并为单一统一认证入口,未指定上下文时由认证中心在登录后决策。继续接受旧客户端显式传入 platform 或 tenant,并保持回调上下文及 tenant_hint 的绑定校验。同步更新 OpenAPI 产物。\n\n验证:Go 全量测试与 go vet 通过;Web lint、141 项 Vitest 和生产构建通过;本地 platform.admin 登录及管理工作台访问通过。
2026-07-31 15:28:12 +08:00
chengcheng
c0296dbf06
fix(identity): 支持平台用户显式登录 AI Gateway
...
修复多租户身份配置将所有人类登录都强制解释为租户上下文的问题。Web 现在提供平台与租户两个受控入口,API 严格绑定 context_type、tid、issuer、application 和 subject,并为平台用户建立独立本地投影与可刷新会话。\n\n风险:新增会话身份列保持旧会话可读,新会话一律使用严格约束;未改变租户数据隔离和 API Key 行为。\n\n验证:Go 全量测试与 go vet 通过;PostgreSQL 平台投影、会话和安全事件集成测试通过;前端 lint、141 项测试与生产 build 通过;OpenAPI 生成和迁移安全测试通过。
2026-07-31 14:24:40 +08:00
chengcheng
88c971564a
feat(web): 增加单点登录分流与本地应急入口
...
开启统一认证后,正常登录入口直接跳转认证中心,并将本地账号入口收敛到 /login 应急页;未开启统一认证时继续保留工作台内原有登录方式。
影响范围仅限 Web 登录路由、认证入口展示和相关测试,不修改认证接口或 OpenAPI。风险主要在运行时身份状态判断,已通过 141 项前端测试、生产构建、无缓存类型检查及浏览器分支验证。
2026-07-31 13:43:06 +08:00