From 677598c19ce8080b39412d1c30287eb836def782 Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Tue, 8 Aug 2023 13:31:36 -0400 Subject: [PATCH] add cpuLimitsRange --- checks/cpuLimitsRange.yaml | 25 +++++++++++++++++++ pkg/config/checks.go | 1 + .../checks/cpuLimitsRange/failure.number.yaml | 14 +++++++++++ .../checks/cpuLimitsRange/success.number.yaml | 14 +++++++++++ 4 files changed, 54 insertions(+) create mode 100644 checks/cpuLimitsRange.yaml create mode 100644 test/checks/cpuLimitsRange/failure.number.yaml create mode 100644 test/checks/cpuLimitsRange/success.number.yaml diff --git a/checks/cpuLimitsRange.yaml b/checks/cpuLimitsRange.yaml new file mode 100644 index 00000000..4e8fcf1e --- /dev/null +++ b/checks/cpuLimitsRange.yaml @@ -0,0 +1,25 @@ +successMessage: CPU limits are within the required range +failureMessage: CPU limits should be within the required range +category: Efficiency +target: Container +containers: + exclude: + - initContainer +schema: + '$schema': http://json-schema.org/draft-07/schema + type: object + required: + - resources + properties: + resources: + type: object + required: + - limits + properties: + limits: + required: + - cpu + properties: + cpu: + resourceMinimum: 200m + resourceMaximum: "2" diff --git a/pkg/config/checks.go b/pkg/config/checks.go index 83d463ed..cb253e03 100644 --- a/pkg/config/checks.go +++ b/pkg/config/checks.go @@ -38,6 +38,7 @@ var ( "memoryRequestsMissing", "cpuLimitsMissing", "cpuRequestsMissing", + "cpuLimitsRange", "readinessProbeMissing", "livenessProbeMissing", "pullPolicyNotAlways", diff --git a/test/checks/cpuLimitsRange/failure.number.yaml b/test/checks/cpuLimitsRange/failure.number.yaml new file mode 100644 index 00000000..4f76f4b5 --- /dev/null +++ b/test/checks/cpuLimitsRange/failure.number.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nginx + labels: + app.kubernetes.io/name: nginx +spec: + containers: + - name: nginx + image: nginx + resources: + limits: + memory: 128Mi + cpu: 5 diff --git a/test/checks/cpuLimitsRange/success.number.yaml b/test/checks/cpuLimitsRange/success.number.yaml new file mode 100644 index 00000000..ce530e2c --- /dev/null +++ b/test/checks/cpuLimitsRange/success.number.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nginx + labels: + app.kubernetes.io/name: nginx +spec: + containers: + - name: nginx + image: nginx + resources: + limits: + memory: 128Mi + cpu: 1