@@ -353,6 +353,10 @@ func (r *ScanReconciler) constructJobForScan(scan *scansv1.Scan, scanTemplate *s
353353 return nil , err
354354 }
355355
356+ if len (scanTemplate .Spec .JobTemplate .Spec .Template .Spec .Containers ) < 1 {
357+ return nil , errors .New ("ScanTemplate must at least contain one container in which the scanner is running" )
358+ }
359+
356360 job := & batch.Job {
357361 ObjectMeta : metav1.ObjectMeta {
358362 Labels : map [string ]string {
@@ -367,25 +371,28 @@ func (r *ScanReconciler) constructJobForScan(scan *scansv1.Scan, scanTemplate *s
367371
368372 job .Spec .Template .Spec .ServiceAccountName = "lurcher"
369373
370- job .Spec .Template .Spec .Volumes = []corev1.Volume {
371- corev1.Volume {
372- Name : "scan-results" ,
373- VolumeSource : corev1.VolumeSource {
374- EmptyDir : & corev1.EmptyDirVolumeSource {},
375- },
376- },
374+ // merging volume definition from ScanTemplate (if existing) with standard results volume
375+ if job .Spec .Template .Spec .Containers [0 ].VolumeMounts == nil || len (job .Spec .Template .Spec .Containers [0 ].VolumeMounts ) == 0 {
376+ job .Spec .Template .Spec .Volumes = []corev1.Volume {}
377377 }
378+ job .Spec .Template .Spec .Volumes = append (job .Spec .Template .Spec .Volumes , corev1.Volume {
379+ Name : "scan-results" ,
380+ VolumeSource : corev1.VolumeSource {
381+ EmptyDir : & corev1.EmptyDirVolumeSource {},
382+ },
383+ })
378384
379- var containerVolumeMounts []corev1. VolumeMount
385+ // merging volume mounts (for the primary scanner container) from ScanTemplate (if existing) with standard results volume mount
380386 if job .Spec .Template .Spec .Containers [0 ].VolumeMounts == nil || len (job .Spec .Template .Spec .Containers [0 ].VolumeMounts ) == 0 {
381- containerVolumeMounts = []corev1.VolumeMount {}
382- } else {
383- containerVolumeMounts = job .Spec .Template .Spec .Containers [0 ].VolumeMounts
384- }
385- job .Spec .Template .Spec .Containers [0 ].VolumeMounts = append (containerVolumeMounts , []corev1.VolumeMount {corev1.VolumeMount {
386- Name : "scan-results" ,
387- MountPath : "/home/securecodebox/" ,
388- }}... )
387+ job .Spec .Template .Spec .Containers [0 ].VolumeMounts = []corev1.VolumeMount {}
388+ }
389+ job .Spec .Template .Spec .Containers [0 ].VolumeMounts = append (
390+ job .Spec .Template .Spec .Containers [0 ].VolumeMounts ,
391+ corev1.VolumeMount {
392+ Name : "scan-results" ,
393+ MountPath : "/home/securecodebox/" ,
394+ },
395+ )
389396
390397 lurcherSidecar := & corev1.Container {
391398 Name : "lurcher" ,
0 commit comments