add version api (#2127)

add cluster validation api
This commit is contained in:
zryfish
2020-05-27 18:11:27 +08:00
committed by GitHub
parent e119fd8a36
commit 27ca024bb7
11 changed files with 308 additions and 14 deletions

View File

@@ -0,0 +1,35 @@
package version
import (
"github.com/emicklei/go-restful"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/discovery"
"k8s.io/klog"
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
"kubesphere.io/kubesphere/pkg/version"
)
func AddToContainer(container *restful.Container, k8sDiscovery discovery.DiscoveryInterface) error {
webservice := runtime.NewWebService(schema.GroupVersion{})
webservice.Route(webservice.GET("/version").
To(func(request *restful.Request, response *restful.Response) {
ksVersion := version.Get()
if k8sDiscovery != nil {
k8sVersion, err := k8sDiscovery.ServerVersion()
if err == nil {
ksVersion.Kubernetes = k8sVersion
} else {
klog.Errorf("Failed to get kubernetes version, error %v", err)
}
}
response.WriteAsJson(ksVersion)
})).
Doc("KubeSphere version")
container.Add(webservice)
return nil
}