1 contributor
#!/usr/bin/env bash
# Quick verifier to ensure this repository contains only AutoNAS artifacts
# Scans for common autoSMART markers and suspicious files.
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
echo "[verify-project] Repository: $ROOT_DIR"
patterns=(
'autoSMART'
'autosmart'
'smart-collector'
'SmartCollector'
'smartctl .*postgres' # autosmart DB pipelines pattern
)
exclude_dirs=(
'.git'
'.venv'
'node_modules'
'dist'
'build'
)
found=0
# Build a find command that prunes excluded directories
find_cmd=(find .)
for d in "${exclude_dirs[@]}"; do
find_cmd+=( -path "*/$d/*" -prune -o )
done
find_cmd+=( -type f ! -path "*/scripts/verify-project.sh" -print0 )
for pat in "${patterns[@]}"; do
if "${find_cmd[@]}" | xargs -0 grep -EIn --color=never "$pat" > /tmp/_verify_hits 2>/dev/null; then
if [ -s /tmp/_verify_hits ]; then
echo "[verify-project] Suspicious matches for pattern: $pat"
cat /tmp/_verify_hits
echo ""
found=1
fi
fi
done
rm -f /tmp/_verify_hits || true
# Also check for suspicious filenames accidentally copied over
suspect_files=(
'smart-collector-daemon.pl'
'deploy-production.sh'
'monitor-cluster.sh'
)
for name in "${suspect_files[@]}"; do
if find . -type f -name "$name" | grep -q .; then
echo "[verify-project] Suspicious file present: $name"
found=1
fi
done
if [ "$found" -eq 0 ]; then
echo "[verify-project] OK: No autoSMART contamination detected."
exit 0
else
echo "[verify-project] WARNING: Potential contamination detected. Review above matches."
exit 2
fi