57 lines
1.1 KiB
Bash
Executable File
57 lines
1.1 KiB
Bash
Executable File
#! /bin/sh
|
|
cd "$(dirname "$0")" || exit 1
|
|
|
|
. ./util.sh
|
|
. ./.env.sh
|
|
|
|
urlencode() {
|
|
string="$1"
|
|
i=1
|
|
len=${#string}
|
|
while [ $i -le $len ]; do
|
|
c=$(printf "%s" "$string" | cut -c $i)
|
|
printf '%%%02X' "'$c"
|
|
i=$((i + 1))
|
|
done
|
|
printf '\n'
|
|
}
|
|
|
|
report() {
|
|
curl -X POST --retry 3 "$API_URL/health-check/$API_KEY?rkid=$resource_kind_id&name=$(urlencode "$2")&status=$1" --data-raw "$3" >/dev/null 2>&1
|
|
}
|
|
|
|
ok() {
|
|
report 0 "$1" "$3"
|
|
printf '[OK] %s\n' "$3"
|
|
}
|
|
|
|
warn() {
|
|
report 1 "$1" "$3"
|
|
printf '[WARN] %s\n' "$3"
|
|
}
|
|
|
|
run_module() {
|
|
set -eu
|
|
|
|
. "$1"
|
|
printf '%s\n' "$name"
|
|
|
|
if [ "$available" -ne 1 ]; then
|
|
printf 'not available\n'
|
|
return
|
|
fi
|
|
|
|
resource_kind_id="$(curl -X POST --retry 3 "$API_URL/create-resource/$API_KEY/?slug=$(urlencode "$slug")&display_name=$(urlencode "$name")" 2>/dev/null)"
|
|
|
|
check
|
|
}
|
|
|
|
ls modules | while IFS= read -r module; do
|
|
[ -f "modules/$module" ] || continue
|
|
( run_module "modules/$module" )
|
|
if [ "$?" -ne 0 ]; then
|
|
printf 'Error running module: %s\n' "$module"
|
|
fi
|
|
printf '\n'
|
|
done
|