目标仓库: perfect-panel/backend
目标分支: next
规划基线: origin/main@ea28a7685f4c89f91895c4d789a5726e806aa3f0
目标
为系统配置、认证/通知/存储/节点配置和运行参数建立版本、草稿、发布、回滚、并发控制、脱敏展示和审计治理。该项为 P1 配置治理;敏感配置明文返回、配置泄露等安全问题须由对应 P0 安全项优先修复。
源码已有
- 已有 system 当前值表、Admin 配置更新、reinit/restart、Node override/effective 配置、ETag、NodeSecret 首启补救。
- 当前缺少敏感字段统一脱敏、管理员审计、版本历史、草稿/发布/回滚、并发锁、desired/applied 状态。
范围
- 定义配置域:认证、通知、支付、存储、节点、订阅、日志保留、运行参数等。
- 建立配置版本模型:draft、published、rolled_back、deprecated;保存脱敏 diff、schema version、发布说明。
- 支持草稿编辑、校验、预览影响范围、发布、回滚和并发冲突检测。
- 节点/节点程序 配置使用 desired/applied 语义,能追踪配置下发和应用状态。
- 配置 schema 变更与 OpenAPI、发布 manifest 和迁移版本关联。
明确不做
- 不把所有业务表配置化;只治理已有系统配置和运行参数。
- 不在本 Issue 内建设完整节点舰队健康;仅提供配置版本/回滚和 desired/applied 所需字段。
- 不返回或导出任何敏感配置明文;敏感查看如确需支持应走单独权限和审计。
数据 / API / 流程
- 数据:config_versions、config_drafts、config_change_sets、config_publish_records、config_apply_status。
- API:Admin 配置域列表、草稿创建/编辑、校验、diff、发布、回滚、查看应用状态;节点配置查询返回 ETag 和版本。
- 流程:编辑草稿 → schema 校验 → 权限检查 → diff 审核 → 发布 → reinit/restart 或热加载 → 应用状态回报 → 回滚候选保留。
RBAC / 审计
- 每个配置域具备查看、编辑、发布、回滚、敏感查看、导出权限点。
- 草稿创建、发布、回滚、敏感字段查看、配置校验失败和节点配置下发写管理员审计。
- 审计记录脱敏 diff、版本号、影响域、actor 和结果,不记录密钥明文。
验收
- 任一配置域可创建草稿、查看脱敏 diff、发布并回滚到上一版本。
- 并发编辑同一配置时有版本冲突或锁定提示,不静默覆盖。
- 敏感字段在列表、详情、diff、审计和导出中默认脱敏。
- 节点配置可追踪 desired/applied 版本和最后应用时间。
- 配置发布失败有明确状态,不会产生“已发布但未应用”的模糊展示。
- OpenAPI 覆盖版本字段、错误码、权限和敏感字段投影。
依赖
开发与测试门禁
- 只治理配置版本、草稿、发布和回退;节点程序仅记录 program_name/program_version,不纳入程序发布管控。
- MySQL/PostgreSQL 迁移、OpenAPI、管理员审计和敏感字段脱敏测试必须同步提交。
目标
为系统配置、认证/通知/存储/节点配置和运行参数建立版本、草稿、发布、回滚、并发控制、脱敏展示和审计治理。该项为 P1 配置治理;敏感配置明文返回、配置泄露等安全问题须由对应 P0 安全项优先修复。
源码已有
范围
明确不做
数据 / API / 流程
RBAC / 审计
验收
依赖
开发与测试门禁