{{- if .Values.rbac.create }} {{- if .Values.rbac.pspEnabled }} apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: {{ template "prometheus-node-exporter.fullname" . }} namespace: {{ template "prometheus-node-exporter.namespace" . }} labels: {{ include "prometheus-node-exporter.labels" . | indent 4 }} {{- if .Values.rbac.pspAnnotations }} annotations: {{ toYaml .Values.rbac.pspAnnotations | indent 4 }} {{- end}} spec: privileged: false # Required to prevent escalations to root. # allowPrivilegeEscalation: false # This is redundant with non-root + disallow privilege escalation, # but we can provide it for defense in depth. #requiredDropCapabilities: # - ALL # Allow core volume types. volumes: - 'configMap' - 'emptyDir' - 'projected' - 'secret' - 'downwardAPI' - 'persistentVolumeClaim' - 'hostPath' hostNetwork: true hostIPC: false hostPID: true hostPorts: - min: 0 max: 65535 runAsUser: # Permits the container to run with root privileges as well. rule: 'RunAsAny' seLinux: # This policy assumes the nodes are using AppArmor rather than SELinux. rule: 'RunAsAny' supplementalGroups: rule: 'MustRunAs' ranges: # Forbid adding the root group. - min: 0 max: 65535 fsGroup: rule: 'MustRunAs' ranges: # Forbid adding the root group. - min: 0 max: 65535 readOnlyRootFilesystem: false {{- end }} {{- end }}