Some checks failed
Lint & Format / detect (push) Failing after 26s
Monorepo Lint / lint-shell (push) Failing after 28s
Monorepo Lint / lint-js (push) Failing after 42s
Lint & Format / js-lint (push) Has been skipped
Lint & Format / py-lint (push) Has been skipped
Lint & Format / sh-lint (push) Has been skipped
Lint & Format / go-lint (push) Has been skipped
RoadChain-SHA2048: 921fa76197cdf4e0 RoadChain-Identity: alexa@sovereign RoadChain-Full: 921fa76197cdf4e090a2abe472c43796af1f90f41140c0d01a2d1bd50647bc6f5246d40b0f061bcf5529b73449b2988cd7eeea655ed2776280a2fdfdbcfcaf4647ce3414a82beae592c91871fcd139d15a0efc61105ebebccd5509b739a16af10dbe6fa5c5270175c2fd737cbf62d905db76fb37404e58e56f0d142342144a811bd43f38be7782745c720d7bfda9e88c60ab2a2560a770d4216edc0fc4250ffef382164ade925645e7c2ee53389a2da2b0656a9786f314fc0bd416302615c14ed39eecf53523df392365e2f153195670a283692f71fa99e312f3205c32cbbe2523ba57ebf42697acd0e1e2b315e1ee477385d4e36d92e1067f3f3e441d43cae7
36 lines
1.3 KiB
Bash
Executable File
36 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# BlackRoad Fleet Daily Summary — posts to Slack every morning
|
|
source ~/.blackroad/config/nodes.sh 2>/dev/null
|
|
|
|
SLACK="https://blackroad-slack.amundsonalexa.workers.dev/post"
|
|
UP=0; DOWN=0; REPORT=""
|
|
|
|
for name in alice cecilia octavia aria lucidia; do
|
|
ip="${NODE_IP[$name]:-unknown}"
|
|
if ping -c1 -W2 "$ip" &>/dev/null; then
|
|
data=$(ssh $BR_SSH_OPTS "$(br_ssh_target "$name")" "
|
|
load=\$(cat /proc/loadavg | awk '{print \$1}')
|
|
temp=\$(cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null | awk '{printf \"%.0f\", \$1/1000}' || echo '?')
|
|
disk=\$(df / | awk 'NR==2 {print \$5}')
|
|
up=\$(uptime -p | sed 's/up //')
|
|
echo \"\$load|\$temp|\$disk|\$up\"
|
|
" 2>/dev/null)
|
|
if [[ -n "$data" ]]; then
|
|
IFS='|' read -r load temp disk uptime <<< "$data"
|
|
REPORT="$REPORT\n• *$name* — load:$load temp:${temp}°C disk:$disk up:$uptime"
|
|
UP=$((UP+1))
|
|
else
|
|
REPORT="$REPORT\n• *$name* — ⚠️ SSH failed"
|
|
DOWN=$((DOWN+1))
|
|
fi
|
|
else
|
|
REPORT="$REPORT\n• *$name* — 🔴 offline"
|
|
DOWN=$((DOWN+1))
|
|
fi
|
|
done
|
|
|
|
MSG="📊 *Fleet Daily Summary* — $(date '+%A %B %d')\n\n${UP} online, ${DOWN} offline\n${REPORT}\n\n_BlackRoad OS — Pave Tomorrow._"
|
|
|
|
curl -s -X POST "$SLACK" -H "Content-Type: application/json" \
|
|
-d "{\"text\":\"$MSG\"}" >/dev/null 2>&1
|