apiserver: enable certificates api
This commit is contained in:
		@@ -26,6 +26,7 @@ import (
 | 
				
			|||||||
	_ "k8s.io/kubernetes/pkg/apis/authorization/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/authorization/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/apis/autoscaling/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/autoscaling/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/apis/batch/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/batch/install"
 | 
				
			||||||
 | 
						_ "k8s.io/kubernetes/pkg/apis/certificates/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/apis/componentconfig/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/componentconfig/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/apis/extensions/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/extensions/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/apis/policy/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/policy/install"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,6 +40,8 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/pkg/apis/batch"
 | 
						"k8s.io/kubernetes/pkg/apis/batch"
 | 
				
			||||||
	batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
 | 
						batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
 | 
				
			||||||
	batchapiv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
 | 
						batchapiv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/apis/certificates"
 | 
				
			||||||
 | 
						certificatesapiv1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/apis/extensions"
 | 
						"k8s.io/kubernetes/pkg/apis/extensions"
 | 
				
			||||||
	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
 | 
						extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/apis/policy"
 | 
						"k8s.io/kubernetes/pkg/apis/policy"
 | 
				
			||||||
@@ -53,6 +55,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/pkg/healthz"
 | 
						"k8s.io/kubernetes/pkg/healthz"
 | 
				
			||||||
	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
 | 
						kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/master/ports"
 | 
						"k8s.io/kubernetes/pkg/master/ports"
 | 
				
			||||||
 | 
						certificateetcd "k8s.io/kubernetes/pkg/registry/certificates/etcd"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/registry/clusterrole"
 | 
						"k8s.io/kubernetes/pkg/registry/clusterrole"
 | 
				
			||||||
	clusterroleetcd "k8s.io/kubernetes/pkg/registry/clusterrole/etcd"
 | 
						clusterroleetcd "k8s.io/kubernetes/pkg/registry/clusterrole/etcd"
 | 
				
			||||||
	clusterrolepolicybased "k8s.io/kubernetes/pkg/registry/clusterrole/policybased"
 | 
						clusterrolepolicybased "k8s.io/kubernetes/pkg/registry/clusterrole/policybased"
 | 
				
			||||||
@@ -367,6 +370,26 @@ func (m *Master) InstallAPIs(c *Config) {
 | 
				
			|||||||
		apiGroupsInfo = append(apiGroupsInfo, apiGroupInfo)
 | 
							apiGroupsInfo = append(apiGroupsInfo, apiGroupInfo)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if c.APIResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1alpha1.SchemeGroupVersion) {
 | 
				
			||||||
 | 
							certificateResources := m.getCertificateResources(c)
 | 
				
			||||||
 | 
							certificatesGroupMeta := registered.GroupOrDie(certificates.GroupName)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// Hard code preferred group version to certificates/v1alpha1
 | 
				
			||||||
 | 
							certificatesGroupMeta.GroupVersion = certificatesapiv1alpha1.SchemeGroupVersion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							apiGroupInfo := genericapiserver.APIGroupInfo{
 | 
				
			||||||
 | 
								GroupMeta: *certificatesGroupMeta,
 | 
				
			||||||
 | 
								VersionedResourcesStorageMap: map[string]map[string]rest.Storage{
 | 
				
			||||||
 | 
									"v1alpha1": certificateResources,
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								OptionsExternalVersion: ®istered.GroupOrDie(api.GroupName).GroupVersion,
 | 
				
			||||||
 | 
								Scheme:                 api.Scheme,
 | 
				
			||||||
 | 
								ParameterCodec:         api.ParameterCodec,
 | 
				
			||||||
 | 
								NegotiatedSerializer:   api.Codecs,
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							apiGroupsInfo = append(apiGroupsInfo, apiGroupInfo)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if c.APIResourceConfigSource.AnyResourcesForVersionEnabled(rbacapi.SchemeGroupVersion) {
 | 
						if c.APIResourceConfigSource.AnyResourcesForVersionEnabled(rbacapi.SchemeGroupVersion) {
 | 
				
			||||||
		rbacResources := m.getRBACResources(c)
 | 
							rbacResources := m.getRBACResources(c)
 | 
				
			||||||
		rbacGroupMeta := registered.GroupOrDie(rbac.GroupName)
 | 
							rbacGroupMeta := registered.GroupOrDie(rbac.GroupName)
 | 
				
			||||||
@@ -851,6 +874,28 @@ func (m *Master) getAutoscalingResources(c *Config) map[string]rest.Storage {
 | 
				
			|||||||
	return storage
 | 
						return storage
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// getCertificateResources returns the resources for certificates API
 | 
				
			||||||
 | 
					func (m *Master) getCertificateResources(c *Config) map[string]rest.Storage {
 | 
				
			||||||
 | 
						restOptions := func(resource string) generic.RESTOptions {
 | 
				
			||||||
 | 
							return m.GetRESTOptionsOrDie(c, certificates.Resource(resource))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// TODO update when we support more than one version of this group
 | 
				
			||||||
 | 
						version := certificatesapiv1alpha1.SchemeGroupVersion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						storage := map[string]rest.Storage{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						csrStorage, csrStatusStorage, csrApprovalStorage := certificateetcd.NewREST(restOptions("certificatesigningrequests"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if c.APIResourceConfigSource.ResourceEnabled(version.WithResource("certificatesigningrequests")) {
 | 
				
			||||||
 | 
							storage["certificatesigningrequests"] = csrStorage
 | 
				
			||||||
 | 
							storage["certificatesigningrequests/status"] = csrStatusStorage
 | 
				
			||||||
 | 
							storage["certificatesigningrequests/approval"] = csrApprovalStorage
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return storage
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// getBatchResources returns the resources for batch api
 | 
					// getBatchResources returns the resources for batch api
 | 
				
			||||||
func (m *Master) getBatchResources(c *Config, version unversioned.GroupVersion) map[string]rest.Storage {
 | 
					func (m *Master) getBatchResources(c *Config, version unversioned.GroupVersion) map[string]rest.Storage {
 | 
				
			||||||
	storage := map[string]rest.Storage{}
 | 
						storage := map[string]rest.Storage{}
 | 
				
			||||||
@@ -979,7 +1024,7 @@ func (m *Master) IsTunnelSyncHealthy(req *http.Request) error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig {
 | 
					func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig {
 | 
				
			||||||
	ret := genericapiserver.NewResourceConfig()
 | 
						ret := genericapiserver.NewResourceConfig()
 | 
				
			||||||
	ret.EnableVersions(apiv1.SchemeGroupVersion, extensionsapiv1beta1.SchemeGroupVersion, batchapiv1.SchemeGroupVersion, autoscalingapiv1.SchemeGroupVersion, appsapi.SchemeGroupVersion, policyapiv1alpha1.SchemeGroupVersion, rbacapi.SchemeGroupVersion)
 | 
						ret.EnableVersions(apiv1.SchemeGroupVersion, extensionsapiv1beta1.SchemeGroupVersion, batchapiv1.SchemeGroupVersion, autoscalingapiv1.SchemeGroupVersion, appsapi.SchemeGroupVersion, policyapiv1alpha1.SchemeGroupVersion, rbacapi.SchemeGroupVersion, certificatesapiv1alpha1.SchemeGroupVersion)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// all extensions resources except these are disabled by default
 | 
						// all extensions resources except these are disabled by default
 | 
				
			||||||
	ret.EnableResources(
 | 
						ret.EnableResources(
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user