"""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)}