Resolve fastapi deprecation warning

This commit is contained in:
Stéphane Bidoul 2023-11-19 12:52:32 +01:00
parent 563f7b5a42
commit bc534e923c
2 changed files with 17 additions and 13 deletions

View file

@ -11,7 +11,7 @@ classifiers = [
]
dependencies = [
"ansi2html",
"fastapi",
"fastapi>=0.93",
"gunicorn",
"httpx",
"jinja2",

View file

@ -1,23 +1,27 @@
from collections.abc import AsyncGenerator
from contextlib import asynccontextmanager
from fastapi import FastAPI
from . import __version__, api, controller, k8s, webhooks, webui
@asynccontextmanager
async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
await k8s.load_kube_config()
await controller.controller.start()
yield
await controller.controller.stop()
app = FastAPI(
title="Runboat", description="Runbot on Kubernetes ☸️", version=__version__
title="Runboat",
description="Runbot on Kubernetes ☸️",
version=__version__,
lifespan=lifespan,
)
app.include_router(api.router, prefix="/api/v1", tags=["api"])
app.include_router(webhooks.router, tags=["webhooks"])
app.include_router(webui.router, tags=["webui"])
webui.mount(app)
@app.on_event("startup")
async def startup() -> None:
await k8s.load_kube_config()
await controller.controller.start()
@app.on_event("shutdown")
async def shutdown() -> None:
await controller.controller.stop()