From be20893a8c3bd22f41a7c73c4e77a6262731e900 Mon Sep 17 00:00:00 2001 From: Indeed Date: Mon, 2 Nov 2020 17:08:49 -0800 Subject: [PATCH] register controllermanager.config.k8s.io group. --- .../k8s.io/controller-manager/config/BUILD | 2 + .../controller-manager/config/register.go | 46 +++++++++++++++++++ .../controller-manager/config/v1alpha1/BUILD | 1 + .../config/v1alpha1/register.go | 19 +++++++- 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 staging/src/k8s.io/controller-manager/config/register.go diff --git a/staging/src/k8s.io/controller-manager/config/BUILD b/staging/src/k8s.io/controller-manager/config/BUILD index 8c29bcf71f3..c585ef85b93 100644 --- a/staging/src/k8s.io/controller-manager/config/BUILD +++ b/staging/src/k8s.io/controller-manager/config/BUILD @@ -21,6 +21,7 @@ go_library( name = "go_default_library", srcs = [ "doc.go", + "register.go", "types.go", "zz_generated.deepcopy.go", ], @@ -30,6 +31,7 @@ go_library( deps = [ "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/component-base/config:go_default_library", ], ) diff --git a/staging/src/k8s.io/controller-manager/config/register.go b/staging/src/k8s.io/controller-manager/config/register.go new file mode 100644 index 00000000000..1f1a4a3c686 --- /dev/null +++ b/staging/src/k8s.io/controller-manager/config/register.go @@ -0,0 +1,46 @@ +/* +Copyright 2020 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package config + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName is the "group" that is needed to uniquely identify the API +const GroupName = "controllermanager.config.k8s.io" + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} + +var ( + // SchemeBuilder is the scheme builder with scheme init functions to run for this API package + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + // localSchemeBuilder extends the SchemeBuilder instance with the external types. In this package, + // defaulting and conversion init funcs are registered as well. + localSchemeBuilder = &SchemeBuilder + // AddToScheme is a global function that registers this API group & version to a scheme + AddToScheme = localSchemeBuilder.AddToScheme +) + +// Adds the list of known types to the given scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &LeaderMigrationConfiguration{}, + ) + return nil +} diff --git a/staging/src/k8s.io/controller-manager/config/v1alpha1/BUILD b/staging/src/k8s.io/controller-manager/config/v1alpha1/BUILD index bd5c260c93e..517339f46c3 100644 --- a/staging/src/k8s.io/controller-manager/config/v1alpha1/BUILD +++ b/staging/src/k8s.io/controller-manager/config/v1alpha1/BUILD @@ -18,6 +18,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library", "//staging/src/k8s.io/controller-manager/config:go_default_library", ], diff --git a/staging/src/k8s.io/controller-manager/config/v1alpha1/register.go b/staging/src/k8s.io/controller-manager/config/v1alpha1/register.go index bf5a294b384..59603396d60 100644 --- a/staging/src/k8s.io/controller-manager/config/v1alpha1/register.go +++ b/staging/src/k8s.io/controller-manager/config/v1alpha1/register.go @@ -17,15 +17,32 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) +// GroupName is the "group" that is needed to uniquely identify the API +const GroupName = "controllermanager.config.k8s.io" + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} + var ( // SchemeBuilder is the scheme builder with scheme init functions to run for this API package - SchemeBuilder runtime.SchemeBuilder + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // localSchemeBuilder extends the SchemeBuilder instance with the external types. In this package, // defaulting and conversion init funcs are registered as well. localSchemeBuilder = &SchemeBuilder // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = localSchemeBuilder.AddToScheme ) + +// Adds the list of known types to the given scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &LeaderMigrationConfiguration{}, + ) + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +}