Files
MengMengCode c63ce02709 docs
2026-06-09 00:44:00 +08:00

1.4 KiB
Raw Permalink Blame History

系统架构

CLICD 由 Go 后端、React 前端和宿主机虚拟化能力组成。

后端

后端入口在 backend/main.goHTTP 服务路由集中在 backend/internal/server/server.go。主要模块:

  • internal/apiWeb 面板和 /api/v1 的 HTTP 接口。
  • internal/config:配置和 SQLite 存储。
  • internal/lxcLXC 容器管理。
  • internal/kvmKVM/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 连接。