Files
aiops/docs/project-structure.md
T
Logan.Li 286decf0b0 docs: 同步 README 与 docs 至最新部署与版本方案
- 更新三种部署方式:embed 单容器、./aiops 根目录二进制
- 补充版本管理、release、lghost/aiops 镜像推送说明
- 修正过时的 docker 4 容器、backend/aiops、run.sh start 等描述
- 更新 project-structure、deployment、quick-start 等核心文档
2026-06-26 16:39:00 +08:00

5.1 KiB
Raw Blame History

项目结构

整体结构

aiops/
├── frontend/                    # 前端 (React 19 + TypeScript + Vite)
│   ├── src/
│   │   ├── components/          # 业务组件(单文件 <700 行)
│   │   │   ├── agent/           # Agent 监控
│   │   │   ├── aiops/           # AI 智能运维
│   │   │   ├── approval/        # 审批流程
│   │   │   ├── automation/      # 自动化运维
│   │   │   ├── cloud/           # 云平台管理
│   │   │   ├── dashboard/       # 仪表盘
│   │   │   ├── deploy/          # CI/CD 部署
│   │   │   ├── k8s/             # K8s 集群管理
│   │   │   ├── monitor/         # 监控告警
│   │   │   ├── server/          # 服务器管理
│   │   │   ├── system/          # 系统管理
│   │   │   └── ui/              # shadcn/ui 基础组件
│   │   ├── hooks/               # 自定义 Hooks
│   │   ├── services/            # API 封装 (api.ts / http.ts)
│   │   ├── store/               # Zustand 状态管理
│   │   └── types/               # TypeScript 类型
│   ├── package.json
│   ├── vite.config.ts
│   └── Dockerfile               # [legacy] 独立 Nginx 镜像
│
├── backend/                     # 后端 (Go 1.24 + Gin + GORM)
│   ├── main.go                  # 应用入口(CLI + HTTP 服务)
│   ├── embed.go                 # go:embed 前端静态资源
│   ├── static/                  # 前端构建产物(embed 目录)
│   ├── config/                  # Viper 配置加载
│   ├── controller/              # HTTP 处理器
│   ├── middleware/              # JWT / 日志 / CORS
│   ├── router/                  # 路由注册
│   ├── model/                   # GORM 数据模型
│   ├── dto/                     # 请求/响应 DTO
│   ├── service/                 # 业务逻辑层
│   ├── repository/              # 数据访问层
│   ├── seed/                    # 种子数据
│   ├── pkg/                     # 公共包
│   │   ├── database/            # DB 连接 + AutoMigrate
│   │   ├── kubernetesclient/    # 轻量 K8s 客户端
│   │   ├── remoteexec/          # Go-native SSH
│   │   └── toolinstaller/       # 工具懒加载
│   ├── config.yaml              # 默认配置
│   └── Dockerfile               # [legacy] 分离式后端镜像
│
├── agent/                       # 监控 Agent(独立 Go module)
│   ├── main.go                  # CLI 入口
│   ├── collector/               # /proc 指标采集
│   ├── task/                    # 远程任务执行
│   ├── reporter/                # HTTP 上报
│   └── deploy/                  # install.sh + systemd
│
├── deploy/kubernetes/           # K8s 清单 (devops 命名空间)
│   ├── namespace.yaml
│   ├── deployment.yaml          # embed 单容器, lghost/aiops:<tag>
│   ├── mysql.yaml / redis.yaml
│   └── ...
│
├── docs/                        # 开发文档(本目录)
├── docker-compose.yml           # MySQL + Redis + AIOps embed
├── docker-compose.k8s.yml       # 单应用 + 外部 DB
├── Dockerfile.embed             # embed 单容器镜像(推荐)
├── run.sh                       # 统一入口脚本
├── aiops                        # 独立二进制产物(gitignore)
└── README.md

部署相关文件

文件 用途
run.sh build / docker / kubernetes / release 统一入口
Dockerfile.embed 生产推荐:前端嵌入后端单容器
docker-compose.yml 3 容器:MySQL + Redis + AIOps
backend/static/ go:embed 目标,由 ./run.sh build 同步
./aiops 独立二进制输出路径(项目根目录)

技术栈

前端

技术 版本 用途
React 19+ 前端框架
TypeScript 5+ 类型安全
Vite 7+ 构建工具
Tailwind CSS 3+ 样式框架
shadcn/ui - UI 组件库
Zustand - 状态管理
TanStack Query - 数据请求

后端

技术 版本 用途
Go 1.24+ 编程语言
Gin v1.10+ Web 框架
GORM v1.25+ ORM
JWT v5 认证
Viper - 配置管理
Zap - 结构化日志
SQLite / MySQL / Redis - 存储

端口分配

服务 端口 说明
前端 (Vite dev) 5173 开发模式
后端 / embed 部署 8080 API + WebSocket + SPA
Docker Compose MySQL 3306 可选暴露
K8s NodePort 30080 集群外访问

版本信息注入

编译时通过 ldflags 注入 main.Version / BuildTime / GitCommit:

  • ./run.sh build / ./run.sh build tag v1.5.0
  • Dockerfile.embed 构建参数 VERSION / BUILD_TIME / GIT_COMMIT
  • 运行时:./aiops version、GET /version