Add info-json command for server hardware inventory
All checks were successful
Build-Test-Publish / build (linux/amd64) (push) Successful in 31s
Build-Test-Publish / build (linux/arm64) (push) Successful in 1m29s

This commit is contained in:
j
2026-03-31 19:52:08 +13:00
parent a5a12e3689
commit 0936c3c98e
2 changed files with 190 additions and 0 deletions

View File

@@ -34,6 +34,9 @@ RAM_USED_MB=$(( RAM_TOTAL_MB - RAM_AVAIL_MB ))
DISK_ROOT_USED_GB=$(df -BG / 2>/dev/null | awk 'NR==2{gsub(/G/,"",$3); print $3}' || echo "0")
DISK_ROOT_TOTAL_GB=$(df -BG / 2>/dev/null | awk 'NR==2{gsub(/G/,"",$2); print $2}' || echo "0")
# Largest disk by total capacity (across all mounted filesystems)
DISK_LARGEST_TOTAL_GB=$(df -BG 2>/dev/null | awk 'NR>1{gsub(/G/,"",$2); if($2+0 > max) max=$2+0} END{print max+0}')
# Disk /tank (only if mounted)
DISK_TANK_USED_GB=""
DISK_TANK_TOTAL_GB=""
@@ -101,6 +104,7 @@ echo -n ',"ram_used_mb":"'; json_escape "$RAM_USED_MB"; echo -n '"'
echo -n ',"ram_total_mb":"'; json_escape "$RAM_TOTAL_MB"; echo -n '"'
echo -n ',"disk_root_used_gb":"'; json_escape "$DISK_ROOT_USED_GB"; echo -n '"'
echo -n ',"disk_root_total_gb":"'; json_escape "$DISK_ROOT_TOTAL_GB"; echo -n '"'
echo -n ',"disk_largest_total_gb":"'; json_escape "$DISK_LARGEST_TOTAL_GB"; echo -n '"'
echo -n ',"disk_tank_used_gb":"'; json_escape "$DISK_TANK_USED_GB"; echo -n '"'
echo -n ',"disk_tank_total_gb":"'; json_escape "$DISK_TANK_TOTAL_GB"; echo -n '"'
echo -n ',"ip_local":"'; json_escape "$IP_LOCAL"; echo -n '"'