forked from gruntwork-io/terratest
/
version.go
30 lines (23 loc) · 893 Bytes
/
version.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package k8s
import "github.com/wahlfeld/terratest/modules/testing"
// GetKubernetesClusterVersion returns the Kubernetes cluster version.
func GetKubernetesClusterVersionE(t testing.TestingT) (string, error) {
kubeConfigPath, err := GetKubeConfigPathE(t)
if err != nil {
return "", err
}
options := NewKubectlOptions("", kubeConfigPath, "default")
return GetKubernetesClusterVersionWithOptionsE(t, options)
}
// GetKubernetesClusterVersion returns the Kubernetes cluster version given a configured KubectlOptions object.
func GetKubernetesClusterVersionWithOptionsE(t testing.TestingT, kubectlOptions *KubectlOptions) (string, error) {
clientset, err := GetKubernetesClientFromOptionsE(t, kubectlOptions)
if err != nil {
return "", err
}
versionInfo, err := clientset.DiscoveryClient.ServerVersion()
if err != nil {
return "", err
}
return versionInfo.String(), nil
}