github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/rules/kubernetes/policies/advanced/optional/use_resource_quota_test.rego (about) 1 package builtin.kubernetes.KSV040 2 3 test_use_resource_quota_configure { 4 r := deny with input as { 5 "apiVersion": "v1", 6 "kind": "ResourceQuota", 7 "metadata": {"name": "mem-cpu-demo"}, 8 "spec": {"hard": { 9 "requests.cpu": "1", 10 "requests.memory": "1Gi", 11 "limits.cpu": "2", 12 "limits.memory": "2Gi", 13 }}, 14 } 15 16 count(r) == 0 17 } 18 19 test_use_resource_quota_configure_no_hard { 20 r := deny with input as { 21 "apiVersion": "v1", 22 "kind": "ResourceQuota", 23 "metadata": {"name": "mem-cpu-demo"}, 24 "spec": {}, 25 } 26 27 r[_].msg == "resource quota policy with hard memory and cpu quota per namespace should be configure" 28 } 29 30 test_use_resource_quota_configure_no_request_cpu { 31 r := deny with input as { 32 "apiVersion": "v1", 33 "kind": "ResourceQuota", 34 "metadata": {"name": "mem-cpu-demo"}, 35 "spec": {"hard": { 36 "requests.memory": "1Gi", 37 "limits.cpu": "2", 38 "limits.memory": "2Gi", 39 }}, 40 } 41 42 r[_].msg == "resource quota policy with hard memory and cpu quota per namespace should be configure" 43 } 44 45 test_use_resource_quota_configure_no_request_memory { 46 r := deny with input as { 47 "apiVersion": "v1", 48 "kind": "ResourceQuota", 49 "metadata": {"name": "mem-cpu-demo"}, 50 "spec": {"hard": { 51 "requests.cpu": "1", 52 "limits.cpu": "2", 53 "limits.memory": "2Gi", 54 }}, 55 } 56 57 r[_].msg == "resource quota policy with hard memory and cpu quota per namespace should be configure" 58 } 59 60 test_use_resource_quota_configure_no_limits_cpu { 61 r := deny with input as { 62 "apiVersion": "v1", 63 "kind": "ResourceQuota", 64 "metadata": {"name": "mem-cpu-demo"}, 65 "spec": {"hard": { 66 "requests.cpu": "1", 67 "requests.memory": "1Gi", 68 "limits.memory": "2Gi", 69 }}, 70 } 71 72 r[_].msg == "resource quota policy with hard memory and cpu quota per namespace should be configure" 73 } 74 75 test_use_resource_quota_configure_no_limits_memory { 76 r := deny with input as { 77 "apiVersion": "v1", 78 "kind": "ResourceQuota", 79 "metadata": {"name": "mem-cpu-demo"}, 80 "spec": {"hard": { 81 "requests.cpu": "1", 82 "requests.memory": "1Gi", 83 "limits.cpu": "2", 84 }}, 85 } 86 87 r[_].msg == "resource quota policy with hard memory and cpu quota per namespace should be configure" 88 }