# 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和开发规范编码