Files
2026-01-21 16:15:49 +08:00

5.7 KiB
Raw Permalink Blame History

RMDC 产品需求文档 (PRD)

产品名称: RMDC (Runtime Management & DevOps Center)
版本: v1.0
编制日期: 2026-01-06


1. 产品背景

1.1 业务背景

在复杂的混合云/边缘计算环境中,运维团队面临以下挑战:

  • 网络隔离: 多个项目部署在不同网络环境(内网、边缘、公网)
  • 权限分散: Jenkins、K8S、主机等资源权限管理分散
  • 状态不可见: 无法统一查看各项目的运行状态
  • 操作复杂: 跨网络的操作需要繁琐的VPN/跳板机流程

1.2 痛点总结

痛点 当前方案 问题
跨网络访问 VPN + 跳板机 效率低,依赖人工
分支权限管理 Jenkins原生 粒度粗,无法精细控制
项目状态监控 分散的监控系统 无统一视图
自动化部署 手动脚本 可靠性差,无审计

2. 产品定位

RMDC是以项目(K8s Namespace)为核心维度的统一运维与交付平台,通过"边缘代理 + 消息总线"架构打通网络边界,提供:

  • 统一入口: 一个平台管理所有项目
  • 精细权限: 分支级别的构建权限控制
  • 实时可见: 项目状态、构建进度、监控数据统一展示
  • 全程审计: 所有操作可追溯

3. 目标用户

用户角色 关键诉求
超级管理员(SuperAdmin) 管理所有项目、用户、权限
管理员(Admin) 管理负责的项目,分配权限给普通用户
普通人员(Normal) 查看项目信息,触发被授权的构建
第三方人员(Third) 有限度地查看被授权的内容

4. 功能范围

4.1 核心功能模块

mindmap
  root((RMDC))
    Jenkins模块
      组织/仓库/分支管理
      分支级权限控制(DAC)
      构建触发与追踪
      镜像打包(DCU)
    项目管理模块
      项目信息CRUD
      部署信息管理
      授权管理(一级)
    消息网关模块
      MQTT消息中继
      指令生命周期
      同步/异步指令
    边缘代理模块
      K8S操作代理
      主机操作代理
      二级授权管理
    监控日志模块
      实时日志查看
      监控数据采集
      告警通知
    用户权限模块
      用户管理
      角色管理
      权限分配
    审计模块
      操作审计
      日志查询
      导出功能

4.2 第一期功能(MVP)

模块 功能 优先级
Jenkins 组织/仓库/分支查询 P0
Jenkins 构建触发与状态追踪 P0
Jenkins 分支级权限控制 P0
项目管理 项目信息CRUD P0
项目管理 授权密钥生成 P0
用户权限 RBAC权限管理 P0
审计 基础操作审计 P1
DCU 镜像下载压缩上传 P1

4.3 第二期功能

模块 功能 优先级
消息网关 MQTT消息中继 P0
消息网关 指令生命周期管理 P0
边缘代理 K8S操作代理 P0
边缘代理 主机操作代理 P1
监控日志 实时日志查看 P1
监控日志 监控数据展示 P2

5. 用户故事

5.1 Jenkins构建

作为 开发人员
我需要 在RMDC平台触发指定分支的构建
以便于 快速验证代码变更无需登录Jenkins

验收标准:

  • 能够查看被授权的分支列表
  • 能够触发分支构建
  • 能够查看构建进度和结果
  • 能够查看构建日志

5.2 权限管理

作为 管理员
我需要 为团队成员分配分支级构建权限
以便于 确保只有授权人员能够构建特定分支

验收标准:

  • 能够按组织/仓库/分支粒度分配权限
  • 权限支持继承(组织→仓库→分支)
  • 能够一键复制其他用户的权限

5.3 项目管理

作为 超级管理员
我需要 创建和管理项目信息
以便于 统一维护各项目的基本信息和授权配置

验收标准:

  • 能够创建项目并录入基本信息
  • 能够管理项目的部署信息和中间件配置
  • 能够生成项目授权密钥
  • 能够导出项目信息

6. 非功能性需求

6.1 性能要求

指标 要求
API响应时间 P90 < 300ms
构建状态同步延迟 < 15s
MQTT消息传输延迟 < 5s
系统可用性 99.9%

6.2 安全要求

类别 要求
认证 JWT Token有效期可配置
授权 RBAC + 资源级ACL
传输 HTTPS/TLS加密
存储 敏感字段AES-256加密
审计 所有写操作记录审计日志

6.3 兼容性

  • 前端: Chrome 80+, Edge 80+, Firefox 75+
  • 后端: Go 1.21+
  • 数据库: PostgreSQL 13+

7. 系统边界

7.1 与外部系统的关系

外部系统 交互方式 说明
Jenkins REST API 构建管理、状态同步
MinIO S3 API 镜像包存储
MQTT Broker MQTT协议 消息中继
K8S K8S API 容器编排

7.2 不在范围内

  • 源代码管理由GitLab/GitHub负责
  • CI/CD编排逻辑由Jenkins Pipeline负责
  • 容器镜像仓库由Harbor负责
  • 基础设施管理由IaaS平台负责

8. 约束和假设

8.1 约束

  1. 必须兼容现有Jenkins配置不修改Jenkinsfile
  2. 边缘项目通过公网MQTT通信需考虑弱网环境
  3. 授权密钥离线部署,不通过网络传输

8.2 假设

  1. 所有边缘项目均部署在K8S环境
  2. 各项目有独立的K8S Namespace
  3. MQTT Broker可从公网访问

9. 版本历史

版本 日期 修改内容
v1.0 2026-01-06 初始版本