{{- if .Values.rbac.kyvernoEnabled }}
apiVersion: kyverno.io/v1
kind: Policy
metadata:
  name: allow-host-namespaces
  annotations:
    policies.kyverno.io/category: Pod Security Standards
    policies.kyverno.io/severity: medium
    policies.kyverno.io/subject: Pod
    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  allowed access to host namespaces.      
spec:
  validationFailureAction: enforce
  background: true
  rules:
    - name: host-namespaces
      match:
        resources:
          kinds:
            - Pod
      validate:
        message: >-
          Sharing the host namespaces is allowed. The fields spec.hostNetwork,
          spec.hostIPC, and spec.hostPID must be set to true.          
        pattern:
          spec:
            =(hostPID): "true"
            =(hostIPC): "true"
            =(hostNetwork): "true"
{{- end }}