feat: KVM虚拟化管理平台初始版本
This commit is contained in:
@@ -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)}
|
||||
Reference in New Issue
Block a user