Skip to content

Commit 51f4450

Browse files
committed
Add template metadata to CABPK and KCP types
Signed-off-by: Stefan Büringer [email protected]
1 parent d21addf commit 51f4450

13 files changed

+132
-30
lines changed

bootstrap/kubeadm/api/v1alpha3/conversion.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ func (src *KubeadmConfigTemplate) ConvertTo(dstRaw conversion.Hub) error {
147147
}
148148
}
149149

150+
dst.Spec.Template.ObjectMeta = restored.Spec.Template.ObjectMeta
151+
150152
if restored.Spec.Template.Spec.JoinConfiguration != nil && restored.Spec.Template.Spec.JoinConfiguration.NodeRegistration.IgnorePreflightErrors != nil {
151153
if dst.Spec.Template.Spec.JoinConfiguration == nil {
152154
dst.Spec.Template.Spec.JoinConfiguration = &bootstrapv1.JoinConfiguration{}
@@ -275,3 +277,8 @@ func Convert_v1beta1_User_To_v1alpha3_User(in *bootstrapv1.User, out *User, s ap
275277
// User.PasswdFrom does not exist in kubeadm v1alpha3 API.
276278
return autoConvert_v1beta1_User_To_v1alpha3_User(in, out, s)
277279
}
280+
281+
func Convert_v1beta1_KubeadmConfigTemplateResource_To_v1alpha3_KubeadmConfigTemplateResource(in *bootstrapv1.KubeadmConfigTemplateResource, out *KubeadmConfigTemplateResource, s apiconversion.Scope) error {
282+
// KubeadmConfigTemplateResource.metadata does not exist in kubeadm v1alpha3.
283+
return autoConvert_v1beta1_KubeadmConfigTemplateResource_To_v1alpha3_KubeadmConfigTemplateResource(in, out, s)
284+
}

bootstrap/kubeadm/api/v1alpha3/zz_generated.conversion.go

Lines changed: 6 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/api/v1alpha4/conversion.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ func (src *KubeadmConfigTemplate) ConvertTo(dstRaw conversion.Hub) error {
127127
}
128128
}
129129

130+
dst.Spec.Template.ObjectMeta = restored.Spec.Template.ObjectMeta
131+
130132
dst.Spec.Template.Spec.Ignition = restored.Spec.Template.Spec.Ignition
131133
if restored.Spec.Template.Spec.InitConfiguration != nil {
132134
if dst.Spec.Template.Spec.InitConfiguration == nil {
@@ -213,3 +215,8 @@ func Convert_v1beta1_NodeRegistrationOptions_To_v1alpha4_NodeRegistrationOptions
213215
// kubeadm v1alpha4 API.
214216
return autoConvert_v1beta1_NodeRegistrationOptions_To_v1alpha4_NodeRegistrationOptions(in, out, s)
215217
}
218+
219+
func Convert_v1beta1_KubeadmConfigTemplateResource_To_v1alpha4_KubeadmConfigTemplateResource(in *bootstrapv1.KubeadmConfigTemplateResource, out *KubeadmConfigTemplateResource, s apiconversion.Scope) error {
220+
// KubeadmConfigTemplateResource.metadata does not exist in kubeadm v1alpha4.
221+
return autoConvert_v1beta1_KubeadmConfigTemplateResource_To_v1alpha4_KubeadmConfigTemplateResource(in, out, s)
222+
}

bootstrap/kubeadm/api/v1alpha4/zz_generated.conversion.go

Lines changed: 6 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/api/v1beta1/kubeadmconfigtemplate_types.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ package v1beta1
1818

1919
import (
2020
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21+
22+
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
2123
)
2224

2325
// KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate.
@@ -27,6 +29,11 @@ type KubeadmConfigTemplateSpec struct {
2729

2830
// KubeadmConfigTemplateResource defines the Template structure.
2931
type KubeadmConfigTemplateResource struct {
32+
// Standard object's metadata.
33+
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
34+
// +optional
35+
ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`
36+
3037
Spec KubeadmConfigSpec `json:"spec,omitempty"`
3138
}
3239

bootstrap/kubeadm/api/v1beta1/zz_generated.deepcopy.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controlplane/kubeadm/api/v1alpha4/conversion.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ func (src *KubeadmControlPlaneTemplate) ConvertTo(dstRaw conversion.Hub) error {
143143
}
144144
}
145145

146+
dst.Spec.Template.ObjectMeta = restored.Spec.Template.ObjectMeta
147+
if restored.Spec.Template.Spec.MachineTemplate != nil {
148+
dst.Spec.Template.Spec.MachineTemplate.ObjectMeta = restored.Spec.Template.Spec.MachineTemplate.ObjectMeta
149+
}
150+
146151
if restored.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration != nil {
147152
if dst.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration == nil {
148153
dst.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration = &bootstrapv1.InitConfiguration{}
@@ -281,3 +286,8 @@ func Convert_v1beta1_KubeadmControlPlaneStatus_To_v1alpha4_KubeadmControlPlaneSt
281286
// .LastRemediation was added in v1beta1.
282287
return autoConvert_v1beta1_KubeadmControlPlaneStatus_To_v1alpha4_KubeadmControlPlaneStatus(in, out, scope)
283288
}
289+
290+
func Convert_v1beta1_KubeadmControlPlaneTemplateResource_To_v1alpha4_KubeadmControlPlaneTemplateResource(in *controlplanev1.KubeadmControlPlaneTemplateResource, out *KubeadmControlPlaneTemplateResource, scope apiconversion.Scope) error {
291+
// .metadata and .spec.machineTemplate.metadata was added in v1beta1.
292+
return autoConvert_v1beta1_KubeadmControlPlaneTemplateResource_To_v1alpha4_KubeadmControlPlaneTemplateResource(in, out, scope)
293+
}

controlplane/kubeadm/api/v1alpha4/zz_generated.conversion.go

Lines changed: 6 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controlplane/kubeadm/api/v1beta1/kubeadmcontrolplanetemplate_types.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package v1beta1
1919
import (
2020
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2121

22+
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
2223
bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1"
2324
)
2425

@@ -55,6 +56,11 @@ func init() {
5556

5657
// KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template.
5758
type KubeadmControlPlaneTemplateResource struct {
59+
// Standard object's metadata.
60+
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
61+
// +optional
62+
ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`
63+
5864
Spec KubeadmControlPlaneTemplateResourceSpec `json:"spec"`
5965
}
6066

@@ -104,6 +110,11 @@ type KubeadmControlPlaneTemplateResourceSpec struct {
104110
// because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot
105111
// be configured on the KubeadmControlPlaneTemplate.
106112
type KubeadmControlPlaneTemplateMachineTemplate struct {
113+
// Standard object's metadata.
114+
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
115+
// +optional
116+
ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`
117+
107118
// NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
108119
// The default value is 0, meaning that the node can be drained without any time limitations.
109120
// NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`

0 commit comments

Comments
 (0)