-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
MutateResourceMemoryLimits.json
64 lines (64 loc) · 1.97 KB
/
MutateResourceMemoryLimits.json
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
64
{
"properties": {
"displayName": "[Preview]: Sets Kubernetes cluster containers memory limits to default values in case not present.",
"policyType": "BuiltIn",
"mode": "Microsoft.Kubernetes.Data",
"description": "Setting container memory limits to prevent resource exhaustion attacks in a Kubernetes cluster.",
"metadata": {
"version": "1.1.1-preview",
"category": "Kubernetes",
"preview": true
},
"version": "1.1.1-preview",
"parameters": {
"effect": {
"type": "String",
"metadata": {
"displayName": "Effect",
"description": "'Mutate' modifies a non-compliant resource to be compliant when creating or updating. 'Disabled' turns off the policy.",
"portalReview": true
},
"allowedValues": [
"Mutate",
"Disabled"
],
"defaultValue": "Mutate"
},
"excludedNamespaces": {
"type": "Array",
"metadata": {
"displayName": "Namespace exclusions",
"description": "List of Kubernetes namespaces to exclude from policy evaluation."
},
"defaultValue": [
"kube-system",
"gatekeeper-system",
"azure-arc"
]
}
},
"policyRule": {
"if": {
"field": "type",
"equals": "Microsoft.ContainerService/managedClusters"
},
"then": {
"effect": "[parameters('effect')]",
"details": {
"mutationInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/mutate-resource-memory-limits/v1/mutation.yaml"
},
"excludedNamespaces": "[parameters('excludedNamespaces')]"
}
}
},
"versions": [
"1.1.1-PREVIEW",
"1.1.0-PREVIEW",
"1.0.0-PREVIEW"
]
},
"id": "/providers/Microsoft.Authorization/policyDefinitions/5f86d473-38a8-46c9-bdfe-d7fa3b9836bf",
"name": "5f86d473-38a8-46c9-bdfe-d7fa3b9836bf"
}