allow API groups to be installed and registered in multiple schemes

This commit is contained in:
deads2k
2017-01-19 09:22:09 -05:00
parent 093ceb9528
commit dfd8db8ae9
38 changed files with 185 additions and 40 deletions

View File

@@ -19,13 +19,21 @@ limitations under the License.
package install
import (
"k8s.io/apimachinery/pkg/apimachinery/registered"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apimachinery/announced"
"k8s.io/kubernetes/pkg/apis/authentication"
"k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
)
func init() {
Install(api.Registry, api.Scheme)
}
// Install registers the API group and adds types to a scheme
func Install(registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
if err := announced.NewGroupMetaFactory(
&announced.GroupMetaFactoryArgs{
GroupName: authentication.GroupName,
@@ -37,7 +45,7 @@ func init() {
announced.VersionToSchemeFunc{
v1beta1.SchemeGroupVersion.Version: v1beta1.AddToScheme,
},
).Announce().RegisterAndEnable(); err != nil {
).Announce().RegisterAndEnable(registry, scheme); err != nil {
panic(err)
}
}