Skip to content

feat: enforce TOS OTA firmware and YGSoul product identity - #271

Open
yztxlty wants to merge 9 commits into
ThingsPanel:mainfrom
yztxlty:feature/req-20260915-01-ygsoul-interface-cutover
Open

yztxlty wants to merge 9 commits into
ThingsPanel:mainfrom
yztxlty:feature/req-20260915-01-ygsoul-interface-cutover

Conversation

@yztxlty

@yztxlty yztxlty commented Oct 8, 2026 •

Copy link
Copy Markdown

需求与影响

  • 需求编号:REQ-20261008-OTA-TOS
  • OTA 固件上传必须写入 TOS 并记录对象键、SHA-256 和大小;删除包时先删除 TOS 对象,再删除 ThingsPanel 记录。
  • 收紧产品身份与 OTA 元数据校验。
  • 修复 Go 测试数据库环境识别、数据库隔离和 RSA 加解密回归。

验证

  • TEST_DATABASE_URL=(专用本机 TimescaleDB) go test ./... 全量通过,数据库集成用例实际执行,无跳过。
  • 数据库 URL 校验拒绝非回环主机、非 thingspanel_test_* 数据库和缺失凭据。
  • RSA 测试使用内存临时密钥验证加解密往返。
  • 85 ThingsPanel 后端受控发布和脚本冒烟成功;OTA 相关目标包测试通过。

风险与回滚

  • TestDatebase 会清空专用测试库的整个 public schema;CI 使用独立 TimescaleDB 服务,禁止连接共享库或线上库。
  • TOS 删除失败时保留 ThingsPanel 包记录,避免产生孤立元数据。
  • 可用上一镜像按现有部署脚本回滚;真实删除链路尚未对现存固件包做破坏性验证。

@yztxlty
yztxlty marked this pull request as ready for review October 8, 2026 05:51
@hezhuozhuo

Copy link
Copy Markdown
Contributor

请问在社区qq群里嘛?我是群里的难道你终朝相并 可以私聊下不

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants