diff --git a/bootstrap/kubeadm/api/v1beta1/zz_generated.deepcopy.go b/bootstrap/kubeadm/api/v1beta1/zz_generated.deepcopy.go index 80ce9d284902..5af4c0d9f029 100644 --- a/bootstrap/kubeadm/api/v1beta1/zz_generated.deepcopy.go +++ b/bootstrap/kubeadm/api/v1beta1/zz_generated.deepcopy.go @@ -522,6 +522,11 @@ func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration) { } in.NodeRegistration.DeepCopyInto(&out.NodeRegistration) out.LocalAPIEndpoint = in.LocalAPIEndpoint + if in.Patches != nil { + in, out := &in.Patches, &out.Patches + *out = new(Patches) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitConfiguration. @@ -553,6 +558,11 @@ func (in *JoinConfiguration) DeepCopyInto(out *JoinConfiguration) { *out = new(JoinControlPlane) **out = **in } + if in.Patches != nil { + in, out := &in.Patches, &out.Patches + *out = new(Patches) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JoinConfiguration. @@ -1001,6 +1011,21 @@ func (in *Partition) DeepCopy() *Partition { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Patches) DeepCopyInto(out *Patches) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patches. +func (in *Patches) DeepCopy() *Patches { + if in == nil { + return nil + } + out := new(Patches) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SecretFileSource) DeepCopyInto(out *SecretFileSource) { *out = *in diff --git a/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml b/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml index e8052539a3ba..1c0ba17c4e4e 100644 --- a/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml +++ b/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml @@ -2645,6 +2645,24 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying patches + to components deployed by kubeadm during "kubeadm init". The + minimum kubernetes version needed to support Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory that contains + files named "target[suffix][+patchtype].extension". For + example, "kube-apiserver0+merge.yaml" or just "etcd.json". + "target" can be one of "kube-apiserver", "kube-controller-manager", + "kube-scheduler", "etcd". "patchtype" can be one of "strategic" + "merge" or "json" and they match the patch formats supported + by kubectl. The default "patchtype" is "strategic". "extension" + must be either "json" or "yaml". "suffix" is an optional + string that can be used to determine which patches are applied + first alpha-numerically. + type: string + type: object type: object joinConfiguration: description: JoinConfiguration is the kubeadm configuration for the @@ -2827,6 +2845,24 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying patches + to components deployed by kubeadm during "kubeadm join". The + minimum kubernetes version needed to support Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory that contains + files named "target[suffix][+patchtype].extension". For + example, "kube-apiserver0+merge.yaml" or just "etcd.json". + "target" can be one of "kube-apiserver", "kube-controller-manager", + "kube-scheduler", "etcd". "patchtype" can be one of "strategic" + "merge" or "json" and they match the patch formats supported + by kubectl. The default "patchtype" is "strategic". "extension" + must be either "json" or "yaml". "suffix" is an optional + string that can be used to determine which patches are applied + first alpha-numerically. + type: string + type: object type: object mounts: description: Mounts specifies a list of mount points to be setup. diff --git a/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml b/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml index 7c19a8c0a1eb..def967d0309b 100644 --- a/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml +++ b/bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml @@ -2674,6 +2674,26 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying + patches to components deployed by kubeadm during "kubeadm + init". The minimum kubernetes version needed to support + Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory that + contains files named "target[suffix][+patchtype].extension". + For example, "kube-apiserver0+merge.yaml" or just + "etcd.json". "target" can be one of "kube-apiserver", + "kube-controller-manager", "kube-scheduler", "etcd". + "patchtype" can be one of "strategic" "merge" or + "json" and they match the patch formats supported + by kubectl. The default "patchtype" is "strategic". + "extension" must be either "json" or "yaml". "suffix" + is an optional string that can be used to determine + which patches are applied first alpha-numerically. + type: string + type: object type: object joinConfiguration: description: JoinConfiguration is the kubeadm configuration @@ -2868,6 +2888,26 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying + patches to components deployed by kubeadm during "kubeadm + join". The minimum kubernetes version needed to support + Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory that + contains files named "target[suffix][+patchtype].extension". + For example, "kube-apiserver0+merge.yaml" or just + "etcd.json". "target" can be one of "kube-apiserver", + "kube-controller-manager", "kube-scheduler", "etcd". + "patchtype" can be one of "strategic" "merge" or + "json" and they match the patch formats supported + by kubectl. The default "patchtype" is "strategic". + "extension" must be either "json" or "yaml". "suffix" + is an optional string that can be used to determine + which patches are applied first alpha-numerically. + type: string + type: object type: object mounts: description: Mounts specifies a list of mount points to be diff --git a/bootstrap/kubeadm/types/upstreamv1beta3/zz_generated.deepcopy.go b/bootstrap/kubeadm/types/upstreamv1beta3/zz_generated.deepcopy.go index 3bc51cda8576..f4bf3f5abdfe 100644 --- a/bootstrap/kubeadm/types/upstreamv1beta3/zz_generated.deepcopy.go +++ b/bootstrap/kubeadm/types/upstreamv1beta3/zz_generated.deepcopy.go @@ -360,6 +360,11 @@ func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.Patches != nil { + in, out := &in.Patches, &out.Patches + *out = new(Patches) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitConfiguration. @@ -513,3 +518,18 @@ func (in *NodeRegistrationOptions) DeepCopy() *NodeRegistrationOptions { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Patches) DeepCopyInto(out *Patches) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patches. +func (in *Patches) DeepCopy() *Patches { + if in == nil { + return nil + } + out := new(Patches) + in.DeepCopyInto(out) + return out +} diff --git a/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanes.yaml b/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanes.yaml index abade5b231b6..7b570dfd6442 100644 --- a/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanes.yaml +++ b/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanes.yaml @@ -3112,6 +3112,25 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying + patches to components deployed by kubeadm during "kubeadm + init". The minimum kubernetes version needed to support + Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory that contains + files named "target[suffix][+patchtype].extension". + For example, "kube-apiserver0+merge.yaml" or just "etcd.json". + "target" can be one of "kube-apiserver", "kube-controller-manager", + "kube-scheduler", "etcd". "patchtype" can be one of + "strategic" "merge" or "json" and they match the patch + formats supported by kubectl. The default "patchtype" + is "strategic". "extension" must be either "json" or + "yaml". "suffix" is an optional string that can be used + to determine which patches are applied first alpha-numerically. + type: string + type: object type: object joinConfiguration: description: JoinConfiguration is the kubeadm configuration for @@ -3301,6 +3320,25 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying + patches to components deployed by kubeadm during "kubeadm + join". The minimum kubernetes version needed to support + Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory that contains + files named "target[suffix][+patchtype].extension". + For example, "kube-apiserver0+merge.yaml" or just "etcd.json". + "target" can be one of "kube-apiserver", "kube-controller-manager", + "kube-scheduler", "etcd". "patchtype" can be one of + "strategic" "merge" or "json" and they match the patch + formats supported by kubectl. The default "patchtype" + is "strategic". "extension" must be either "json" or + "yaml". "suffix" is an optional string that can be used + to determine which patches are applied first alpha-numerically. + type: string + type: object type: object mounts: description: Mounts specifies a list of mount points to be setup. diff --git a/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanetemplates.yaml b/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanetemplates.yaml index f40ba5f39604..ca6ea8d480f9 100644 --- a/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanetemplates.yaml +++ b/controlplane/kubeadm/config/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanetemplates.yaml @@ -1911,6 +1911,27 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying + patches to components deployed by kubeadm during + "kubeadm init". The minimum kubernetes version needed + to support Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory + that contains files named "target[suffix][+patchtype].extension". + For example, "kube-apiserver0+merge.yaml" or + just "etcd.json". "target" can be one of "kube-apiserver", + "kube-controller-manager", "kube-scheduler", + "etcd". "patchtype" can be one of "strategic" + "merge" or "json" and they match the patch formats + supported by kubectl. The default "patchtype" + is "strategic". "extension" must be either "json" + or "yaml". "suffix" is an optional string that + can be used to determine which patches are applied + first alpha-numerically. + type: string + type: object type: object joinConfiguration: description: JoinConfiguration is the kubeadm configuration @@ -2114,6 +2135,27 @@ spec: type: object type: array type: object + patches: + description: Patches contains options related to applying + patches to components deployed by kubeadm during + "kubeadm join". The minimum kubernetes version needed + to support Patches is v1.22 + properties: + directory: + description: Directory is a path to a directory + that contains files named "target[suffix][+patchtype].extension". + For example, "kube-apiserver0+merge.yaml" or + just "etcd.json". "target" can be one of "kube-apiserver", + "kube-controller-manager", "kube-scheduler", + "etcd". "patchtype" can be one of "strategic" + "merge" or "json" and they match the patch formats + supported by kubectl. The default "patchtype" + is "strategic". "extension" must be either "json" + or "yaml". "suffix" is an optional string that + can be used to determine which patches are applied + first alpha-numerically. + type: string + type: object type: object mounts: description: Mounts specifies a list of mount points to