#!/usr/bin/env bash
# CONNECTED staging host only. Use a new snapshot directory each time.
set -euo pipefail
root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
export GRYPE_DB_CACHE_DIR="$(realpath -m "${1:?Usage: refresh-grype-db.sh NEW_CACHE_DIRECTORY}")"
[[ ! -e "$GRYPE_DB_CACHE_DIR" ]] || { echo 'Use a new cache directory' >&2; exit 2; }
mkdir -p "$GRYPE_DB_CACHE_DIR"
export GRYPE_CHECK_FOR_APP_UPDATE=false
"$root/bin/grype" db update
"$root/bin/grype" db status -o json > "$GRYPE_DB_CACHE_DIR/snapshot-status.json"
chmod -R a+rX "$GRYPE_DB_CACHE_DIR"
echo 'Transfer this entire cache directory; regenerate and authenticate SHA256SUMS.'
