1
0
mirror of https://github.com/aquasecurity/kube-bench.git synced 2025-02-16 17:42:05 +00:00

Support for Client Version and Server Version output.

This commit is contained in:
Oran Moshai 2018-04-23 10:59:28 +03:00
parent 67786fd3ef
commit d647ebf4f0
2 changed files with 12 additions and 2 deletions

View File

@ -240,7 +240,7 @@ func getKubeVersionFromKubectl() string {
func getKubeVersionFromKubelet() string {
cmd := exec.Command("kubelet", "--version")
out, err := cmd.CombinedOutput()
if err != nil {
continueWithError(fmt.Errorf("%s", out), "")
}
@ -249,7 +249,7 @@ func getKubeVersionFromKubelet() string {
}
func getVersionFromKubectlOutput(s string) string {
serverVersionRe := regexp.MustCompile(`Server Version: v(\d+.\d+)`)
serverVersionRe := regexp.MustCompile(`v(\d+.\d+)`)
subs := serverVersionRe.FindStringSubmatch(s)
if len(subs) < 2 {
printlnWarn(fmt.Sprintf("Unable to get kubectl version, using default version: %s", defaultKubeVersion))

View File

@ -189,6 +189,16 @@ func TestKubeVersionRegex(t *testing.T) {
t.Fatalf("Expected 1.8 got %s", ver)
}
ver = getVersionFromKubectlOutput(`Client Version: v1.8.0`)
if ver != "1.8" {
t.Fatalf("Expected 1.8 got %s", ver)
}
ver = getVersionFromKubectlOutput(`Server Version: v1.8.12`)
if ver != "1.8" {
t.Fatalf("Expected 1.8 got %s", ver)
}
ver = getVersionFromKubectlOutput("Something completely different")
if ver != "1.6" {
t.Fatalf("Expected 1.6 got %s", ver)