Skip to content

Commit 384b22c

Browse files
committed
feat: kubelet bootstrap token
Generate a short-lived bootstrap token for kubelet. And remove it once the node has finished initialization. Signed-off-by: Serge Logvinov <[email protected]>
1 parent a0cad4d commit 384b22c

39 files changed

+544
-126
lines changed

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ gen-objects: ## generate the controller-gen related objects
100100
.PHONY: manifests
101101
manifests: ## generate the controller-gen kubernetes manifests
102102
rm -rf pkg/apis/crds/*
103-
$(CONTROLLER_GEN) rbac:roleName=manager-role crd object:headerFile="hack/boilerplate.go.txt" paths="./..." output:crd:artifacts:config=pkg/apis/crds
104-
$(CONTROLLER_GEN) rbac:roleName=manager-role crd paths="./vendor/sigs.k8s.io/karpenter/..." output:crd:artifacts:config=pkg/apis/crds
103+
$(CONTROLLER_GEN) crd object:headerFile="hack/boilerplate.go.txt" paths="./..." output:crd:artifacts:config=pkg/apis/crds
104+
$(CONTROLLER_GEN) crd paths="./vendor/sigs.k8s.io/karpenter/..." output:crd:artifacts:config=pkg/apis/crds
105+
$(CONTROLLER_GEN) rbac:roleName=karpenter-provider-proxmox paths="./pkg/..." output:rbac:dir=pkg/apis/rbac
105106

106107
.PHONY: install
107108
install: ## Install

charts/karpenter-provider-proxmox/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ maintainers:
1818
url: https://github.com/sergelogvinov
1919
#
2020
# Versions are expected to follow Semantic Versioning (https://semver.org/)
21-
version: 0.2.3
21+
version: 0.2.4
2222
# This is the version number of the application being deployed. This version number should be
2323
# incremented each time you make changes to the application. Versions are not expected to
2424
# follow Semantic Versioning. They should reflect the version the application is using.

charts/karpenter-provider-proxmox/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# karpenter-provider-proxmox
22

3-
![Version: 0.2.3](https://img.shields.io/badge/Version-0.2.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.4.0](https://img.shields.io/badge/AppVersion-v0.4.0-informational?style=flat-square)
3+
![Version: 0.2.4](https://img.shields.io/badge/Version-0.2.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.4.0](https://img.shields.io/badge/AppVersion-v0.4.0-informational?style=flat-square)
44

55
Karpenter for Proxmox VE.
66

charts/karpenter-provider-proxmox/crds/karpenter.proxmox.sinextra.dev_proxmoxnodeclasses.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: proxmoxnodeclasses.karpenter.proxmox.sinextra.dev
88
spec:
99
group: karpenter.proxmox.sinextra.dev

charts/karpenter-provider-proxmox/crds/karpenter.proxmox.sinextra.dev_proxmoxtemplates.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: proxmoxtemplates.karpenter.proxmox.sinextra.dev
88
spec:
99
group: karpenter.proxmox.sinextra.dev

charts/karpenter-provider-proxmox/crds/karpenter.proxmox.sinextra.dev_proxmoxunmanagedtemplates.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: proxmoxunmanagedtemplates.karpenter.proxmox.sinextra.dev
88
spec:
99
group: karpenter.proxmox.sinextra.dev

charts/karpenter-provider-proxmox/crds/karpenter.sh_nodeclaims.yaml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: nodeclaims.karpenter.sh
88
spec:
99
group: karpenter.sh
@@ -205,9 +205,8 @@ spec:
205205
description: Required. The taint key to be applied to a node.
206206
type: string
207207
timeAdded:
208-
description: |-
209-
TimeAdded represents the time at which the taint was added.
210-
It is only written for NoExecute taints.
208+
description: TimeAdded represents the time at which the taint
209+
was added.
211210
format: date-time
212211
type: string
213212
value:
@@ -235,9 +234,8 @@ spec:
235234
description: Required. The taint key to be applied to a node.
236235
type: string
237236
timeAdded:
238-
description: |-
239-
TimeAdded represents the time at which the taint was added.
240-
It is only written for NoExecute taints.
237+
description: TimeAdded represents the time at which the taint
238+
was added.
241239
format: date-time
242240
type: string
243241
value:

charts/karpenter-provider-proxmox/crds/karpenter.sh_nodepools.yaml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: nodepools.karpenter.sh
88
spec:
99
group: karpenter.sh
@@ -320,9 +320,8 @@ spec:
320320
a node.
321321
type: string
322322
timeAdded:
323-
description: |-
324-
TimeAdded represents the time at which the taint was added.
325-
It is only written for NoExecute taints.
323+
description: TimeAdded represents the time at which
324+
the taint was added.
326325
format: date-time
327326
type: string
328327
value:
@@ -352,9 +351,8 @@ spec:
352351
a node.
353352
type: string
354353
timeAdded:
355-
description: |-
356-
TimeAdded represents the time at which the taint was added.
357-
It is only written for NoExecute taints.
354+
description: TimeAdded represents the time at which
355+
the taint was added.
358356
format: date-time
359357
type: string
360358
value:

charts/karpenter-provider-proxmox/templates/clusterrole.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,33 @@ rules:
3838
- apiGroups: [""]
3939
resources: ["secrets"]
4040
verbs: ["list", "watch"]
41+
---
42+
apiVersion: rbac.authorization.k8s.io/v1
43+
kind: ClusterRoleBinding
44+
metadata:
45+
name: {{ include "karpenter-provider-proxmox.fullname" . }}:bootstrap-node-bootstrapper
46+
labels:
47+
{{- include "karpenter-provider-proxmox.labels" . | nindent 4 }}
48+
roleRef:
49+
apiGroup: rbac.authorization.k8s.io
50+
kind: ClusterRole
51+
name: system:node-bootstrapper
52+
subjects:
53+
- apiGroup: rbac.authorization.k8s.io
54+
kind: Group
55+
name: system:bootstrappers:karpenter:proxmox
56+
---
57+
apiVersion: rbac.authorization.k8s.io/v1
58+
kind: ClusterRoleBinding
59+
metadata:
60+
name: {{ include "karpenter-provider-proxmox.fullname" . }}:bootstrap-approve-node-client-csr
61+
labels:
62+
{{- include "karpenter-provider-proxmox.labels" . | nindent 4 }}
63+
roleRef:
64+
apiGroup: rbac.authorization.k8s.io
65+
kind: ClusterRole
66+
name: system:certificates.k8s.io:certificatesigningrequests:nodeclient
67+
subjects:
68+
- apiGroup: rbac.authorization.k8s.io
69+
kind: Group
70+
name: system:bootstrappers:karpenter:proxmox

charts/karpenter-provider-proxmox/templates/role.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,24 @@ rules:
4242
- get
4343
- list
4444
- watch
45+
---
46+
apiVersion: rbac.authorization.k8s.io/v1
47+
kind: Role
48+
metadata:
49+
name: {{ include "karpenter-provider-proxmox.fullname" . }}:bootstrap
50+
namespace: kube-system
51+
labels:
52+
{{- include "karpenter-provider-proxmox.labels" . | nindent 4 }}
53+
rules:
54+
- apiGroups:
55+
- ""
56+
resources:
57+
- secrets
58+
verbs:
59+
- get
60+
- list
61+
- watch
62+
- create
63+
- update
64+
- patch
65+
- delete

0 commit comments

Comments
 (0)