porkadot 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/hack/metallb/crds/kustomization.yaml +5 -0
  3. data/hack/metallb/exclude-l2-config.yaml +8 -0
  4. data/hack/metallb/kustomization.yaml +10 -0
  5. data/hack/update-kubelet-cert-approver.sh +6 -0
  6. data/hack/update-metallb.sh +7 -0
  7. data/lib/porkadot/assets/bootstrap/manifests/kube-apiserver.bootstrap.yaml.erb +1 -1
  8. data/lib/porkadot/assets/etcd/etcd-server.yaml.erb +17 -9
  9. data/lib/porkadot/assets/etcd/etcd.env.erb +4 -0
  10. data/lib/porkadot/assets/etcd/install.sh.erb +1 -0
  11. data/lib/porkadot/assets/etcd.rb +1 -0
  12. data/lib/porkadot/assets/kubelet/config.yaml.erb +1 -39
  13. data/lib/porkadot/assets/kubelet/initiatorname.iscsi.erb +1 -0
  14. data/lib/porkadot/assets/kubelet/kubelet.service.erb +2 -6
  15. data/lib/porkadot/assets/kubelet/metadata.json.erb +5 -0
  16. data/lib/porkadot/assets/{kubelet → kubelet-default}/install-deps.sh.erb +3 -1
  17. data/lib/porkadot/assets/{kubelet → kubelet-default}/install-pkgs.sh.erb +1 -3
  18. data/lib/porkadot/assets/kubelet-default/install.sh.erb +22 -7
  19. data/lib/porkadot/assets/kubelet-default/setup-containerd.sh.erb +22 -0
  20. data/lib/porkadot/assets/kubelet-default/setup-node.sh.erb +16 -0
  21. data/lib/porkadot/assets/kubelet.rb +14 -12
  22. data/lib/porkadot/assets/kubernetes/install.sh.erb +3 -1
  23. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/coredns.yaml.erb +1 -1
  24. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/dns-horizontal-autoscaler.yaml.erb +1 -1
  25. data/lib/porkadot/assets/kubernetes/manifests/addons/flannel/flannel.yaml.erb +12 -51
  26. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/kustomization.yaml.erb +3 -0
  27. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/src.yaml.erb +210 -0
  28. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb +3 -1
  29. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml +1272 -0
  30. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb +1 -12
  31. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb +507 -252
  32. data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb +4 -1
  33. data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb +3 -0
  34. data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +3 -1
  35. data/lib/porkadot/assets/kubernetes.rb +22 -1
  36. data/lib/porkadot/config.rb +1 -1
  37. data/lib/porkadot/configs/addons.rb +4 -0
  38. data/lib/porkadot/configs/etcd.rb +9 -0
  39. data/lib/porkadot/configs/kubelet.rb +25 -7
  40. data/lib/porkadot/default.yaml +17 -15
  41. data/lib/porkadot/install/bootstrap.rb +1 -1
  42. data/lib/porkadot/install/kubelet.rb +24 -40
  43. data/lib/porkadot/version.rb +1 -1
  44. data/lib/porkadot.rb +1 -0
  45. metadata +17 -7
  46. data/lib/porkadot/assets/kubelet/install.sh.erb +0 -35
  47. data/lib/porkadot/assets/kubelet/setup-containerd.sh.erb +0 -17
  48. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml +0 -480
@@ -1,480 +0,0 @@
1
- apiVersion: policy/v1beta1
2
- kind: PodSecurityPolicy
3
- metadata:
4
- labels:
5
- app: metallb
6
- name: controller
7
- spec:
8
- allowPrivilegeEscalation: false
9
- allowedCapabilities: []
10
- allowedHostPaths: []
11
- defaultAddCapabilities: []
12
- defaultAllowPrivilegeEscalation: false
13
- fsGroup:
14
- ranges:
15
- - max: 65535
16
- min: 1
17
- rule: MustRunAs
18
- hostIPC: false
19
- hostNetwork: false
20
- hostPID: false
21
- privileged: false
22
- readOnlyRootFilesystem: true
23
- requiredDropCapabilities:
24
- - ALL
25
- runAsUser:
26
- ranges:
27
- - max: 65535
28
- min: 1
29
- rule: MustRunAs
30
- seLinux:
31
- rule: RunAsAny
32
- supplementalGroups:
33
- ranges:
34
- - max: 65535
35
- min: 1
36
- rule: MustRunAs
37
- volumes:
38
- - configMap
39
- - secret
40
- - emptyDir
41
- ---
42
- apiVersion: policy/v1beta1
43
- kind: PodSecurityPolicy
44
- metadata:
45
- labels:
46
- app: metallb
47
- name: speaker
48
- spec:
49
- allowPrivilegeEscalation: false
50
- allowedCapabilities:
51
- - NET_RAW
52
- allowedHostPaths: []
53
- defaultAddCapabilities: []
54
- defaultAllowPrivilegeEscalation: false
55
- fsGroup:
56
- rule: RunAsAny
57
- hostIPC: false
58
- hostNetwork: true
59
- hostPID: false
60
- hostPorts:
61
- - max: 7472
62
- min: 7472
63
- - max: 7946
64
- min: 7946
65
- privileged: true
66
- readOnlyRootFilesystem: true
67
- requiredDropCapabilities:
68
- - ALL
69
- runAsUser:
70
- rule: RunAsAny
71
- seLinux:
72
- rule: RunAsAny
73
- supplementalGroups:
74
- rule: RunAsAny
75
- volumes:
76
- - configMap
77
- - secret
78
- - emptyDir
79
- ---
80
- apiVersion: v1
81
- kind: ServiceAccount
82
- metadata:
83
- labels:
84
- app: metallb
85
- name: controller
86
- namespace: metallb-system
87
- ---
88
- apiVersion: v1
89
- kind: ServiceAccount
90
- metadata:
91
- labels:
92
- app: metallb
93
- name: speaker
94
- namespace: metallb-system
95
- ---
96
- apiVersion: rbac.authorization.k8s.io/v1
97
- kind: ClusterRole
98
- metadata:
99
- labels:
100
- app: metallb
101
- name: metallb-system:controller
102
- rules:
103
- - apiGroups:
104
- - ''
105
- resources:
106
- - services
107
- verbs:
108
- - get
109
- - list
110
- - watch
111
- - apiGroups:
112
- - ''
113
- resources:
114
- - services/status
115
- verbs:
116
- - update
117
- - apiGroups:
118
- - ''
119
- resources:
120
- - events
121
- verbs:
122
- - create
123
- - patch
124
- - apiGroups:
125
- - policy
126
- resourceNames:
127
- - controller
128
- resources:
129
- - podsecuritypolicies
130
- verbs:
131
- - use
132
- ---
133
- apiVersion: rbac.authorization.k8s.io/v1
134
- kind: ClusterRole
135
- metadata:
136
- labels:
137
- app: metallb
138
- name: metallb-system:speaker
139
- rules:
140
- - apiGroups:
141
- - ''
142
- resources:
143
- - services
144
- - endpoints
145
- - nodes
146
- verbs:
147
- - get
148
- - list
149
- - watch
150
- - apiGroups: ["discovery.k8s.io"]
151
- resources:
152
- - endpointslices
153
- verbs:
154
- - get
155
- - list
156
- - watch
157
- - apiGroups:
158
- - ''
159
- resources:
160
- - events
161
- verbs:
162
- - create
163
- - patch
164
- - apiGroups:
165
- - policy
166
- resourceNames:
167
- - speaker
168
- resources:
169
- - podsecuritypolicies
170
- verbs:
171
- - use
172
- ---
173
- apiVersion: rbac.authorization.k8s.io/v1
174
- kind: Role
175
- metadata:
176
- labels:
177
- app: metallb
178
- name: config-watcher
179
- namespace: metallb-system
180
- rules:
181
- - apiGroups:
182
- - ''
183
- resources:
184
- - configmaps
185
- verbs:
186
- - get
187
- - list
188
- - watch
189
- ---
190
- apiVersion: rbac.authorization.k8s.io/v1
191
- kind: Role
192
- metadata:
193
- labels:
194
- app: metallb
195
- name: pod-lister
196
- namespace: metallb-system
197
- rules:
198
- - apiGroups:
199
- - ''
200
- resources:
201
- - pods
202
- verbs:
203
- - list
204
- ---
205
- apiVersion: rbac.authorization.k8s.io/v1
206
- kind: Role
207
- metadata:
208
- labels:
209
- app: metallb
210
- name: controller
211
- namespace: metallb-system
212
- rules:
213
- - apiGroups:
214
- - ''
215
- resources:
216
- - secrets
217
- verbs:
218
- - create
219
- - apiGroups:
220
- - ''
221
- resources:
222
- - secrets
223
- resourceNames:
224
- - memberlist
225
- verbs:
226
- - list
227
- - apiGroups:
228
- - apps
229
- resources:
230
- - deployments
231
- resourceNames:
232
- - controller
233
- verbs:
234
- - get
235
- ---
236
- apiVersion: rbac.authorization.k8s.io/v1
237
- kind: ClusterRoleBinding
238
- metadata:
239
- labels:
240
- app: metallb
241
- name: metallb-system:controller
242
- roleRef:
243
- apiGroup: rbac.authorization.k8s.io
244
- kind: ClusterRole
245
- name: metallb-system:controller
246
- subjects:
247
- - kind: ServiceAccount
248
- name: controller
249
- namespace: metallb-system
250
- ---
251
- apiVersion: rbac.authorization.k8s.io/v1
252
- kind: ClusterRoleBinding
253
- metadata:
254
- labels:
255
- app: metallb
256
- name: metallb-system:speaker
257
- roleRef:
258
- apiGroup: rbac.authorization.k8s.io
259
- kind: ClusterRole
260
- name: metallb-system:speaker
261
- subjects:
262
- - kind: ServiceAccount
263
- name: speaker
264
- namespace: metallb-system
265
- ---
266
- apiVersion: rbac.authorization.k8s.io/v1
267
- kind: RoleBinding
268
- metadata:
269
- labels:
270
- app: metallb
271
- name: config-watcher
272
- namespace: metallb-system
273
- roleRef:
274
- apiGroup: rbac.authorization.k8s.io
275
- kind: Role
276
- name: config-watcher
277
- subjects:
278
- - kind: ServiceAccount
279
- name: controller
280
- - kind: ServiceAccount
281
- name: speaker
282
- ---
283
- apiVersion: rbac.authorization.k8s.io/v1
284
- kind: RoleBinding
285
- metadata:
286
- labels:
287
- app: metallb
288
- name: pod-lister
289
- namespace: metallb-system
290
- roleRef:
291
- apiGroup: rbac.authorization.k8s.io
292
- kind: Role
293
- name: pod-lister
294
- subjects:
295
- - kind: ServiceAccount
296
- name: speaker
297
- ---
298
- apiVersion: rbac.authorization.k8s.io/v1
299
- kind: RoleBinding
300
- metadata:
301
- labels:
302
- app: metallb
303
- name: controller
304
- namespace: metallb-system
305
- roleRef:
306
- apiGroup: rbac.authorization.k8s.io
307
- kind: Role
308
- name: controller
309
- subjects:
310
- - kind: ServiceAccount
311
- name: controller
312
- ---
313
- apiVersion: apps/v1
314
- kind: DaemonSet
315
- metadata:
316
- labels:
317
- app: metallb
318
- component: speaker
319
- name: speaker
320
- namespace: metallb-system
321
- spec:
322
- selector:
323
- matchLabels:
324
- app: metallb
325
- component: speaker
326
- template:
327
- metadata:
328
- annotations:
329
- prometheus.io/port: '7472'
330
- prometheus.io/scrape: 'true'
331
- labels:
332
- app: metallb
333
- component: speaker
334
- spec:
335
- containers:
336
- - args:
337
- - --port=7472
338
- - --config=config
339
- - --log-level=info
340
- env:
341
- - name: METALLB_NODE_NAME
342
- valueFrom:
343
- fieldRef:
344
- fieldPath: spec.nodeName
345
- - name: METALLB_HOST
346
- valueFrom:
347
- fieldRef:
348
- fieldPath: status.hostIP
349
- - name: METALLB_ML_BIND_ADDR
350
- valueFrom:
351
- fieldRef:
352
- fieldPath: status.podIP
353
- # needed when another software is also using memberlist / port 7946
354
- # when changing this default you also need to update the container ports definition
355
- # and the PodSecurityPolicy hostPorts definition
356
- #- name: METALLB_ML_BIND_PORT
357
- # value: "7946"
358
- - name: METALLB_ML_LABELS
359
- value: "app=metallb,component=speaker"
360
- - name: METALLB_ML_SECRET_KEY
361
- valueFrom:
362
- secretKeyRef:
363
- name: memberlist
364
- key: secretkey
365
- image: quay.io/metallb/speaker:v0.12.1
366
- name: speaker
367
- ports:
368
- - containerPort: 7472
369
- name: monitoring
370
- - containerPort: 7946
371
- name: memberlist-tcp
372
- - containerPort: 7946
373
- name: memberlist-udp
374
- protocol: UDP
375
- livenessProbe:
376
- httpGet:
377
- path: /metrics
378
- port: monitoring
379
- initialDelaySeconds: 10
380
- periodSeconds: 10
381
- timeoutSeconds: 1
382
- successThreshold: 1
383
- failureThreshold: 3
384
- readinessProbe:
385
- httpGet:
386
- path: /metrics
387
- port: monitoring
388
- initialDelaySeconds: 10
389
- periodSeconds: 10
390
- timeoutSeconds: 1
391
- successThreshold: 1
392
- failureThreshold: 3
393
- securityContext:
394
- allowPrivilegeEscalation: false
395
- capabilities:
396
- add:
397
- - NET_RAW
398
- drop:
399
- - ALL
400
- readOnlyRootFilesystem: true
401
- hostNetwork: true
402
- nodeSelector:
403
- kubernetes.io/os: linux
404
- serviceAccountName: speaker
405
- terminationGracePeriodSeconds: 2
406
- tolerations:
407
- - effect: NoSchedule
408
- key: node-role.kubernetes.io/master
409
- operator: Exists
410
- ---
411
- apiVersion: apps/v1
412
- kind: Deployment
413
- metadata:
414
- labels:
415
- app: metallb
416
- component: controller
417
- name: controller
418
- namespace: metallb-system
419
- spec:
420
- revisionHistoryLimit: 3
421
- selector:
422
- matchLabels:
423
- app: metallb
424
- component: controller
425
- template:
426
- metadata:
427
- annotations:
428
- prometheus.io/port: '7472'
429
- prometheus.io/scrape: 'true'
430
- labels:
431
- app: metallb
432
- component: controller
433
- spec:
434
- containers:
435
- - args:
436
- - --port=7472
437
- - --config=config
438
- - --log-level=info
439
- env:
440
- - name: METALLB_ML_SECRET_NAME
441
- value: memberlist
442
- - name: METALLB_DEPLOYMENT
443
- value: controller
444
- image: quay.io/metallb/controller:v0.12.1
445
- name: controller
446
- ports:
447
- - containerPort: 7472
448
- name: monitoring
449
- livenessProbe:
450
- httpGet:
451
- path: /metrics
452
- port: monitoring
453
- initialDelaySeconds: 10
454
- periodSeconds: 10
455
- timeoutSeconds: 1
456
- successThreshold: 1
457
- failureThreshold: 3
458
- readinessProbe:
459
- httpGet:
460
- path: /metrics
461
- port: monitoring
462
- initialDelaySeconds: 10
463
- periodSeconds: 10
464
- timeoutSeconds: 1
465
- successThreshold: 1
466
- failureThreshold: 3
467
- securityContext:
468
- allowPrivilegeEscalation: false
469
- capabilities:
470
- drop:
471
- - all
472
- readOnlyRootFilesystem: true
473
- nodeSelector:
474
- kubernetes.io/os: linux
475
- securityContext:
476
- runAsNonRoot: true
477
- runAsUser: 65534
478
- fsGroup: 65534
479
- serviceAccountName: controller
480
- terminationGracePeriodSeconds: 0