{{- $name := "disallow-host-namespaces" }} {{- if eq (include "kyverno-policies.podSecurityBaseline" (merge (dict "name" $name) .)) "true" }} apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: {{ $name }} annotations: policies.kyverno.io/category: Pod Security Standards (Default) {{- if .Values.podSecuritySeverity }} policies.kyverno.io/severity: {{ .Values.podSecuritySeverity | quote }} {{- end }} policies.kyverno.io/description: >- Host namespaces (Process ID namespace, Inter-Process Communication namespace, and network namespace) allow access to shared information and can be used to elevate privileges. Pods should not be allowed access to host namespaces. labels: {{ include "kyverno-policies.labels" . | nindent 4 }} app: kyverno spec: validationFailureAction: {{ .Values.validationFailureAction }} background: true rules: - name: host-namespaces match: resources: kinds: - Pod validate: message: >- Sharing the host namespaces is disallowed. The fields spec.hostNetwork, spec.hostIPC, and spec.hostPID must not be set to true. pattern: spec: =(hostPID): "false" =(hostIPC): "false" =(hostNetwork): "false" {{- end -}}