68 lines
1.5 KiB
Bash
68 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
if [[ -n "${ATLAS_VALIDATION_SH_LOADED:-}" ]]; then
|
|
return 0
|
|
fi
|
|
ATLAS_VALIDATION_SH_LOADED=1
|
|
|
|
ATLAS_VALIDATION_PASS=0
|
|
ATLAS_VALIDATION_WARNING=0
|
|
ATLAS_VALIDATION_FAIL=0
|
|
ATLAS_VALIDATION_SKIPPED=0
|
|
|
|
atlas_validation_reset() {
|
|
ATLAS_VALIDATION_PASS=0
|
|
ATLAS_VALIDATION_WARNING=0
|
|
ATLAS_VALIDATION_FAIL=0
|
|
ATLAS_VALIDATION_SKIPPED=0
|
|
}
|
|
|
|
atlas_validation_result() {
|
|
local status="$1"
|
|
local message="$2"
|
|
case "$status" in
|
|
PASS)
|
|
ATLAS_VALIDATION_PASS=$((ATLAS_VALIDATION_PASS + 1))
|
|
;;
|
|
WARNING)
|
|
ATLAS_VALIDATION_WARNING=$((ATLAS_VALIDATION_WARNING + 1))
|
|
;;
|
|
FAIL)
|
|
ATLAS_VALIDATION_FAIL=$((ATLAS_VALIDATION_FAIL + 1))
|
|
;;
|
|
SKIPPED)
|
|
ATLAS_VALIDATION_SKIPPED=$((ATLAS_VALIDATION_SKIPPED + 1))
|
|
;;
|
|
*)
|
|
status="FAIL"
|
|
ATLAS_VALIDATION_FAIL=$((ATLAS_VALIDATION_FAIL + 1))
|
|
;;
|
|
esac
|
|
printf '%-7s %s\n' "$status" "$message"
|
|
}
|
|
|
|
atlas_validation_summary() {
|
|
printf 'Summary: PASS=%s WARNING=%s FAIL=%s SKIPPED=%s\n' \
|
|
"$ATLAS_VALIDATION_PASS" \
|
|
"$ATLAS_VALIDATION_WARNING" \
|
|
"$ATLAS_VALIDATION_FAIL" \
|
|
"$ATLAS_VALIDATION_SKIPPED"
|
|
}
|
|
|
|
atlas_validation_exit_code() {
|
|
if [[ "$ATLAS_VALIDATION_FAIL" -gt 0 ]]; then
|
|
return "${ATLAS_EXIT_VALIDATION:-4}"
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
atlas_bytes_available() {
|
|
local path="$1"
|
|
df -B1 --output=avail "$path" 2>/dev/null | awk 'NR == 2 {print $1}'
|
|
}
|
|
|
|
atlas_gib_to_bytes() {
|
|
local gib="$1"
|
|
awk -v gib="$gib" 'BEGIN {printf "%.0f\n", gib * 1024 * 1024 * 1024}'
|
|
}
|