Skip to content

Commit

Permalink
UD-1682: address pod security admission warnings, fix service account…
Browse files Browse the repository at this point in the history
… name usage for download job
  • Loading branch information
knrc committed Aug 27, 2024
1 parent 5549fd2 commit 316ba78
Show file tree
Hide file tree
Showing 10 changed files with 20 additions and 20 deletions.
1 change: 0 additions & 1 deletion charts/zora/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ The following table lists the configurable parameters of the Zora chart and thei
| scan.plugins.trivy.timeout | string | `"10m"` | Trivy timeout |
| scan.plugins.trivy.insecure | bool | `false` | Allow insecure server connections for Trivy |
| scan.plugins.trivy.persistence.enabled | bool | `true` | Specifies whether Trivy vulnerabilities database should be persisted between the scans, using PersistentVolumeClaim |
| scan.plugins.trivy.persistence.fsGroup | int | `0` | Specifies the fsGroup to use when mounting the persistent volume |
| scan.plugins.trivy.persistence.accessMode | string | `"ReadWriteOnce"` | [Persistence access mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) |
| scan.plugins.trivy.persistence.storageClass | string | `""` | [Persistence storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/). Set to empty for default storage class |
| scan.plugins.trivy.persistence.storageRequest | string | `"2Gi"` | Persistence storage size |
Expand Down
5 changes: 5 additions & 0 deletions charts/zora/templates/hooks/delete.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,10 @@ spec:
- --ignore-not-found=true
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
seccompProfile:
type: "RuntimeDefault"
restartPolicy: Never
5 changes: 5 additions & 0 deletions charts/zora/templates/hooks/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ spec:
"revision" .Release.Revision) }}'
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
seccompProfile:
type: "RuntimeDefault"
restartPolicy: Never
{{- end }}
3 changes: 1 addition & 2 deletions charts/zora/templates/operator/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,7 @@ spec:
- --worker-image={{ printf "%s:%s" .Values.scan.worker.image.repository (.Values.scan.worker.image.tag | default .Chart.AppVersion) }}
- --cronjob-clusterrolebinding-name=zora-plugins-rolebinding
- --cronjob-serviceaccount-name=zora-plugins
- --trivy-db-pvc={{- if .Values.scan.plugins.trivy.persistence.enabled }}trivy-db-pvc{{- end }}
- --trivy-db-fsgroup={{ .Values.scan.plugins.trivy.persistence.fsGroup }}
- --trivy-db-pvc={{- if .Values.scan.plugins.trivy.persistence.enabled }}trivy-db-volume{{- end }}
{{- if .Values.scan.plugins.annotations}}
- --cronjob-serviceaccount-annotations={{ $first := true }}{{- range $key, $value := .Values.scan.plugins.annotations }}{{if not $first}},{{else}}{{$first = false}}{{end}}{{ $key }}={{$value}}{{- end }}
{{- end }}
Expand Down
11 changes: 8 additions & 3 deletions charts/zora/templates/plugins/trivy-job.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,10 @@ spec:
ttlSecondsAfterFinished: 0
template:
spec:
securityContext:
fsGroup: 0
volumes:
- name: trivy-db
persistentVolumeClaim:
claimName: trivy-db-pvc
claimName: trivy-db-volume
containers:
- name: trivy-download-db
image: "{{ .Values.scan.plugins.trivy.image.repository }}:{{ .Values.scan.plugins.trivy.image.tag }}"
Expand All @@ -35,7 +33,13 @@ spec:
{{- end }}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
runAsNonRoot: true
seccompProfile:
type: "RuntimeDefault"
volumeMounts:
- mountPath: /tmp/trivy-cache
name: trivy-db
Expand Down Expand Up @@ -70,4 +74,5 @@ spec:
value: {{ .Values.noProxy | quote }}
{{- end }}
restartPolicy: OnFailure
serviceAccountName: zora-plugins
{{- end }}
2 changes: 1 addition & 1 deletion charts/zora/templates/plugins/trivy-pvc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: trivy-db-pvc
name: trivy-db-volume
spec:
{{- if .Values.scan.plugins.trivy.persistence.storageClass }}
storageClassName: {{ .Values.scan.plugins.trivy.persistence.storageClass | quote }}
Expand Down
2 changes: 0 additions & 2 deletions charts/zora/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,6 @@ scan:
persistence:
# -- Specifies whether Trivy vulnerabilities database should be persisted between the scans, using PersistentVolumeClaim
enabled: true
# -- Specifies the fsGroup to use when mounting the persistent volume
fsGroup: 0
# -- [Persistence access mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
accessMode: ReadWriteOnce
# -- [Persistence storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/). Set to empty for default storage class
Expand Down
3 changes: 0 additions & 3 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ func main() {
var kubexnsImage string
var kubexnsPullPolicy string
var trivyPVC string
var trivyFSGroup int64
var updateCRDs bool
var injectConversion bool
var caPath string
Expand Down Expand Up @@ -113,7 +112,6 @@ func main() {
flag.StringVar(&kubexnsImage, "kubexns-image", "ghcr.io/undistro/kubexns:latest", "kubexns image")
flag.StringVar(&kubexnsPullPolicy, "kubexns-pull-policy", "Always", "kubexns image pull policy")
flag.StringVar(&trivyPVC, "trivy-db-pvc", "", "PersistentVolumeClaim name for Trivy DB")
flag.Int64Var(&trivyFSGroup, "trivy-db-fsgroup", 0, "PersistentVolumeClaim FSGroup for Trivy DB")
flag.BoolVar(&updateCRDs, "update-crds", false,
"If set to true, operator will update Zora CRDs if needed")
flag.BoolVar(&injectConversion, "inject-conversion", false,
Expand Down Expand Up @@ -222,7 +220,6 @@ func main() {
KubexnsImage: kubexnsImage,
KubexnsPullPolicy: kubexnsPullPolicy,
TrivyPVC: trivyPVC,
TrivyFSGroup: &trivyFSGroup,
ChecksConfigMap: fmt.Sprintf("%s/%s", checksConfigMapNamespace, checksConfigMapName),
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "ClusterScan")
Expand Down
2 changes: 0 additions & 2 deletions internal/controller/zora/clusterscan_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ type ClusterScanReconciler struct {
KubexnsPullPolicy string
ChecksConfigMap string
TrivyPVC string
TrivyFSGroup *int64
Annotations map[string]string
OnUpdate saas.ClusterScanHook
OnDelete saas.ClusterScanHook
Expand Down Expand Up @@ -222,7 +221,6 @@ func (r *ClusterScanReconciler) reconcile(ctx context.Context, clusterscan *v1al
KubexnsPullPolicy: r.KubexnsPullPolicy,
ChecksConfigMap: r.ChecksConfigMap,
TrivyPVC: r.TrivyPVC,
TrivyFSGroup: r.TrivyFSGroup,
ClusterUID: cluster.UID,
}

Expand Down
6 changes: 0 additions & 6 deletions pkg/plugins/cronjob.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ type CronJobMutator struct {
KubexnsPullPolicy string
ChecksConfigMap string
TrivyPVC string
TrivyFSGroup *int64
ClusterUID types.UID
}

Expand Down Expand Up @@ -153,11 +152,6 @@ func (r *CronJobMutator) Mutate() error {
PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{ClaimName: r.TrivyPVC},
},
})
if r.TrivyFSGroup != nil {
r.Existing.Spec.JobTemplate.Spec.Template.Spec.SecurityContext = &corev1.PodSecurityContext{
FSGroup: r.TrivyFSGroup,
}
}
}

if pointer.BoolDeref(r.Plugin.Spec.MountCustomChecksVolume, false) {
Expand Down

0 comments on commit 316ba78

Please sign in to comment.