4.6 KiB
4.6 KiB
RMDC系统架构提示词
本文档为大模型(AI助手)提供RMDC系统的全面上下文,帮助AI理解系统架构并协助开发工作。
系统定位
RMDC (Runtime Management & DevOps Center) 是一个以项目(K8s Namespace)为核心维度的统一运维与交付平台。通过"边缘代理(Watchdog) + 消息总线(Exchange-Hub)"架构打通内外网,提供从代码构建、分支权限控制、自动化部署到实时监控日志的全生命周期管理。
核心模块清单
| 模块 | 职责 | 关键技术 |
|---|---|---|
| rmdc-core | API Gateway、鉴权、路由 | Go + Gin |
| rmdc-jenkins-branch-dac | Jenkins分支权限(DAC)、构建管理 | Jenkins API, MinIO |
| rmdc-exchange-hub | MQTT消息网关、指令生命周期 | MQTT, PostgreSQL |
| rmdc-watchdog | 边缘代理、K8S操作、二级授权 | K8S API, TOTP |
| rmdc-project-management | 项目管理、一级授权中心 | PostgreSQL |
| rmdc-audit-log | 审计日志 | PostgreSQL |
| rmdc-user-auth | 用户认证、权限管理 | JWT, RBAC |
系统架构图
graph TB
subgraph "RMDC平台 (内网)"
Portal[前端门户<br/>Vue3+Vuetify3]
Core[rmdc-core<br/>API Gateway]
subgraph "业务模块"
Jenkins[jenkins-branch-dac]
Project[project-management]
Audit[audit-log]
UserAuth[user-auth]
end
ExHub[exchange-hub<br/>消息网关]
MQTT[(MQTT Broker)]
end
subgraph "外部项目环境"
WD[rmdc-watchdog<br/>边缘代理]
Node[watchdog-node]
Agent[watchdog-agent]
end
Portal --> Core --> Jenkins & Project & Audit & UserAuth
Project --> ExHub <--> MQTT <-.公网.-> WD <--> Node & Agent
通信架构
MQTT Topic设计
| 方向 | Topic | 用途 |
|---|---|---|
| 上行 | wdd/RDMC/command/up |
Watchdog发送指令 |
| 上行 | wdd/RDMC/message/up |
Watchdog发送数据 |
| 下行 | wdd/RDMC/command/down/{project_id} |
下发指令 |
| 下行 | wdd/RDMC/message/down/{project_id} |
下发数据 |
安全机制
一级授权: rmdc-project-management ↔ rmdc-watchdog (8位码, 30分钟有效)
二级授权: rmdc-watchdog ↔ watchdog-agent/node (6位码, 30秒有效)
API设计规范
重要: RMDC API遵循以下规范
- RESTful风格:使用标准HTTP方法语义
- 优先POST+RequestBody:复杂查询和所有写操作使用POST
- 避免PathVariables:资源标识放入RequestBody
- 避免RequestParams:查询参数放入RequestBody
- 统一响应格式:
{
"code": 0,
"message": "success",
"data": {...}
}
开发规范
后端规范(Go)
项目结构:
├── cmd/ # 入口
├── configs/ # 配置
├── internal/
│ ├── config/ # 配置结构
│ ├── dao/ # 数据访问层
│ ├── handler/ # HTTP处理器
│ ├── model/
│ │ ├── dto/ # 请求/响应DTO
│ │ └── entity/ # 数据库实体
│ └── service/ # 业务逻辑层
└── pkg/ # 公共包
关键约束:
- 禁止在Handler层写业务逻辑
- 所有SQL在DAO层
- 使用GORM进行ORM操作
前端规范(Vue3)
- 技术栈: Vue3 + TypeScript + Vuetify3
- 使用Composition API
- 组件销毁时断开WebSocket连接
核心业务流程
项目注册流程
1. project-management创建项目 → 生成密钥
2. 部署watchdog(携带配置文件)
3. watchdog连接MQTT → 发送注册请求(含TOTP)
4. exchange-hub验证 → 发送挑战码
5. watchdog回复挑战码 → 注册成功
构建触发流程
1. 用户调用 POST /builds/trigger
2. jenkins-branch-dac 调用 Jenkins API
3. BuildTracker开始追踪构建状态
4. 前端轮询构建详情
5. 构建完成 → 可触发DCU打包镜像
文档索引
| 文档路径 | 内容 |
|---|---|
1-基本框架/2-rmdc-DDS.md |
系统PRD/DDS |
2-Jenkins模块/1-jenkins-branch-dac-DDS.md |
Jenkins模块DDS |
3-rmdc-exchange-hub/1-rmdc-exchange-hub-DDS.md |
Exchange-Hub DDS |
4-rmdc-project-management/1-rmdc-project-management-DDS.md |
项目管理DDS |
6-rmdc-watchdog/1-rmdc-watchdog-DDS.md |
Watchdog DDS |
如何使用本提示词
- 理解系统: 阅读架构说明和业务流程
- 定位模块: 确定涉及的模块
- 查阅详细文档: 参考模块DDS
- 遵循规范: 按照API和开发规范编码