diff --git a/config/v1/types_node.go b/config/v1/types_node.go index b3b1b62c4df..7a363682838 100644 --- a/config/v1/types_node.go +++ b/config/v1/types_node.go @@ -46,6 +46,13 @@ type NodeSpec struct { // the status and corresponding reaction of the cluster // +optional WorkerLatencyProfile WorkerLatencyProfileType `json:"workerLatencyProfile,omitempty"` + + // MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. + // Specifically, the apiserver will deny any authorization requests of kubelets that are older + // than the specified version. + // +kubebuilder:validation:Pattern=`^([0-9]*\.[0-9]*\.[0-9]*$` + // +optional + MinimumKubeletVersion string `json:"minimumKubeletVersion,omitempty"` } type NodeStatus struct { diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_nodes.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_nodes.crd.yaml index 87de7f1b93d..53297d7bdf4 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_nodes.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_nodes.crd.yaml @@ -52,6 +52,13 @@ spec: - v2 - "" type: string + minimumKubeletVersion: + description: |- + MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. + Specifically, the apiserver will deny any authorization requests of kubelets that are older + than the specified version. + pattern: ^([0-9]*\.[0-9]*\.[0-9]*$ + type: string workerLatencyProfile: description: |- WorkerLatencyProfile determins the how fast the kubelet is updating diff --git a/config/v1/zz_generated.featuregated-crd-manifests/nodes.config.openshift.io/AAA_ungated.yaml b/config/v1/zz_generated.featuregated-crd-manifests/nodes.config.openshift.io/AAA_ungated.yaml index e7a9a23a9ab..fae617e3470 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/nodes.config.openshift.io/AAA_ungated.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/nodes.config.openshift.io/AAA_ungated.yaml @@ -53,6 +53,13 @@ spec: - v2 - "" type: string + minimumKubeletVersion: + description: |- + MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. + Specifically, the apiserver will deny any authorization requests of kubelets that are older + than the specified version. + pattern: ^([0-9]*\.[0-9]*\.[0-9]*$ + type: string workerLatencyProfile: description: |- WorkerLatencyProfile determins the how fast the kubelet is updating diff --git a/config/v1/zz_generated.swagger_doc_generated.go b/config/v1/zz_generated.swagger_doc_generated.go index ea3a424046c..2af2cb4b264 100644 --- a/config/v1/zz_generated.swagger_doc_generated.go +++ b/config/v1/zz_generated.swagger_doc_generated.go @@ -2088,8 +2088,9 @@ func (NodeList) SwaggerDoc() map[string]string { } var map_NodeSpec = map[string]string{ - "cgroupMode": "CgroupMode determines the cgroups version on the node", - "workerLatencyProfile": "WorkerLatencyProfile determins the how fast the kubelet is updating the status and corresponding reaction of the cluster", + "cgroupMode": "CgroupMode determines the cgroups version on the node", + "workerLatencyProfile": "WorkerLatencyProfile determins the how fast the kubelet is updating the status and corresponding reaction of the cluster", + "minimumKubeletVersion": "MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. Specifically, the apiserver will deny any authorization requests of kubelets that are older than the specified version.", } func (NodeSpec) SwaggerDoc() map[string]string { diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index 85d590eff7b..2249d454934 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -15552,6 +15552,13 @@ func schema_openshift_api_config_v1_NodeSpec(ref common.ReferenceCallback) commo Format: "", }, }, + "minimumKubeletVersion": { + SchemaProps: spec.SchemaProps{ + Description: "MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. Specifically, the apiserver will deny any authorization requests of kubelets that are older than the specified version.", + Type: []string{"string"}, + Format: "", + }, + }, }, }, }, diff --git a/openapi/openapi.json b/openapi/openapi.json index 5195c2eeb93..c6022c67586 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -8270,6 +8270,10 @@ "description": "CgroupMode determines the cgroups version on the node", "type": "string" }, + "minimumKubeletVersion": { + "description": "MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. Specifically, the apiserver will deny any authorization requests of kubelets that are older than the specified version.", + "type": "string" + }, "workerLatencyProfile": { "description": "WorkerLatencyProfile determins the how fast the kubelet is updating the status and corresponding reaction of the cluster", "type": "string" diff --git a/payload-manifests/crds/0000_10_config-operator_01_nodes.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_nodes.crd.yaml index 87de7f1b93d..53297d7bdf4 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_nodes.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_nodes.crd.yaml @@ -52,6 +52,13 @@ spec: - v2 - "" type: string + minimumKubeletVersion: + description: |- + MinimumKubeletVersion is the lowest version of a kubelet that can join the cluster. + Specifically, the apiserver will deny any authorization requests of kubelets that are older + than the specified version. + pattern: ^([0-9]*\.[0-9]*\.[0-9]*$ + type: string workerLatencyProfile: description: |- WorkerLatencyProfile determins the how fast the kubelet is updating