Files
gravl/monitoring/health_check.sh
clawd 1f2a892391 feat(frontend): Kinetic Precision design system — new lime theme, glassmorphism, redesigned pages
- New design system: Stitch (kinetic-precision.css) with lime (#cafd00) accent
- New Google Fonts: Lexend, Plus Jakarta Sans, Space Grotesk
- New page: BenchmarksPage with strength/endurance/body tracking
- Redesigned: Dashboard, ProgressPage, WorkoutPage, LoginPage + LoginPage.css
- Add shared glassmorphism nav, kinetic buttons, intensity indicators
- Build: 265KB JS / 88KB CSS / 2.54s (clean)
2026-04-27 08:49:23 +02:00

37 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Gravl Monitoring Check - Phase 10-09 Pre-Launch
# Runs periodic health checks on staging and readiness for production components.
TIMESTAMP=$(date -Iseconds)
REPORT_FILE="/workspace/gravl/monitoring/health_report.json"
echo "Running Gravl Health Check: $TIMESTAMP"
# 1. Check Staging API Health (Example endpoint)
STAGING_API_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://api.staging.gravl.example.com/health || echo "FAIL")
# 2. Check Cert-Manager Pods
CERT_MANAGER_STATUS=$(kubectl get pods -n cert-manager --no-headers | awk '{print $3}' | grep -v Running | wc -l)
if [ "$CERT_MANAGER_STATUS" -eq 0 ]; then CERT_STATUS="HEALTHY"; else CERT_STATUS="UNHEALTHY"; fi
# 3. Check Sealed Secrets Pods
SEALED_SECRETS_STATUS=$(kubectl get pods -n kube-system -l app.kubernetes.io/name=sealed-secrets --no-headers | awk '{print $3}' | grep -v Running | wc -l)
if [ "$SEALED_SECRETS_STATUS" -eq 0 ]; then SEALED_STATUS="HEALTHY"; else SEALED_STATUS="UNHEALTHY"; fi
# 4. Check Staging Latency
LATENCY=$(curl -s -o /dev/null -w "%{time_total}" https://api.staging.gravl.example.com/health || echo "0")
# Generate JSON Report
cat <<EOF > "$REPORT_FILE"
{
"timestamp": "$TIMESTAMP",
"staging_api_http_code": "$STAGING_API_STATUS",
"cert_manager": "$CERT_STATUS",
"sealed_secrets": "$SEALED_STATUS",
"latency_ms": $(echo "$LATENCY * 1000" | bc -l 2>/dev/null || echo 0),
"summary": "Staging environment is $([ "$STAGING_API_STATUS" == "200" ] && echo "ONLINE" || echo "OFFLINE"). Infrastructure components: Cert-Manager ($CERT_STATUS), Sealed-Secrets ($SEALED_STATUS)."
}
EOF
echo "Health report generated at $REPORT_FILE"