mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-08-20 13:06:51 +00:00
migrating service webhook to controller p2 migrating service webhook to controller p3. add tests Using an abstract reconciler to avoid copy/paste code update tests. remove service_labels webhook. fix bug in sync labels\endpoint func apply review notes disable EndpointSlicesLabelsReconciler for kubernetes versions <=1.16 Co-authored-by: Maksim Fedotov <m_fedotov@wargaming.net>
36 lines
747 B
Go
36 lines
747 B
Go
package utils
|
|
|
|
import (
|
|
"path/filepath"
|
|
"strconv"
|
|
|
|
"k8s.io/client-go/kubernetes"
|
|
"k8s.io/client-go/rest"
|
|
"k8s.io/client-go/tools/clientcmd"
|
|
"k8s.io/client-go/util/homedir"
|
|
)
|
|
|
|
func GetK8sVersion() (major, minor int, ver string, err error) {
|
|
cfg, err := rest.InClusterConfig()
|
|
if err != nil {
|
|
kubeconfig := filepath.Join(homedir.HomeDir(), ".kube", "config")
|
|
cfg, err = clientcmd.BuildConfigFromFlags("", kubeconfig)
|
|
}
|
|
if err != nil {
|
|
return 0, 0, "", err
|
|
}
|
|
client, err := kubernetes.NewForConfig(cfg)
|
|
if err != nil {
|
|
return 0, 0, "", err
|
|
}
|
|
|
|
v, err := client.Discovery().ServerVersion()
|
|
if err != nil {
|
|
return 0, 0, "", err
|
|
}
|
|
major, _ = strconv.Atoi(v.Major)
|
|
minor, _ = strconv.Atoi(v.Minor)
|
|
ver = v.String()
|
|
return
|
|
}
|