# infrastructure/kyverno/policies/require-resource-limits.yaml # Ensures all pods have resource limits defined # Prevents resource exhaustion and enables proper scheduling apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: require-resource-limits annotations: policies.kyverno.io/title: Require Resource Limits policies.kyverno.io/category: Best Practices policies.kyverno.io/severity: medium policies.kyverno.io/subject: Pod policies.kyverno.io/description: >- Resource limits prevent a single workload from consuming excessive cluster resources. This policy requires all containers to define CPU and memory limits. spec: validationFailureAction: Enforce background: true rules: - name: validate-resources match: any: - resources: kinds: - Pod exclude: any: - resources: namespaces: - kube-system - kyverno validate: message: "CPU and memory limits are required. Add resources.limits.cpu and resources.limits.memory." pattern: spec: containers: - resources: limits: memory: "?*" cpu: "?*"