Skip to content

Commit e0c9cdb

Browse files
committed
Remove reliance on controller-runtime scheme builder
1 parent 13d90f9 commit e0c9cdb

9 files changed

+25
-14
lines changed

api/v1beta1/cluster_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ type ClusterList struct {
599599
}
600600

601601
func init() {
602-
SchemeBuilder.Register(&Cluster{}, &ClusterList{})
602+
objectTypes = append(objectTypes, &Cluster{}, &ClusterList{})
603603
}
604604

605605
// FailureDomains is a slice of FailureDomains.

api/v1beta1/clusterclass_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -706,5 +706,5 @@ type ClusterClassList struct {
706706
}
707707

708708
func init() {
709-
SchemeBuilder.Register(&ClusterClass{}, &ClusterClassList{})
709+
objectTypes = append(objectTypes, &ClusterClass{}, &ClusterClassList{})
710710
}

api/v1beta1/groupversion_info.go

+13-4
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+
}

api/v1beta1/machine_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -307,5 +307,5 @@ type MachineList struct {
307307
}
308308

309309
func init() {
310-
SchemeBuilder.Register(&Machine{}, &MachineList{})
310+
objectTypes = append(objectTypes, &Machine{}, &MachineList{})
311311
}

api/v1beta1/machinedeployment_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ type MachineDeploymentList struct {
337337
}
338338

339339
func init() {
340-
SchemeBuilder.Register(&MachineDeployment{}, &MachineDeploymentList{})
340+
objectTypes = append(objectTypes, &MachineDeployment{}, &MachineDeploymentList{})
341341
}
342342

343343
// GetConditions returns the set of conditions for the machinedeployment.

api/v1beta1/machinedeployment_webhook_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
. "github.com/onsi/gomega"
2424
admissionv1 "k8s.io/api/admission/v1"
2525
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26+
"k8s.io/apimachinery/pkg/runtime"
2627
"k8s.io/apimachinery/pkg/util/intstr"
2728
"k8s.io/utils/pointer"
2829
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
@@ -44,8 +45,8 @@ func TestMachineDeploymentDefault(t *testing.T) {
4445
},
4546
}
4647

47-
scheme, err := SchemeBuilder.Build()
48-
g.Expect(err).ToNot(HaveOccurred())
48+
scheme := runtime.NewScheme()
49+
g.Expect(AddToScheme(scheme)).To(Succeed())
4950
defaulter := MachineDeploymentDefaulter(scheme)
5051

5152
t.Run("for MachineDeployment", defaultValidateTestCustomDefaulter(md, defaulter))

api/v1beta1/machinehealthcheck_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -169,5 +169,5 @@ type MachineHealthCheckList struct {
169169
}
170170

171171
func init() {
172-
SchemeBuilder.Register(&MachineHealthCheck{}, &MachineHealthCheckList{})
172+
objectTypes = append(objectTypes, &MachineHealthCheck{}, &MachineHealthCheckList{})
173173
}

api/v1beta1/machineset_types.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -240,5 +240,5 @@ type MachineSetList struct {
240240
}
241241

242242
func init() {
243-
SchemeBuilder.Register(&MachineSet{}, &MachineSetList{})
243+
objectTypes = append(objectTypes, &MachineSet{}, &MachineSetList{})
244244
}

internal/test/builder/builders.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
corev1 "k8s.io/api/core/v1"
2626
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2727
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
28+
"k8s.io/apimachinery/pkg/runtime"
2829
"k8s.io/apimachinery/pkg/util/intstr"
2930
"sigs.k8s.io/controller-runtime/pkg/client"
3031
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
@@ -1268,8 +1269,8 @@ func (m *MachineDeploymentBuilder) Build() *clusterv1.MachineDeployment {
12681269
}
12691270
}
12701271
if m.defaulter {
1271-
scheme, err := clusterv1.SchemeBuilder.Build()
1272-
if err != nil {
1272+
scheme := runtime.NewScheme()
1273+
if err := clusterv1.AddToScheme(scheme); err != nil {
12731274
panic(err)
12741275
}
12751276
ctx := admission.NewContextWithRequest(context.Background(), admission.Request{

0 commit comments

Comments
 (0)