更新说明
文档站手工变更记录。数据截止 2026-10。
2026-10 — 安全与运维加固
- 元表格:所有会进入 DDL 的值都既校验、又严格渲染——默认值按类型处理,REFERENCE 显示表达式改为白名单文法(
ref.<列名>、'字符串'、||),前缀 + 编码整体校验;同名物理表已存在时拒绝创建(请用导入)。每个接口都有自己的meta-table:*权限。meta check会报告登记了但物理表不存在的表。 - 运维:
staging/prod把 actuator 放到独立管理端口(admin8089、web8091),探针是业务端口上的/livez与/readyz。日志行带[traceId,requestId]。Prometheus 通过 DNS 发现后端。 - 密钥:prod 的 Redis 必须设置
REDIS_PASSWORD;Redis 值按类型白名单反序列化;AESEncrypter不再有内置密钥(改用 AES-GCM);请求日志能盖住各种凭据键名变体(accessToken、refresh_token等),staging/prod 不再记录请求/响应体。 - CLI:
db init/db update/init/up改用按模块迁移的flywayMigrateAll,传入数据库凭据,迁移失败即报错;doctor输出 ASCII 的[ OK ]/[FAIL]。 - C 端 API:客户端错误返回
404/405/400问题详情,不再是500。 - 权限:每个管理端处理器都有自己的权限,并且每个被校验的权限码都能通过菜单或按钮授予(定时任务、文件上传/删除、CMS 图片上传以前校验的权限码谁都拿不到)。元表格生成代码需要
meta-table:generate;copy返回新的tableCode。 - 加固:dev/test 之外
500不再泄露异常细节;staging 必须配置明确的 CORS 来源;API 签名覆盖请求体;移除JWT_SECRET(sa-token,不用 JWT)。 - 告警:按应用并带流量门槛的错误率、整堆内存、两级磁盘、数据库连接池耗尽;Alertmanager 投递到
ALERT_WEBHOOK_URL;prod/staging 链路采样 10%。 - CLI:
init不加--write时是纯演练,也不再生成没人读取的AES_KEY。 - 复审修复:prod/staging 部署脚本从正确的目录导入种子数据;
docker-compose.prod.yml补齐管理端必需的变量;REFERENCE 字段只能关联本表或已登记的元表格;数据范围失败关闭;生成的控制器校验权限;告警新增ApplicationMissing;带点的页面路径也有 CSP;元表格编辑页显示加载到的定义。 - prod 管理端登录:服务端下发 RSA 公钥(
getConfig→rsaPublicKey),登录页用 RSA-OAEP / SHA-256(WebCrypto)加密——此前任何客户端都登不进 prod 部署。解不开的密码按密码错误处理。 - 审计 IP:每个请求只按可信代理解析一次;请求日志、操作日志、登录日志不再采信任何人发来的
X-Forwarded-For。清空审计日志需要remove权限。 - 请求日志:脱敏改为线性扫描——在记录载荷的 profile(dev/test)里,超长值(base64 验证码图片、大量转义字符的请求体)会撑爆栈,让
GET /admin/auth/captchaImage返回 500;每个请求只记录一次。 - 元表格取值:JSON/GEO 列接受对象和数组;不在字典里的 ENUM 值——或字典根本不存在——都会被拒绝;唯一字段上的重复值返回
10408而不是 500。 - CLI:
meta check/export/import不再启动任务调度器(arch-forge.scheduler.enabled=false)。 - 结构:Repository 属于模块内部,其他模块通过 api 服务读取(ADR-0010)。删除未使用的
common.constant.Constants。module-task、admin-user 补了测试并提高覆盖率地板。 - 运维:staging 的 Redis 与 prod 一样必须设置
REDIS_PASSWORD;server-web 的链路按比例采样、服务名为server-web;请求日志 IP 只信任可信代理;CI 额外按 prod 拓扑启动(管理端口、探针)。 - 元表格:字段长度 / 精度 / 小数位与 ARRAY 元素类型在执行 DDL 前校验。
- 管理端:删除 xlsx / mqtt 演示页及两个依赖(已知漏洞且无修复版本)。
- 流程:只保留一套 ADR(ArchForge/docs/adr),每个仓库都有
CONTRIBUTING.md,CI 统一为 trunk-based。 - 请求日志:
mask-fields现在按键名片段匹配(token也会遮住accessToken),见配置。
2026-04
- 新增契约先行、AI 协作指南,以及首批 4 篇 ADR。
- 首页改成五仓 + AI Agent 叙事,不再堆 14 个无分组 feature。
- 对比表谈架构,不再用过时的「RuoYi = Spring Boot 2.x」。芋道 / RuoYi-Vue-Pro 已在
master-jdk25提供 Spring Boot 4.1 + JDK 25(见 2026-06 changelog)。 - ArchForgeSpec 增加 GitHub Actions(OpenAPI lint + 路径/枚举检查)。
- C 端上传拒绝 SVG/HTML;菜单类型与后端 1/2/3/4 对齐。
仍 没有 托管公开 Demo,请本地运行。