-
Notifications
You must be signed in to change notification settings - Fork 18
/
kubequery.yaml
102 lines (97 loc) · 2.25 KB
/
kubequery.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
---
apiVersion: v1
kind: Namespace
metadata:
labels:
app.kubernetes.io/component: cluster
app.kubernetes.io/version: "1.0.0"
name: kubequery
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubequery-sa
namespace: kubequery
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubequery-clusterrole
rules:
- apiGroups: ["", "admissionregistration.k8s.io", "apps", "autoscaling", "batch", "networking.k8s.io", "policy", "rbac.authorization.k8s.io", "storage.k8s.io"]
resources: ["*"]
verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kubequery-clusterrolebinding
roleRef:
kind: ClusterRole
name: kubequery-clusterrole
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: kubequery-sa
namespace: kubequery
---
apiVersion: v1
kind: ConfigMap
metadata:
name: kubequery-config
namespace: kubequery
data:
osquery.flags: |
--disable_memory=true
osquery.conf: |
{
"schedule": {
"kubernetes_pod_security_policies": {
"query": "SELECT uid, cluster_uid, name, privileged, host_pid, host_ipc, host_network, allow_privilege_escalation, value AS 'run_as_user_rule' FROM kubernetes_pod_security_policies, json_tree(kubernetes_pod_security_policies.run_as_user) WHERE key = 'rule'",
"interval": 600
}
},
"options":{
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: kubequery
name: kubequery
namespace: kubequery
spec:
replicas: 1
selector:
matchLabels:
app: kubequery
template:
metadata:
labels:
app: kubequery
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
terminationGracePeriodSeconds: 10
serviceAccountName: kubequery-sa
containers:
- name: kubequery
image: uptycs/kubequery:latest
resources:
limits:
cpu: 500m
memory: 200Mi
requests:
cpu: 500m
memory: 200Mi
volumeMounts:
- name: config
mountPath: /opt/kubequery/etc
volumes:
- name: config
configMap:
name: kubequery-config