github.com/someshkoli/terratest@v0.41.1/modules/k8s/version.go (about)

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