文件 v0.1.7

架構

本頁以一張圖呈現 QemuRun-pve 各層與 Proxmox 叢集之間的關係。

系統概覽

graph TB
    Client[客戶端] -->|HTTP / SSE| Gin[Gin 路由 + CORS]
    Gin --> Handler[Handler 層<br/>ALLOW_IPS / 狀態檢查]
    Handler --> Util[Util<br/>VM / 節點查詢]
    Handler --> Service[Service 層]
    Util -->|pvesh| PVE[(Proxmox 叢集 API)]
    Util --> Disabled[.go_qemu_disabled]
    Service -->|qm / pvesh / pvesm| Main[主節點]
    Service -->|SSH root@NODE_x + qm| Remote[遠端節點]
    Service -->|HTTP| Mirror[官方 Cloud Image 鏡像站]
    Service -->|SSH| VM[新 VM]
    VM -->|curl /sh/os_version.sh| Gin

分層

層 位置 職責
進入點 cmd/api/main.go 載入 .env、檢查 PORT/GATEWAY、掛載 /sh 靜態目錄、啟動 Gin
Config internal/config CORS 中介層與 /api 路由註冊
Handler internal/handler 解析參數、ALLOW_IPS 與 VM 狀態前置檢查、選擇純文字/JSON/SSE 回應
Service internal/service 所有 qm/pvesh/pvesm/ssh 呼叫、安裝流程、資源配置、SSE 推送
Util internal/util 叢集 VM/節點查詢、停用清單、ALLOW_IPS 比對
Model internal/model 請求、回應與 SSE 結構

跨層原則

延伸閱讀

模組內部結構、序列圖與 VM 狀態機見 doc/architecture.zh.md。

EN