61 lines
1.8 KiB
YAML
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
|