25 lines
568 B
Bash
25 lines
568 B
Bash
#!/bin/sh
|
|
set -eu
|
|
HOST="${HEALTH_HOST:-127.0.0.1}"
|
|
PORT="${HEALTH_PORT:-8080}"
|
|
LIVENESS_PATH="${LIVENESS_PATH:-/health/liveness}"
|
|
READINESS_PATH="${READINESS_PATH:-/health/readiness}"
|
|
USER_AGENT="stellaops-healthcheck"
|
|
|
|
fetch() {
|
|
target_path="$1"
|
|
# BusyBox wget is available in Alpine; curl not assumed.
|
|
wget -qO- "http://${HOST}:${PORT}${target_path}" \
|
|
--header="User-Agent: ${USER_AGENT}" \
|
|
--timeout="${HEALTH_TIMEOUT:-4}" >/dev/null
|
|
}
|
|
|
|
fail=0
|
|
if ! fetch "$LIVENESS_PATH"; then
|
|
fail=1
|
|
fi
|
|
if ! fetch "$READINESS_PATH"; then
|
|
fail=1
|
|
fi
|
|
exit "$fail"
|