Files
ai-tax-agent/scripts/health-check.sh
harkon b324ff09ef
Some checks failed
CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
CI/CD Pipeline / Policy Validation (push) Has been cancelled
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-firm-connectors) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-forms) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-hmrc) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ingestion) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-normalize-map) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ocr) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-indexer) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-reason) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rpa) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (ui-review) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (ui-review) (push) Has been cancelled
CI/CD Pipeline / Generate SBOM (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Notifications (push) Has been cancelled
Initial commit
2025-10-11 08:41:36 +01:00

76 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# Health Check Script
# Quick health check for all services
set -e
# Colors
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
DOMAIN="${DOMAIN:-harkon.co.uk}"
echo -e "${BLUE}AI Tax Agent - Health Check${NC}"
echo -e "${BLUE}============================${NC}"
echo ""
# Function to check endpoint
check_endpoint() {
local name=$1
local url=$2
local expected_code=${3:-200}
echo -n "Checking $name... "
response=$(curl -s -o /dev/null -w "%{http_code}" "$url" 2>/dev/null || echo "000")
if [ "$response" = "$expected_code" ] || [ "$response" = "200" ] || [ "$response" = "302" ]; then
echo -e "${GREEN}✓ OK ($response)${NC}"
return 0
else
echo -e "${RED}✗ FAILED ($response)${NC}"
return 1
fi
}
echo -e "${YELLOW}Infrastructure Services:${NC}"
check_endpoint "Vault" "https://vault.${DOMAIN}/v1/sys/health" "200"
check_endpoint "MinIO Console" "https://minio-console.${DOMAIN}" "200"
check_endpoint "Neo4j" "https://neo4j.${DOMAIN}" "200"
check_endpoint "Qdrant" "https://qdrant.${DOMAIN}" "200"
echo ""
echo -e "${YELLOW}Application Services:${NC}"
check_endpoint "API Health" "https://api.${DOMAIN}/health" "200"
check_endpoint "Ingestion" "https://api.${DOMAIN}/ingestion/health" "200"
check_endpoint "Extract" "https://api.${DOMAIN}/extract/health" "200"
check_endpoint "Knowledge Graph" "https://api.${DOMAIN}/kg/health" "200"
check_endpoint "RAG Retriever" "https://api.${DOMAIN}/rag-retriever/health" "200"
check_endpoint "RAG Indexer" "https://api.${DOMAIN}/rag-indexer/health" "200"
check_endpoint "Forms" "https://api.${DOMAIN}/forms/health" "200"
check_endpoint "HMRC" "https://api.${DOMAIN}/hmrc/health" "200"
check_endpoint "OCR" "https://api.${DOMAIN}/ocr/health" "200"
check_endpoint "RPA" "https://api.${DOMAIN}/rpa/health" "200"
check_endpoint "Normalize Map" "https://api.${DOMAIN}/normalize-map/health" "200"
check_endpoint "Reason" "https://api.${DOMAIN}/reason/health" "200"
check_endpoint "Firm Connectors" "https://api.${DOMAIN}/firm-connectors/health" "200"
check_endpoint "Coverage" "https://api.${DOMAIN}/coverage/health" "200"
echo ""
echo -e "${YELLOW}UI:${NC}"
check_endpoint "Review UI" "https://app.${DOMAIN}" "200"
echo ""
echo -e "${YELLOW}Monitoring:${NC}"
check_endpoint "Prometheus" "https://prometheus.${DOMAIN}/-/healthy" "200"
check_endpoint "Grafana" "https://grafana.${DOMAIN}/api/health" "200"
check_endpoint "Loki" "https://loki.${DOMAIN}/ready" "200"
echo ""
echo -e "${BLUE}Health check complete!${NC}"