Files
simple-private-codecollection/codebundles/system-info-check-bash/.runwhen/raw_script.sh
T
2026-07-06 15:43:49 -04:00

62 lines
2.2 KiB
Bash

#!/bin/bash
main() {
issues='[]'
issue=''
total=0
failed=0
name="$(uname -n 2>/dev/null || echo 'unknown')"
total=$((total + 1))
if [ "$name" != "unknown" ]; then
issue=$(jq -n --arg n "$name" '{
"issue title": "Hostname collected successfully",
"issue description": ("Hostname retrieved: " + $n),
"issue severity": 4,
"issue next steps": "No action needed. Informational check."
}')
issues=$(echo "$issues" | jq --argjson i "$issue" '. += [$i]')
else
failed=$((failed + 1))
issue=$(jq -n '{
"issue title": "Failed to collect hostname",
"issue description": "uname -n returned no output",
"issue severity": 2,
"issue next steps": "Check runner image and available commands."
}')
issues=$(echo "$issues" | jq --argjson i "$issue" '. += [$i]')
fi
uptime_str="$(uptime 2>/dev/null || echo 'unavailable')"
total=$((total + 1))
issue=$(jq -n --arg u "$uptime_str" '{
"issue title": "Uptime collected",
"issue description": ("System uptime info: " + $u),
"issue severity": 4,
"issue next steps": "No action needed. Informational check."
}')
issues=$(echo "$issues" | jq --argjson i "$issue" '. += [$i]')
disks=$(df -h / 2>/dev/null | tail -1 | awk '{print $4, $5}' || echo 'unknown')
total=$((total + 1))
issue=$(jq -n --arg d "$disks" '{
"issue title": "Disk space collected",
"issue description": ("Root filesystem available/full: " + $d),
"issue severity": 4,
"issue next steps": "No action needed. Informational check."
}')
issues=$(echo "$issues" | jq --argjson i "$issue" '. += [$i]')
summary=$(jq -n \
--arg t "$total" \
--arg f "$failed" \
'{
"issue title": "System Info Check (Bash) — Summary",
"issue description": ("Checked " + $t + " system commands; " + $f + " failed."),
"issue severity": 4,
"issue next steps": "Informational. Review details in description."
}')
issues=$(echo "$issues" | jq --argjson i "$summary" '. += [$i]')
echo "$issues" >&3
}