Add roster management interface and related API endpoints

- Implemented a new `/roster` endpoint to retrieve and manage device configurations.
- Added HTML template for the roster page with a table to display device status and actions.
- Introduced functionality to add, edit, and delete devices via the roster interface.
- Enhanced `ConfigPayload` model to include polling options.
- Updated the main application to serve the new roster page and link to it from the index.
- Added validation for polling interval in the configuration payload.
- Created detailed documentation for the roster management features and API endpoints.
This commit is contained in:
serversdwn
2026-01-17 08:00:05 +00:00
parent 182920809d
commit 82651f71b5
5 changed files with 1175 additions and 10 deletions

View File

@@ -72,6 +72,11 @@ def index(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
@app.get("/roster", response_class=HTMLResponse)
def roster(request: Request):
return templates.TemplateResponse("roster.html", {"request": request})
@app.get("/health")
async def health():
"""Basic health check endpoint."""