initial - add implementation for simple crowdsec app to list and delete non-CAPI decisions

This commit is contained in:
Viktor Barzin 2025-10-14 19:21:36 +00:00
commit 9aaf3d32d0
No known key found for this signature in database
GPG key ID: 4056458DBDBF8863
7 changed files with 349 additions and 0 deletions

21
app/main.py Normal file
View file

@ -0,0 +1,21 @@
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from app.api import router as api_router
from app.crowdsec_api import list_decisions
app = FastAPI(title="CrowdSec Web UI")
# Include API
app.include_router(api_router, prefix="/api")
# Templates
templates = Jinja2Templates(directory="app/templates")
@app.get("/", response_class=HTMLResponse)
async def index(request: Request):
decisions = await list_decisions()
return templates.TemplateResponse(
"index.html", {"request": request, "decisions": decisions}
)