-
Notifications
You must be signed in to change notification settings - Fork 52
/
cpu-and-memory-limits-required.yaml
63 lines (63 loc) · 2.44 KB
/
cpu-and-memory-limits-required.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Copyright 2024 Google LLC
#
# This is “Software” that is licensed under the “General Software” section of
# the Service Specific Terms (https://cloud.google.com/terms/service-terms) for
# usage in accordance with the following “Scope of Use”: This file may only be
# used on an Anthos cluster, including any associated ci/cd use. “Anthos
# cluster” is defined as “A Cluster (of any kind) registered to a fleet project
# where the Anthos API is enabled”.
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sRequiredResources
metadata:
name: nsa-cisa-k8s-v1.2-cpu-and-memory-limits-required
labels:
policycontroller.gke.io/bundleName: nsa-cisa-k8s-v1.2
annotations:
policycontroller.gke.io/bundleVersion: "202312.1"
policycontroller.gke.io/constraintData: |-
"{
bundleName: 'nsa-cisa-k8s-v1.2',
bundleDisplayName: 'NSA CISA Kubernetes Hardening Guide v1.2',
bundleLink: 'https://cloud.google.com/anthos-config-management/docs/how-to/using-nsa-cisa-k8s-v1.2',
bundleVersion: '202312.1',
bundleDescription: 'Use the NSA CISA Kubernetes Hardening Guide v1.2 policy bundle with Policy Controller to evaluate the compliance of your cluster resources against some aspects of the NSA CISA Kubernetes Hardening Guide v1.2.',
controlNumbers: '[]',
severity: 'Low',
description: 'All workload pods must specify `cpu` and `memory` limits.',
remediation: 'Pods must specify `cpu` and `memory` limits. See "Resource Management for Pods and Containers" for more information: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/',
minimumTemplateLibraryVersion: '1.12.0',
constraintHash: 'a6df682567a187b272f8bb7fb0671d44b83536d7c934fd69c908b8ef34775a14'
}"
spec:
enforcementAction: dryrun
match:
kinds:
- apiGroups:
- ""
kinds:
- Pod
excludedNamespaces:
- kube-system
- istio-system
- asm-system
- config-management-system
- config-management-monitoring
- resource-group-system
- cert-manager
- gatekeeper-system
- gmp-system
- gmp-public
- gke-gmp-system
- gke-system
- gke-connect
- anthos-identity-service
- apigee
- apigee-system
- gke-managed-cim
parameters:
limits:
- cpu
- memory
exemptImages:
- gcr.io/anthos-baremetal-release/*
- gcr.io/gkeconnect/*