46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
# Ensure models are imported so metadata is populated
|
|
import backend.db.import_all_models # noqa: F401
|
|
from backend.modules.auth.router import router as auth_router
|
|
from backend.modules.users.router import router as users_router
|
|
from backend.modules.customers.router import router as customers_router
|
|
from backend.modules.aws_accounts.router import router as aws_credentials_router
|
|
from backend.modules.instances.router import router as instances_router
|
|
from backend.modules.jobs.router import router as jobs_router
|
|
from backend.modules.audit.router import router as audit_router
|
|
from backend.modules.settings.router import router as settings_router
|
|
from backend.modules.menus.router import router as menus_router
|
|
from backend.modules.instances.service import start_global_sync_scheduler
|
|
|
|
app = FastAPI(title="AWS EC2 Panel", version="0.2.0")
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
|
|
@app.get("/healthz")
|
|
async def healthz():
|
|
return {"status": "ok"}
|
|
|
|
|
|
app.include_router(auth_router)
|
|
app.include_router(users_router)
|
|
app.include_router(customers_router)
|
|
app.include_router(aws_credentials_router)
|
|
app.include_router(instances_router)
|
|
app.include_router(jobs_router)
|
|
app.include_router(audit_router)
|
|
app.include_router(settings_router)
|
|
app.include_router(menus_router)
|
|
|
|
|
|
@app.on_event("startup")
|
|
async def _start_background_tasks():
|
|
start_global_sync_scheduler()
|