# 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 |
---
## 系统架构图
```mermaid
graph TB
subgraph "RMDC平台 (内网)"
Portal[前端门户
Vue3+Vuetify3]
Core[rmdc-core
API Gateway]
subgraph "业务模块"
Jenkins[jenkins-branch-dac]
Project[project-management]
Audit[audit-log]
UserAuth[user-auth]
end
ExHub[exchange-hub
消息网关]
MQTT[(MQTT Broker)]
end
subgraph "外部项目环境"
WD[rmdc-watchdog
边缘代理]
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遵循以下规范
1. **RESTful风格**:使用标准HTTP方法语义
2. **优先POST+RequestBody**:复杂查询和所有写操作使用POST
3. **避免PathVariables**:资源标识放入RequestBody
4. **避免RequestParams**:查询参数放入RequestBody
5. **统一响应格式**:
```json
{
"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 |
---
## 如何使用本提示词
1. **理解系统**: 阅读架构说明和业务流程
2. **定位模块**: 确定涉及的模块
3. **查阅详细文档**: 参考模块DDS
4. **遵循规范**: 按照API和开发规范编码