mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 06:57:17 -05:00
Co-authored-by: blackboxprogramming <118287761+blackboxprogramming@users.noreply.github.com>
51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
name: Production Health Check
|
|
|
|
on:
|
|
schedule:
|
|
# Run every hour
|
|
- cron: '0 * * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
health-check:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Check service health
|
|
run: |
|
|
echo "Checking health endpoints..."
|
|
|
|
# Read service URLs from environment or config
|
|
SERVICES=(
|
|
"https://api.blackroad.io/health"
|
|
"https://agents.blackroad.io/health"
|
|
"https://monitoring.blackroad.io/health"
|
|
)
|
|
|
|
FAILED=0
|
|
for url in "${SERVICES[@]}"; do
|
|
echo "Testing: $url"
|
|
if curl -f -s -o /dev/null -w "%{http_code}" "$url" | grep -q "200"; then
|
|
echo "✅ $url is healthy"
|
|
else
|
|
echo "❌ $url is unhealthy"
|
|
FAILED=$((FAILED + 1))
|
|
fi
|
|
done
|
|
|
|
if [ $FAILED -gt 0 ]; then
|
|
echo "⚠️ $FAILED service(s) failed health check (may be offline/unreachable)"
|
|
echo "::warning::$FAILED service(s) failed health check"
|
|
else
|
|
echo "✅ All services healthy"
|
|
fi
|
|
|
|
- name: Notify on failure
|
|
if: failure()
|
|
run: |
|
|
echo "Health check failed! Notification would be sent here."
|
|
# Add Slack/Discord/email notification here
|