Files
threadnet-operating/monitoring/cve/scan-loop.sh
T

24 lines
933 B
Bash
Raw Normal View History

#!/bin/sh
# Trivy-Scan-Schleife (gitops#47): scannt alle 24h die Liste der real deployten
# Images (cve/images.txt, aus dem Cluster inventarisiert) und legt die
# JSON-Reports fuer den cve-exporter ab. Kein Abbruch bei Einzelfehlern -
# ein nicht mehr pullbares Image darf den Rest nicht verhindern (der Exporter
# alarmiert ueber trivy_last_scan_timestamp, wenn ein Report veraltet).
set -u
RESULTS=/results
IMAGES=/config/images.txt
INTERVAL="${SCAN_INTERVAL_SECONDS:-86400}"
while true; do
while IFS= read -r img; do
case "$img" in ""|\#*) continue;; esac
safe=$(echo "$img" | tr '/:@' '___')
echo "scan: $img"
trivy image --scanners vuln --format json --output "$RESULTS/$safe.json.tmp" "$img" \
&& mv "$RESULTS/$safe.json.tmp" "$RESULTS/$safe.json" \
|| echo "FEHLER bei $img (Report bleibt auf altem Stand)"
done < "$IMAGES"
echo "runde fertig, schlafe ${INTERVAL}s"
sleep "$INTERVAL"
done