/
appConfig.yaml
106 lines (106 loc) · 4.56 KB
/
appConfig.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
createMissingRelatedEntities: true
resources:
- kind: v1/namespaces
port:
entity:
mappings:
- blueprint: '"namespace"'
identifier: .metadata.name + "-" + env.CLUSTER_NAME
properties:
creationTimestamp: .metadata.creationTimestamp
labels: .metadata.labels
relations:
Cluster: env.CLUSTER_NAME
title: .metadata.name
selector:
query: .metadata.name | startswith("kube") | not
- kind: v1/namespaces
port:
entity:
mappings:
- blueprint: '"cluster"'
identifier: env.CLUSTER_NAME
title: env.CLUSTER_NAME
selector:
query: .metadata.name | contains("kube-system")
- kind: apps/v1/deployments
port:
entity:
mappings:
- blueprint: '"workload"'
icon: '"Deployment"'
identifier: .metadata.name + "-Deployment-" + .metadata.namespace + "-" + env.CLUSTER_NAME
properties:
images: '(.spec.template.spec.containers | map({name, image, resources})) | map("\(.name): \(.image)")'
availableReplicas: .status.availableReplicas
containers: (.spec.template.spec.containers | map({name, image, resources}))
creationTimestamp: .metadata.creationTimestamp
hasLatest: .spec.template.spec.containers[].image | contains(":latest")
hasLimits: .spec.template.spec.containers | all(has("resources") and (.resources.limits.memory
and .resources.limits.cpu))
hasPrivileged: .spec.template.spec.containers | [.[].securityContext.privileged]
| any
isHealthy: if .spec.replicas == .status.availableReplicas then "Healthy"
else "Unhealthy" end
kind: '"Deployment"'
labels: .metadata.labels
replicas: .spec.replicas
strategy: .spec.strategy.type
strategyConfig: .spec.strategy // {}
relations:
Namespace: .metadata.namespace + "-" + env.CLUSTER_NAME
title: .metadata.name
selector:
query: .metadata.namespace | startswith("kube") | not
- kind: apps/v1/daemonsets
port:
entity:
mappings:
- blueprint: '"workload"'
identifier: .metadata.name + "-DaemonSet-" + .metadata.namespace + "-" + env.CLUSTER_NAME
properties:
availableReplicas: .status.availableReplicas
containers: (.spec.template.spec.containers | map({name, image, resources}))
creationTimestamp: .metadata.creationTimestamp
hasLatest: .spec.template.spec.containers[].image | contains(":latest")
hasLimits: .spec.template.spec.containers | all(has("resources") and (.resources.limits.memory
and .resources.limits.cpu))
hasPrivileged: .spec.template.spec.containers | [.[].securityContext.privileged]
| any
isHealthy: if .spec.replicas == .status.availableReplicas then "Healthy"
else "Unhealthy" end
kind: '"DaemonSet"'
labels: .metadata.labels
replicas: .spec.replicas
strategyConfig: .spec.strategy // {}
relations:
Namespace: .metadata.namespace + "-" + env.CLUSTER_NAME
title: .metadata.name
selector:
query: .metadata.namespace | startswith("kube") | not
- kind: apps/v1/statefulsets
port:
entity:
mappings:
- blueprint: '"workload"'
identifier: .metadata.name + "-StatefulSet-" + .metadata.namespace + "-" + env.CLUSTER_NAME
properties:
availableReplicas: .status.availableReplicas
containers: (.spec.template.spec.containers | map({name, image, resources}))
creationTimestamp: .metadata.creationTimestamp
hasLatest: .spec.template.spec.containers[].image | contains(":latest")
hasLimits: .spec.template.spec.containers | all(has("resources") and (.resources.limits.memory
and .resources.limits.cpu))
hasPrivileged: .spec.template.spec.containers | [.[].securityContext.privileged]
| any
isHealthy: if .spec.replicas == .status.availableReplicas then "Healthy"
else "Unhealthy" end
kind: '"StatefulSet"'
labels: .metadata.labels
replicas: .spec.replicas
strategyConfig: .spec.strategy // {}
relations:
Namespace: .metadata.namespace + "-" + env.CLUSTER_NAME
title: .metadata.name
selector:
query: .metadata.namespace | startswith("kube") | not