Skip to content

Commit cc51375

Browse files
committed
Kubetail addon
Add kubetail to addons registry.
1 parent abdbc5b commit cc51375

File tree

8 files changed

+663
-0
lines changed

8 files changed

+663
-0
lines changed

deploy/addons/assets.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,4 +178,8 @@ var (
178178
// YakdAssets assets for yakd addon
179179
//go:embed yakd/*.yaml yakd/*.tmpl
180180
YakdAssets embed.FS
181+
182+
// Kubetail assets for kubetail addon
183+
//go:embed kubetail/*.yaml kubetail/*.tmpl
184+
KubetailAssets embed.FS
181185
)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
kind: ServiceAccount
2+
apiVersion: v1
3+
metadata:
4+
name: kubetail-cli
5+
namespace: kubetail-system
6+
labels:
7+
app.kubernetes.io/name: "kubetail"
8+
app.kubernetes.io/version: "0.9.2"
9+
app.kubernetes.io/instance: "kubetail"
10+
app.kubernetes.io/component: "cli"
11+
---
12+
kind: ClusterRole
13+
apiVersion: rbac.authorization.k8s.io/v1
14+
metadata:
15+
name: kubetail-cli
16+
labels:
17+
app.kubernetes.io/name: "kubetail"
18+
app.kubernetes.io/version: "0.9.2"
19+
app.kubernetes.io/instance: "kubetail"
20+
app.kubernetes.io/component: "cli"
21+
rules:
22+
- apiGroups: [""]
23+
resources: [pods/log]
24+
verbs: [list, watch]
25+
---
26+
kind: ClusterRoleBinding
27+
apiVersion: rbac.authorization.k8s.io/v1
28+
metadata:
29+
name: kubetail-cli
30+
labels:
31+
app.kubernetes.io/name: "kubetail"
32+
app.kubernetes.io/version: "0.9.2"
33+
app.kubernetes.io/instance: "kubetail"
34+
app.kubernetes.io/component: "cli"
35+
roleRef:
36+
apiGroup: rbac.authorization.k8s.io
37+
kind: ClusterRole
38+
name: kubetail-cli
39+
subjects:
40+
- kind: ServiceAccount
41+
name: kubetail-cli
42+
namespace: kubetail-system
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
kind: ConfigMap
2+
apiVersion: v1
3+
metadata:
4+
name: kubetail-cluster-agent
5+
namespace: kubetail-system
6+
labels:
7+
app.kubernetes.io/name: "kubetail"
8+
app.kubernetes.io/version: "0.9.2"
9+
app.kubernetes.io/instance: "kubetail"
10+
app.kubernetes.io/component: "cluster-agent"
11+
data:
12+
config.yaml: |
13+
cluster-agent:
14+
addr: :50051
15+
logging:
16+
enabled: true
17+
format: json
18+
level: info
19+
tls:
20+
cert-file: null
21+
enabled: false
22+
key-file: null
23+
---
24+
kind: ServiceAccount
25+
apiVersion: v1
26+
automountServiceAccountToken: true
27+
metadata:
28+
name: kubetail-cluster-agent
29+
namespace: kubetail-system
30+
labels:
31+
app.kubernetes.io/name: "kubetail"
32+
app.kubernetes.io/version: "0.9.2"
33+
app.kubernetes.io/instance: "kubetail"
34+
app.kubernetes.io/component: "cluster-agent"
35+
---
36+
kind: DaemonSet
37+
apiVersion: apps/v1
38+
metadata:
39+
name: kubetail-cluster-agent
40+
namespace: kubetail-system
41+
labels:
42+
app.kubernetes.io/name: "kubetail"
43+
app.kubernetes.io/version: "0.9.2"
44+
app.kubernetes.io/instance: "kubetail"
45+
app.kubernetes.io/component: "cluster-agent"
46+
spec:
47+
selector:
48+
matchLabels:
49+
app.kubernetes.io/name: "kubetail"
50+
app.kubernetes.io/instance: "kubetail"
51+
app.kubernetes.io/component: "cluster-agent"
52+
template:
53+
metadata:
54+
labels:
55+
app.kubernetes.io/name: "kubetail"
56+
app.kubernetes.io/version: "0.9.2"
57+
app.kubernetes.io/instance: "kubetail"
58+
app.kubernetes.io/component: "cluster-agent"
59+
spec:
60+
automountServiceAccountToken: true
61+
serviceAccountName: kubetail-cluster-agent
62+
securityContext:
63+
fsGroup: 0
64+
containers:
65+
- name: kubetail-cluster-agent
66+
image: {{.CustomRegistries.Kubetail | default .ImageRepository | default .Registries.Kubetail }}{{.Images.KubetailClusterAgent}}
67+
securityContext:
68+
allowPrivilegeEscalation: false
69+
capabilities:
70+
add:
71+
- DAC_READ_SEARCH
72+
drop:
73+
- ALL
74+
readOnlyRootFilesystem: true
75+
runAsGroup: 1000
76+
runAsUser: 1000
77+
imagePullPolicy: IfNotPresent
78+
args:
79+
- --config=/etc/kubetail/config.yaml
80+
ports:
81+
- name: grpc
82+
protocol: TCP
83+
containerPort: 50051
84+
livenessProbe:
85+
grpc:
86+
port: 50051
87+
initialDelaySeconds: 5
88+
timeoutSeconds: 30
89+
periodSeconds: 3
90+
failureThreshold: 3
91+
readinessProbe:
92+
grpc:
93+
port: 50051
94+
initialDelaySeconds: 5
95+
timeoutSeconds: 30
96+
periodSeconds: 3
97+
failureThreshold: 3
98+
volumeMounts:
99+
- name: config
100+
mountPath: /etc/kubetail
101+
readOnly: true
102+
- name: varlog
103+
mountPath: /var/log
104+
readOnly: true
105+
- name: varlibdockercontainers
106+
mountPath: /var/lib/docker/containers
107+
readOnly: true
108+
volumes:
109+
- name: config
110+
configMap:
111+
name: kubetail-cluster-agent
112+
- name: varlog
113+
hostPath:
114+
path: /var/log
115+
- name: varlibdockercontainers
116+
hostPath:
117+
path: /var/lib/docker/containers
118+
tolerations:
119+
- effect: NoSchedule
120+
key: node-role.kubernetes.io/master
121+
operator: Exists
122+
- effect: NoSchedule
123+
key: node-role.kubernetes.io/control-plane
124+
operator: Exists
125+
---
126+
kind: Service
127+
apiVersion: v1
128+
metadata:
129+
name: kubetail-cluster-agent
130+
namespace: kubetail-system
131+
labels:
132+
app.kubernetes.io/name: "kubetail"
133+
app.kubernetes.io/version: "0.9.2"
134+
app.kubernetes.io/instance: "kubetail"
135+
app.kubernetes.io/component: "cluster-agent"
136+
spec:
137+
clusterIP: None
138+
selector:
139+
app.kubernetes.io/name: "kubetail"
140+
app.kubernetes.io/instance: "kubetail"
141+
app.kubernetes.io/component: "cluster-agent"
142+
---
143+
kind: NetworkPolicy
144+
apiVersion: networking.k8s.io/v1
145+
metadata:
146+
name: kubetail-cluster-agent
147+
namespace: kubetail-system
148+
labels:
149+
app.kubernetes.io/name: "kubetail"
150+
app.kubernetes.io/version: "0.9.2"
151+
app.kubernetes.io/instance: "kubetail"
152+
app.kubernetes.io/component: "cluster-agent"
153+
spec:
154+
podSelector:
155+
matchLabels:
156+
app.kubernetes.io/name: "kubetail"
157+
app.kubernetes.io/instance: "kubetail"
158+
app.kubernetes.io/component: "cluster-agent"
159+
ingress:
160+
- from:
161+
- podSelector:
162+
matchLabels:
163+
app.kubernetes.io/name: "kubetail"
164+
app.kubernetes.io/instance: "kubetail"
165+
app.kubernetes.io/component: "cluster-api"

0 commit comments

Comments
 (0)