{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.prometheusOperator.enabled .Values.prometheusOperator.admissionWebhooks.enabled .Values.prometheusOperator.admissionWebhooks.patch.enabled .Values.global.rbac.create .Values.global.rbac.pspEnabled (not .Values.prometheusOperator.admissionWebhooks.certManager.enabled) }} apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: {{ template "kube-prometheus-stack.fullname" . }}-admission annotations: "helm.sh/hook": pre-install,pre-upgrade,post-install,post-upgrade "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded {{- if .Values.global.rbac.pspAnnotations }} {{ toYaml .Values.global.rbac.pspAnnotations | indent 4 }} {{- end }} labels: app: {{ template "kube-prometheus-stack.name" . }}-admission {{ include "kube-prometheus-stack.labels" . | indent 4 }} spec: privileged: false # Allow core volume types. volumes: - 'configMap' - 'emptyDir' - 'projected' - 'secret' - 'downwardAPI' - 'persistentVolumeClaim' hostNetwork: false hostIPC: false hostPID: false 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: # Allow adding the root group. - min: 0 max: 65535 fsGroup: rule: 'MustRunAs' ranges: # Allow adding the root group. - min: 0 max: 65535 readOnlyRootFilesystem: false {{- end }}