Skip to content

Usecase Overview

  • 业务目标:在插件安装或升级前执行一致的兼容性校验,阻断与宿主、依赖或运行时不匹配的操作,并提供例外审批与风险追溯能力。
  • 成功度量:兼容性匹配准确率 ≥98%;例外审批 SLA ≤24 小时;阻断后 100% 写入审计并附带冲突明细;审批通过实例附加监控策略覆盖率 ≥95%。
  • 场景关联:支撑主场景 Stage 3,与灰度升级/版本检测场景协同,确保发布前即识别兼容性风险。

通过兼容性防线,可在发布前阻断高风险安装,减少运行期故障,并为例外场景提供受控执行轨迹。

Context & Assumptions

  • 前置条件
    • Feature Flag plugin-compat-guardplugin-compat-exception 已启用。
    • 兼容性矩阵与插件 Manifest 在版本治理服务中保持最新,并通过 CI/CD 自动更新。
    • 审批系统支持多因子认证与审批号追踪,具备通知渠道。
    • 安全团队定义了风险级别、审批模板与附加监控策略。
  • 输入/输出
    • 输入:安装/升级请求、插件 Manifest、宿主版本、依赖列表、审批上下文。
    • 输出:兼容性报告、阻断反馈、例外审批决定、审计记录、附加监控策略。
  • 边界
    • 不处理升级执行/回滚流程(由灰度场景负责)。
    • 不覆盖离线包导入、跨租户策略、Marketplace 审核。

Solution Blueprint

体系分解

主要组件/模块责任代码入口
兼容性引擎层internal/version/compat/engine.go加载矩阵、合并策略、风险评分services/version/compat
校验与阻断层internal/version/compat/validator.goManifest 校验、冲突识别、阻断反馈services/version/compat
例外审批层internal/version/compat/exception_workflow.go审批流程、MFA 校验、执行授权services/version/compat
审计与合规层internal/audit/version/compat_log_writer.go阻断/例外记录、风险标签、报表对接services/audit/version
CLI/控制台层packages/cli/src/commands/plugin/install.ts承载提示、例外申请入口、审批结果同步packages/cli

流程与时序

  1. Step 1 – 请求接入:管理员通过 CLI/控制台触发安装或升级请求,系统装载插件与宿主信息。
  2. Step 2 – 兼容性校验:兼容性引擎加载矩阵,校验宿主版本、依赖插件、运行时与数据库迁移脚本,并生成风险评分。
  3. Step 3 – 阻断与反馈:若检测到冲突,立即阻断并返回详细报告、解决建议与例外申请入口。
  4. Step 4 – 例外审批与受控执行:审批通过后执行受控安装,附加监控策略并记录审计;若被拒绝,维持阻断状态并通知相关人。

Contracts & Interfaces

  • Inbound APIs / Events
    • POST /internal/version/compat/check — 校验请求,包含插件版本、宿主、依赖列表。
    • POST /internal/version/compat/exception — 提交例外申请,附带风险说明。
  • Outbound 调用
    • POST /internal/security/scan/context — 获取安全策略、敏感组件信息。
    • POST /internal/notify/publish — 推送阻断或审批通知给管理员、审批人。
    • POST /internal/audit/version — 写入阻断、审批、执行结果。
  • 配置与脚本
    • config/version/compat_matrix.yaml — 兼容矩阵、权重、过期策略。
    • config/version/exception_workflow.yaml — 审批链、SLA、附加监控策略。
    • docs/standards/powerx-plugin/release/Compatibility_Checklist.md — 校验项与例外要求。

Implementation Checklist

项目描述完成状态负责人
兼容矩阵同步与 Vendor 仓库、CI/CD 对接,保证矩阵及时更新[ ]Leo Wang
校验引擎增强支持宿主、依赖、运行时、数据迁移多维度校验[ ]Matrix Ops
例外审批集成审批系统、MFA 校验、审批号追踪[ ]Grace Lin
审计报表生成阻断/例外报表、风险标签、检索查询[ ]Grace Lin
CLI/控制台体验优化冲突提示、例外申请入口、帮助链接[ ]Leo Wang

Testing Strategy

  • 单元:校验规则、矩阵解析、例外审批状态机、审计日志写入。
  • 集成:模拟安装请求,覆盖兼容、冲突和例外审批路径;对接审批系统与审计服务。
  • 端到端:复现主场景用例 C-1/C-2,验证阻断报告、例外执行与监控策略。
  • 非功能:矩阵大规模校验性能、审批系统延迟、日志查询压力测试。

Observability & Ops

  • 指标version.compat.check_totalversion.compat.block_totalversion.compat.exception_request_totalversion.compat.exception_approved_totalversion.compat.matrix_staleness_hours
  • 日志:记录插件版本、宿主、依赖、风险级别、审批号、执行人;敏感信息脱敏;保留 ≥365 天。
  • 告警:兼容矩阵过期、阻断率骤增、审批 SLA 超时、例外执行缺少监控策略。
  • Dashboards:Compatibility Guard Dashboard、Exception Workflow Monitor、workflow-metrics.mjs

Rollback & Failure Handling

  • 回滚步骤:保持旧版本运行,撤销未完成的安装请求,恢复审批队列与监控策略。
  • 补救措施:提供冲突报告下载、手动触发重新校验、支持人工审批并附带风险说明。
  • 数据修复:运行 scripts/workflows/version-compat-reconcile.mjs 对齐阻断记录、审批状态与审计日志。

Follow-ups & Risks

风险/事项影响缓解方案负责人ETA
部分插件缺少运行时兼容声明校验准确性与 Vendor 建立模板并强制校验Leo Wang2025-12-05
例外审批缺乏细粒度权限控制合规风险与 IAM 对接审批角色与最小权限Grace Lin2025-12-18
阻断报告可读性不足影响决策运维效率优化冲突分组、提供解决指南链接Matrix Ops2025-12-12

References & Links

  • 场景文档:docs/scenarios/plugin-lifecycle/SCN-DEV-PLUGIN-VERSION-COMPAT-BLOCK-001.md
  • 主场景:docs/scenarios/plugin-lifecycle/SCN-DEV-PLUGIN-VERSION-COMPAT-001.md
  • 标准:docs/standards/powerx-plugin/release/Compatibility_Checklist.md
  • 配置:config/version/compat_matrix.yamlconfig/version/exception_workflow.yaml

基于 Apache 2.0 许可发布