Add database overview feature with metrics and UI enhancements

This commit introduces a detailed database overview endpoint and service, providing key metrics such as replication status, database sizes, and performance indicators. On the frontend, a new UI section displays these metrics along with improved forms and troubleshooting tips. Enhancements improve user experience by adding informative tooltips and formatting for byte and time values.
This commit is contained in:
2026-02-12 10:00:13 +01:00
parent d1d8ae43a4
commit f12dd46c21
10 changed files with 643 additions and 15 deletions

View File

@@ -0,0 +1,29 @@
from dataclasses import dataclass
@dataclass
class DiskSpaceProbeResult:
source: str
status: str
free_bytes: int | None = None
message: str | None = None
class DiskSpaceProvider:
async def get_free_bytes(self, target_host: str) -> DiskSpaceProbeResult:
raise NotImplementedError
class NullDiskSpaceProvider(DiskSpaceProvider):
async def get_free_bytes(self, target_host: str) -> DiskSpaceProbeResult:
return DiskSpaceProbeResult(
source="none",
status="unavailable",
free_bytes=None,
message=f"No infra probe configured for host {target_host}. Add SSH/Agent provider later.",
)
def get_disk_space_provider() -> DiskSpaceProvider:
# Extension point: replace by SSH/Agent backed implementation.
return NullDiskSpaceProvider()