Files
fleet-dashboard/.gitea/workflows/health-check.yml

61 lines
1.8 KiB
YAML

# BlackRoad OS — Pave Tomorrow.
# Nightly fleet health check — updates dashboard
name: Fleet Health Check
on:
schedule:
- cron: "0 6 * * *"
workflow_dispatch:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check worker health
run: |
echo "# Fleet Health Report — $(date -u +%Y-%m-%d)" > HEALTH.md
echo "" >> HEALTH.md
echo "| Service | Status | Latency |" >> HEALTH.md
echo "|---------|--------|---------|" >> HEALTH.md
WORKERS=(
"roadcode-squad.amundsonalexa.workers.dev"
"squad-webhook.amundsonalexa.workers.dev"
"pay.blackroad.io"
"auth.blackroad.io"
"stripe.blackroad.io"
"stats-blackroad.amundsonalexa.workers.dev"
"analytics-blackroad.amundsonalexa.workers.dev"
)
ALL_OK=true
for w in "${WORKERS[@]}"; do
START=$(date +%s%N)
CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 "https://$w/health" 2>/dev/null || echo "000")
END=$(date +%s%N)
MS=$(( (END - START) / 1000000 ))
if [ "$CODE" = "200" ]; then
echo "| $w | ✅ | ${MS}ms |" >> HEALTH.md
else
echo "| $w | ❌ ($CODE) | ${MS}ms |" >> HEALTH.md
ALL_OK=false
fi
done
echo "" >> HEALTH.md
echo "---" >> HEALTH.md
echo "*Generated $(date -u) — BlackRoad OS*" >> HEALTH.md
cat HEALTH.md
- name: Commit health report
run: |
git config user.name "BlackRoad CI"
git config user.email "ci@blackroad.io"
git add HEALTH.md
git diff --cached --quiet || git commit -m "Update health report — $(date -u +%Y-%m-%d)"
git push || true