#!/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