feat: KVM虚拟化管理平台初始版本

This commit is contained in:
admin
2026-04-30 15:51:48 +08:00
commit fac8ab7470
42 changed files with 5621 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
"""FastAPI 主应用"""
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.config import settings
from app.routers import vm, storage, network, snapshot, monitor
app = FastAPI(
title=settings.APP_NAME,
version=settings.APP_VERSION,
description="KVM 虚拟化管理平台 API",
)
# CORS
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# 注册路由
app.include_router(vm.router, prefix=f"{settings.API_PREFIX}/vm", tags=["虚拟机管理"])
app.include_router(storage.router, prefix=f"{settings.API_PREFIX}/storage", tags=["存储管理"])
app.include_router(network.router, prefix=f"{settings.API_PREFIX}/network", tags=["网络管理"])
app.include_router(snapshot.router, prefix=f"{settings.API_PREFIX}/snapshot", tags=["快照管理"])
app.include_router(monitor.router, prefix=f"{settings.API_PREFIX}/monitor", tags=["资源监控"])
@app.get("/")
async def root():
return {"name": settings.APP_NAME, "version": settings.APP_VERSION}
@app.get(f"{settings.API_PREFIX}/host")
async def host_info():
"""获取宿主机信息"""
from app.libvirt_conn import libvirt_conn
return libvirt_conn.get_host_info()
@app.get("/health")
async def health():
"""健康检查"""
from app.libvirt_conn import libvirt_conn
try:
conn = libvirt_conn.conn
return {"status": "ok", "libvirt": conn.isAlive()}
except Exception as e:
return {"status": "error", "message": str(e)}