Files
NexaPG/backend/app/services/infra_probe.py
nessi f12dd46c21 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.
2026-02-12 10:00:13 +01:00

30 lines
836 B
Python

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()