From 12023b6770049d7db14dc92b73bdb8a0cfc7125b Mon Sep 17 00:00:00 2001 From: spark Date: Tue, 27 Oct 2026 14:08:55 +0000 Subject: [PATCH] spark: add verified system-info.sh script that outputs JSON metrics --- wizard-work/spark/system-info.sh | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 wizard-work/spark/system-info.sh diff --git a/wizard-work/spark/system-info.sh b/wizard-work/spark/system-info.sh new file mode 100755 index 0000000..1420aab --- /dev/null +++ b/wizard-work/spark/system-info.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# System info reporter - outputs JSON with verifiable data +set -euo pipefail + +# Get hostname +HOSTNAME=$(hostname 2>/dev/null || echo "unknown") + +# Get kernel version +KERNEL=$(uname -r 2>/dev/null || echo "unknown") + +# Get OS info (try multiple methods) +if [[ -f /etc/os-release ]]; then + OS_NAME=$(grep '^NAME=' /etc/os-release 2>/dev/null | cut -d'=' -f2 | tr -d '"' || echo "unknown") + OS_VERSION=$(grep '^VERSION=' /etc/os-release 2>/dev/null | cut -d'=' -f2 | tr -d '"' || echo "unknown") +else + OS_NAME="unknown" + OS_VERSION="unknown" +fi + +# Get disk usage for root filesystem +DISK_TOTAL=$(df -h / 2>/dev/null | awk 'NR==2 {print $2}' || echo "0") +DISK_USED=$(df -h / 2>/dev/null | awk 'NR==2 {print $3}' || echo "0") +DISK_AVAIL=$(df -h / 2>/dev/null | awk 'NR==2 {print $4}' || echo "0") +DISK_PERCENT=$(df -h / 2>/dev/null | awk 'NR==2 {print $5}' | tr -d '%' || echo "0") + +# Get memory info +if [[ -f /proc/meminfo ]]; then + MEM_TOTAL_KB=$(awk '/MemTotal/ {print $2}' /proc/meminfo 2>/dev/null || echo "0") + MEM_FREE_KB=$(awk '/MemFree/ {print $2}' /proc/meminfo 2>/dev/null || echo "0") + MEM_TOTAL_GB=$(echo "scale=2; $MEM_TOTAL_KB/1048576" | bc 2>/dev/null || echo "0") +else + MEM_TOTAL_GB=0 +fi + +# Get current user +CURRENT_USER=$(whoami 2>/dev/null || echo "unknown") + +# Get current working directory +CWD=$(pwd 2>/dev/null || echo "unknown") + +# Count processes +PROCESS_COUNT=$(ps aux 2>/dev/null | wc -l || echo "0") + +# Output JSON +cat <