89 lines
3.6 KiB
Markdown
89 lines
3.6 KiB
Markdown
# EZOps AIOps 开发日志
|
||
|
||
## 2026-06-13 项目初始化
|
||
|
||
### 完成项
|
||
|
||
| 项目 | 状态 | 说明 |
|
||
|------|------|------|
|
||
| 前端 (React+TS+Vite) | ✅ | React 18 + TypeScript + Tailwind CSS + shadcn/ui |
|
||
| 后端 (Go+Gin+GORM) | ✅ | Go + Gin + GORM + JWT + SQLite |
|
||
| 数据库 (SQLite) | ✅ | sqlite3.db,CGO 编译 |
|
||
| run.sh 启动脚本 | ✅ | 一键 start/stop/restart/status/logs |
|
||
| Vite Proxy | ✅ | /api → localhost:8080 |
|
||
| docs 文档 | ✅ | 项目结构/API/部署/开发指南 |
|
||
|
||
### 编译修复记录
|
||
|
||
| 文件 | 问题 | 修复 |
|
||
|------|------|------|
|
||
| `auth.go` | jwt/v5 移除了 `TimeFunc()` | 改用 `time.Now()` |
|
||
| `mock.go` | 匹配实际 model 定义 | 完全重写 |
|
||
| `audit.go` | 编译错误 | 修复字段引用 |
|
||
| `database.go` | 不支持 SQLite | 添加 `gorm.io/driver/sqlite` |
|
||
| `config.go` | DSN 中 Port 类型转换错误 | 在 database.go 用 `fmt.Sprintf("%d", port)` |
|
||
|
||
### 技术栈
|
||
|
||
**后端**
|
||
- Go 1.21+ / Gin / GORM
|
||
- SQLite (开发环境默认) / MySQL / PostgreSQL (生产可选)
|
||
- JWT 认证 / Zap 日志
|
||
|
||
**前端**
|
||
- React 18 + TypeScript + Vite
|
||
- Tailwind CSS + shadcn/ui 组件库
|
||
- Zustand 状态管理
|
||
|
||
### 端口分配
|
||
|
||
| 服务 | 端口 |
|
||
|------|------|
|
||
| 后端 API | 8080 |
|
||
| 前端 Dev Server | 5173 |
|
||
|
||
### 快速启动
|
||
|
||
```bash
|
||
cd ~/devops/aiops
|
||
./run.sh start # 启动前后端
|
||
./run.sh status # 查看状态
|
||
./run.sh stop # 停止
|
||
./run.sh restart # 重启
|
||
./run.sh logs # 实时日志
|
||
```
|
||
|
||
访问地址:
|
||
- 前端: http://localhost:5173
|
||
- 后端: http://localhost:8080
|
||
- 健康检查: http://localhost:8080/health
|
||
|
||
### 数据库
|
||
|
||
开发环境使用 SQLite,数据库文件位于 `backend/sqlite3.db`,首次启动时 GORM AutoMigrate 自动建表。
|
||
|
||
## 2026-06-14 02:30 自动推进
|
||
|
||
- **任务**: 修复仪表盘数据管线 — 补充应用发布种子数据 + 修复 limit 参数解析 bug + LDAP 认证集成 + User 类型完善
|
||
- **修改**:
|
||
- `backend/internal/api/handlers/dashboard.go` — 修复 GetRecentAlerts 的 limit 参数解析(原代码错误地将数字 limit 解析为日期字符串 `time.Parse("2006-01-02")`),为 GetRecentReleases 添加 limit 参数支持
|
||
- `backend/scripts/mock.go` — 新增 generateAppReleases() 生成 10 条应用发布种子数据;修复 AlertEvent 的 rule_id/rule_name/severity 数据一致性(原代码从不同随机规则分别取 id 和 name 导致不匹配)
|
||
- `backend/go.mod` / `go.sum` — 添加 github.com/go-ldap/ldap/v3 v3.4.10 依赖(GOTOOLCHAIN=local 避免 Go 1.24+ 工具链升级)
|
||
- `backend/cmd/seed.go` — 种子数据初始化(admin 用户 + LDAP 配置,仅首次启动)
|
||
- `backend/internal/api/handlers/ldap.go` — LDAP 认证处理器
|
||
- `backend/internal/models/user.go` — User model 添加 AuthSource 字段 + LDAPConfig model
|
||
- `frontend/src/types/index.ts` — 修复 User 类型定义,添加 real_name/is_admin/auth_source 等字段以匹配后端 API
|
||
- 多个前端组件联调优化(暗色主题、API 服务层、组件数据对接)
|
||
- **结果**:
|
||
- `go build ./...` 编译通过 ✅
|
||
- `npm run build` 构建通过 ✅
|
||
- 仪表盘「发布历史」区域从空白变为展示 5 条真实发布记录 ✅
|
||
- `?limit=N` 参数现在被正确解析 ✅
|
||
- 健康检查 /health 正常 ✅
|
||
- git push origin master 成功 (commit ff0b268) ✅
|
||
- **下一步建议**:
|
||
- 服务器管理模块的增删改查前后端联调验证
|
||
- K8s 集群监控数据展示(Pod/Deployment/Service 列表页面)
|
||
- 告警规则配置页面前端完善
|
||
- 成本统计从硬编码改为基于实际云账号数据计算
|