mirror of
https://github.com/MengMengCode/CLICD.git
synced 2026-08-05 05:36:07 +08:00
43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
# 系统架构
|
||
|
||
CLICD 由 Go 后端、React 前端和宿主机虚拟化能力组成。
|
||
|
||
## 后端
|
||
|
||
后端入口在 `backend/main.go`,HTTP 服务路由集中在 `backend/internal/server/server.go`。主要模块:
|
||
|
||
- `internal/api`:Web 面板和 `/api/v1` 的 HTTP 接口。
|
||
- `internal/config`:配置和 SQLite 存储。
|
||
- `internal/lxc`:LXC 容器管理。
|
||
- `internal/kvm`:KVM/libvirt 虚拟机管理。
|
||
- `internal/cli`:命令行管理入口。
|
||
- `internal/server`:静态前端嵌入和 HTTP 服务。
|
||
- `internal/version`:版本号。
|
||
|
||
## 前端
|
||
|
||
前端入口在 `frontend/src/main.tsx`,页面位于 `frontend/src/pages`,通用组件位于 `frontend/src/components`。
|
||
|
||
主要页面:
|
||
|
||
- 控制面板:`Dashboard.tsx`
|
||
- 容器列表:`Containers.tsx`
|
||
- 容器详情:`ContainerDetail.tsx`
|
||
- 镜像管理:`ImageManagement.tsx`
|
||
- 安全告警:`Security.tsx`
|
||
- 快照管理:`Snapshots.tsx`
|
||
- 路由管理:`Routing.tsx`
|
||
- API 集成:`ApiIntegration.tsx`
|
||
- 主机报告:`HostReport.tsx`
|
||
- 子用户管理:`SubUserManagement.tsx`
|
||
|
||
## 前端嵌入
|
||
|
||
生产构建时,前端产物会放入 `backend/internal/server/web`,后端通过 Go embed 提供静态文件,并对非 API 路由返回 SPA 入口。
|
||
|
||
## 接口分层
|
||
|
||
- `/api/*`:Web 面板和兼容接口。
|
||
- `/api/v1/*`:推荐给外部自动化系统使用的版本化接口。
|
||
- WebSSH 和 WebVNC 使用短期票据后建立 WebSocket 连接。
|