Files
proxmox/scripts/validation/validate-reserve-provenance-package.sh

29 lines
1.3 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Validate 3FR reserve provenance package JSON files against schemas/reserve-provenance-package.schema.json
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
PKG="$ROOT/config/reserve-provenance-package"
SCHEMA="$PKG/schemas/reserve-provenance-package.schema.json"
if ! command -v check-jsonschema &>/dev/null; then
if [[ "${SCHEMA_STRICT:-0}" == "1" ]]; then
echo "error: check-jsonschema not found; pip install check-jsonschema" >&2
exit 1
fi
for f in "$PKG"/legal/*.json "$PKG"/settlement/*.json "$PKG"/provenance/*.json "$PKG"/bank/*.json "$PKG"/kyt/*.json "$PKG"/reconciliation/*.json "$PKG"/reserve/*.json "$PKG"/governance/*.json; do
[[ -f "$f" ]] || continue
[[ "$f" == *.example.json ]] && continue
python3 -m json.tool "$f" >/dev/null
echo "OK parse $f"
done
echo "skip: check-jsonschema not installed (JSON parse only)"
exit 0
fi
for f in "$PKG"/legal/*.json "$PKG"/settlement/*.json "$PKG"/provenance/*.json "$PKG"/bank/*.json "$PKG"/kyt/*.json "$PKG"/reconciliation/*.json "$PKG"/reserve/*.json "$PKG"/governance/*.json; do
[[ -f "$f" ]] || continue
[[ "$f" == *.example.json ]] && continue
check-jsonschema --schemafile "$SCHEMA" "$f"
done
echo "OK reserve-provenance-package (10 JSON files + schema)"