39 lines
839 B
Python
39 lines
839 B
Python
from __future__ import annotations
|
|
|
|
import platform
|
|
import shutil
|
|
import socket
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from app.config import settings
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/health")
|
|
def health() -> dict[str, str]:
|
|
return {
|
|
"status": "online",
|
|
"agentVersion": settings.agent_version,
|
|
"hostname": socket.gethostname(),
|
|
"os": platform.platform(),
|
|
"architecture": platform.machine(),
|
|
}
|
|
|
|
|
|
@router.get("/system-info")
|
|
def system_info() -> dict[str, str]:
|
|
disk = shutil.disk_usage("/")
|
|
memory_total = "unknown"
|
|
return {
|
|
"hostname": socket.gethostname(),
|
|
"os": platform.platform(),
|
|
"kernel": platform.release(),
|
|
"architecture": platform.machine(),
|
|
"diskFree": f"{disk.free // (1024 ** 3)}GB",
|
|
"memoryTotal": memory_total,
|
|
}
|
|
|