Skip to content

Commit 430d124

Browse files
authored
Merge pull request #9266 from JoelSpeed/schemebuilder-remaining-groups
🌱 Remove reliance on controller-runtime scheme builder for remaining API groups
2 parents 9f7f548 + 0b6aa49 commit 430d124

23 files changed

+95
-41
lines changed

bootstrap/kubeadm/api/v1beta1/groupversion_info.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,26 @@ limitations under the License.
2020
package v1beta1
2121

2222
import (
23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24+
"k8s.io/apimachinery/pkg/runtime"
2325
"k8s.io/apimachinery/pkg/runtime/schema"
24-
"sigs.k8s.io/controller-runtime/pkg/scheme"
2526
)
2627

2728
var (
2829
// GroupVersion is group version used to register these objects.
2930
GroupVersion = schema.GroupVersion{Group: "bootstrap.cluster.x-k8s.io", Version: "v1beta1"}
3031

31-
// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
32-
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
32+
// schemeBuilder is used to add go types to the GroupVersionKind scheme.
33+
schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
3334

3435
// AddToScheme adds the types in this group-version to the given scheme.
35-
AddToScheme = SchemeBuilder.AddToScheme
36+
AddToScheme = schemeBuilder.AddToScheme
37+
38+
objectTypes = []runtime.Object{}
3639
)
40+
41+
func addKnownTypes(scheme *runtime.Scheme) error {
42+
scheme.AddKnownTypes(GroupVersion, objectTypes...)
43+
metav1.AddToGroupVersion(scheme, GroupVersion)
44+
return nil
45+
}

bootstrap/kubeadm/api/v1beta1/kubeadmconfig_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ type KubeadmConfigList struct {
193193
}
194194

195195
func init() {
196-
SchemeBuilder.Register(&KubeadmConfig{}, &KubeadmConfigList{})
196+
objectTypes = append(objectTypes, &KubeadmConfig{}, &KubeadmConfigList{})
197197
}
198198

199199
// Encoding specifies the cloud-init file encoding.

bootstrap/kubeadm/api/v1beta1/kubeadmconfigtemplate_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,5 @@ type KubeadmConfigTemplateList struct {
6060
}
6161

6262
func init() {
63-
SchemeBuilder.Register(&KubeadmConfigTemplate{}, &KubeadmConfigTemplateList{})
63+
objectTypes = append(objectTypes, &KubeadmConfigTemplate{}, &KubeadmConfigTemplateList{})
6464
}

cmd/clusterctl/api/v1alpha3/groupversion_info.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,26 @@ limitations under the License.
2020
package v1alpha3
2121

2222
import (
23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24+
runtime "k8s.io/apimachinery/pkg/runtime"
2325
"k8s.io/apimachinery/pkg/runtime/schema"
24-
"sigs.k8s.io/controller-runtime/pkg/scheme"
2526
)
2627

2728
var (
2829
// GroupVersion is group version used to register these objects.
2930
GroupVersion = schema.GroupVersion{Group: "clusterctl.cluster.x-k8s.io", Version: "v1alpha3"}
3031

31-
// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
32-
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
32+
// schemeBuilder is used to add go types to the GroupVersionKind scheme.
33+
schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
3334

3435
// AddToScheme adds the types in this group-version to the given scheme.
35-
AddToScheme = SchemeBuilder.AddToScheme
36+
AddToScheme = schemeBuilder.AddToScheme
37+
38+
objectTypes = []runtime.Object{}
3639
)
40+
41+
func addKnownTypes(scheme *runtime.Scheme) error {
42+
scheme.AddKnownTypes(GroupVersion, objectTypes...)
43+
metav1.AddToGroupVersion(scheme, GroupVersion)
44+
return nil
45+
}

cmd/clusterctl/api/v1alpha3/metadata_type.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func (rs ReleaseSeries) newer(release ReleaseSeries) bool {
5454
}
5555

5656
func init() {
57-
SchemeBuilder.Register(&Metadata{})
57+
objectTypes = append(objectTypes, &Metadata{})
5858
}
5959

6060
// GetReleaseSeriesForVersion returns the release series for a given version.

cmd/clusterctl/api/v1alpha3/provider_type.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,5 +222,5 @@ func (l *ProviderList) filterBy(predicate func(p Provider) bool) []Provider {
222222
}
223223

224224
func init() {
225-
SchemeBuilder.Register(&Provider{}, &ProviderList{})
225+
objectTypes = append(objectTypes, &Provider{}, &ProviderList{})
226226
}

cmd/clusterctl/api/v1alpha3/zz_generated.deepcopy.go

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

controlplane/kubeadm/api/v1beta1/groupversion_info.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,26 @@ limitations under the License.
2020
package v1beta1
2121

2222
import (
23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24+
"k8s.io/apimachinery/pkg/runtime"
2325
"k8s.io/apimachinery/pkg/runtime/schema"
24-
"sigs.k8s.io/controller-runtime/pkg/scheme"
2526
)
2627

2728
var (
2829
// GroupVersion is group version used to register these objects.
2930
GroupVersion = schema.GroupVersion{Group: "controlplane.cluster.x-k8s.io", Version: "v1beta1"}
3031

31-
// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
32-
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
32+
// schemeBuilder is used to add go types to the GroupVersionKind scheme.
33+
schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
3334

3435
// AddToScheme adds the types in this group-version to the given scheme.
35-
AddToScheme = SchemeBuilder.AddToScheme
36+
AddToScheme = schemeBuilder.AddToScheme
37+
38+
objectTypes = []runtime.Object{}
3639
)
40+
41+
func addKnownTypes(scheme *runtime.Scheme) error {
42+
scheme.AddKnownTypes(GroupVersion, objectTypes...)
43+
metav1.AddToGroupVersion(scheme, GroupVersion)
44+
return nil
45+
}

controlplane/kubeadm/api/v1beta1/kubeadm_control_plane_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,5 +359,5 @@ type KubeadmControlPlaneList struct {
359359
}
360360

361361
func init() {
362-
SchemeBuilder.Register(&KubeadmControlPlane{}, &KubeadmControlPlaneList{})
362+
objectTypes = append(objectTypes, &KubeadmControlPlane{}, &KubeadmControlPlaneList{})
363363
}

controlplane/kubeadm/api/v1beta1/kubeadmcontrolplanetemplate_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ type KubeadmControlPlaneTemplateList struct {
5151
}
5252

5353
func init() {
54-
SchemeBuilder.Register(&KubeadmControlPlaneTemplate{}, &KubeadmControlPlaneTemplateList{})
54+
objectTypes = append(objectTypes, &KubeadmControlPlaneTemplate{}, &KubeadmControlPlaneTemplateList{})
5555
}
5656

5757
// KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template.

0 commit comments

Comments
 (0)