Skip to content

Commit 7c06531

Browse files
authored
Merge pull request #9185 from JoelSpeed/exp-schemebuilder
🌱 Remove reliance on controller-runtime scheme builder for experimental APIs
2 parents 37abaf2 + ec85d57 commit 7c06531

12 files changed

+60
-24
lines changed

exp/addons/api/v1beta1/clusterresourceset_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,5 +140,5 @@ type ClusterResourceSetList struct {
140140
}
141141

142142
func init() {
143-
SchemeBuilder.Register(&ClusterResourceSet{}, &ClusterResourceSetList{})
143+
objectTypes = append(objectTypes, &ClusterResourceSet{}, &ClusterResourceSetList{})
144144
}

exp/addons/api/v1beta1/clusterresourcesetbinding_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,5 +152,5 @@ type ClusterResourceSetBindingList struct {
152152
}
153153

154154
func init() {
155-
SchemeBuilder.Register(&ClusterResourceSetBinding{}, &ClusterResourceSetBindingList{})
155+
objectTypes = append(objectTypes, &ClusterResourceSetBinding{}, &ClusterResourceSetBindingList{})
156156
}

exp/addons/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: "addons.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+
}

exp/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: "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+
}

exp/api/v1beta1/machinepool_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,5 +249,5 @@ type MachinePoolList struct {
249249
}
250250

251251
func init() {
252-
SchemeBuilder.Register(&MachinePool{}, &MachinePoolList{})
252+
objectTypes = append(objectTypes, &MachinePool{}, &MachinePoolList{})
253253
}

exp/ipam/api/v1alpha1/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 v1alpha1
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: "ipam.cluster.x-k8s.io", Version: "v1alpha1"}
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+
}

exp/ipam/api/v1alpha1/ipaddress_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,5 @@ type IPAddressList struct {
6565
}
6666

6767
func init() {
68-
SchemeBuilder.Register(&IPAddress{}, &IPAddressList{})
68+
objectTypes = append(objectTypes, &IPAddress{}, &IPAddressList{})
6969
}

exp/ipam/api/v1alpha1/ipaddressclaim_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,5 @@ type IPAddressClaimList struct {
7676
}
7777

7878
func init() {
79-
SchemeBuilder.Register(&IPAddressClaim{}, &IPAddressClaimList{})
79+
objectTypes = append(objectTypes, &IPAddressClaim{}, &IPAddressClaimList{})
8080
}

exp/ipam/api/v1alpha1/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.

exp/runtime/api/v1alpha1/extensionconfig_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ type ExtensionConfigList struct {
197197
}
198198

199199
func init() {
200-
SchemeBuilder.Register(&ExtensionConfig{}, &ExtensionConfigList{})
200+
objectTypes = append(objectTypes, &ExtensionConfig{}, &ExtensionConfigList{})
201201
}
202202

203203
const (

0 commit comments

Comments
 (0)