XuqmGroup-PrivateDeploy/scripts/healthcheck.sh

35 行
856 B
Bash

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
. "$ROOT_DIR/scripts/lib.sh"
load_env
audit "healthcheck" "STARTED" "running checks"
progress "healthcheck" "STARTED" "running checks"
require_cmd docker
STATUS="UP"
WARNINGS="[]"
if ! docker ps >/dev/null 2>&1; then
STATUS="DOWN"
fi
cat > "$ROOT_DIR/.deploy-state/last-healthcheck.json" <<EOF
{
"status": "$STATUS",
"version": "${PRIVATE_VERSION:-2026.05.18-private.1}",
"mysql": {"mode": "${MYSQL_MODE:-external}", "status": "UNKNOWN"},
"redis": {"mode": "${REDIS_MODE:-external}", "status": "UNKNOWN"},
"warnings": $WARNINGS
}
EOF
audit "healthcheck" "$STATUS" "healthcheck finished"
progress "healthcheck" "$STATUS" "healthcheck finished"
[ "$STATUS" = "UP" ] || fail_json "XUQM_PRIVATE_4001" "docker is not available" "healthcheck"