bmc_hub/app/backups/frontend/views.py
Christian 6c4042b9b6 feat: Implement SFTP offsite backup functionality (v1.3.75)
- Add SFTP upload support with paramiko
- Add database columns for offsite tracking (status, location, attempts, error)
- Add manual upload endpoint /api/v1/backups/offsite/{job_id}
- Add frontend button for offsite upload
- Add SFTP configuration in config.py
- Fix infinite loop in _ensure_remote_directory for relative paths
- Add upload verification and retry mechanism
- Add progress tracking and logging
2026-01-02 12:35:02 +01:00

21 lines
554 B
Python

"""
Backup Frontend Views
Serves HTML pages for backup system dashboard
"""
from fastapi import APIRouter, Request
from fastapi.templating import Jinja2Templates
from fastapi.responses import HTMLResponse
router = APIRouter()
templates = Jinja2Templates(directory="app/backups/templates")
@router.get("/backups", response_class=HTMLResponse)
async def backups_dashboard(request: Request):
"""Backup system dashboard page"""
return templates.TemplateResponse("index.html", {
"request": request,
"title": "Backup System"
})