// getAPIGroupVersionOverrides builds the overrides in the format expected by master.Config.APIGroupVersionOverrides func getAPIGroupVersionOverrides(options configapi.MasterConfig) map[string]genericapiserver.APIGroupVersionOverride { apiGroupVersionOverrides := map[string]genericapiserver.APIGroupVersionOverride{} for group := range options.KubernetesMasterConfig.DisabledAPIGroupVersions { for _, version := range configapi.GetDisabledAPIVersionsForGroup(*options.KubernetesMasterConfig, group) { gv := unversioned.GroupVersion{Group: group, Version: version} if group == "" { // TODO: when rebasing, check the parseRuntimeConfig impl to make sure we're still building the right magic container // Create "disabled" key for v1 identically to k8s.io/kubernetes/cmd/kube-apiserver/app/server.go#parseRuntimeConfig gv.Group = "api" } apiGroupVersionOverrides[gv.String()] = genericapiserver.APIGroupVersionOverride{Disable: true} } } return apiGroupVersionOverrides }
// getAPIResourceConfig builds the config for enabling resources func getAPIResourceConfig(options configapi.MasterConfig) genericapiserver.APIResourceConfigSource { resourceConfig := genericapiserver.NewResourceConfig() for group := range configapi.KnownKubeAPIGroups { for _, version := range configapi.GetEnabledAPIVersionsForGroup(*options.KubernetesMasterConfig, group) { gv := unversioned.GroupVersion{Group: group, Version: version} resourceConfig.EnableVersions(gv) } } for group := range options.KubernetesMasterConfig.DisabledAPIGroupVersions { for _, version := range configapi.GetDisabledAPIVersionsForGroup(*options.KubernetesMasterConfig, group) { gv := unversioned.GroupVersion{Group: group, Version: version} resourceConfig.DisableVersions(gv) } } return resourceConfig }