mirror of
https://github.com/aquasecurity/kube-bench.git
synced 2024-12-19 05:08:07 +00:00
Merge branch 'master' into fix-false-detections
This commit is contained in:
commit
c18d8a2234
24
cmd/util.go
24
cmd/util.go
@ -33,20 +33,6 @@ func init() {
|
|||||||
statFunc = os.Stat
|
statFunc = os.Stat
|
||||||
}
|
}
|
||||||
|
|
||||||
func printlnWarn(msg string) {
|
|
||||||
fmt.Fprintf(os.Stderr, "[%s] %s\n",
|
|
||||||
colors[check.WARN].Sprintf("%s", check.WARN),
|
|
||||||
msg,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func sprintlnWarn(msg string) string {
|
|
||||||
return fmt.Sprintf("[%s] %s",
|
|
||||||
colors[check.WARN].Sprintf("%s", check.WARN),
|
|
||||||
msg,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func exitWithError(err error) {
|
func exitWithError(err error) {
|
||||||
fmt.Fprintf(os.Stderr, "\n%v\n", err)
|
fmt.Fprintf(os.Stderr, "\n%v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
@ -303,6 +289,12 @@ func getKubeVersion() (string, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
_, err = exec.LookPath("kubelet")
|
_, err = exec.LookPath("kubelet")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
// Search for the kubelet binary all over the filesystem and run the first match to get the kubernetes version
|
||||||
|
cmd := exec.Command("/bin/sh", "-c", "`find / -type f -executable -name kubelet 2>/dev/null | grep -m1 .` --version")
|
||||||
|
out, err := cmd.CombinedOutput()
|
||||||
|
if err == nil {
|
||||||
|
return getVersionFromKubeletOutput(string(out)), nil
|
||||||
|
}
|
||||||
return "", fmt.Errorf("need kubectl or kubelet binaries to get kubernetes version")
|
return "", fmt.Errorf("need kubectl or kubelet binaries to get kubernetes version")
|
||||||
}
|
}
|
||||||
return getKubeVersionFromKubelet(), nil
|
return getKubeVersionFromKubelet(), nil
|
||||||
@ -336,7 +328,7 @@ func getVersionFromKubectlOutput(s string) string {
|
|||||||
serverVersionRe := regexp.MustCompile(`Server Version: v(\d+.\d+)`)
|
serverVersionRe := regexp.MustCompile(`Server Version: v(\d+.\d+)`)
|
||||||
subs := serverVersionRe.FindStringSubmatch(s)
|
subs := serverVersionRe.FindStringSubmatch(s)
|
||||||
if len(subs) < 2 {
|
if len(subs) < 2 {
|
||||||
printlnWarn(fmt.Sprintf("Unable to get kubectl version, using default version: %s", defaultKubeVersion))
|
glog.V(1).Info(fmt.Sprintf("Unable to get Kubernetes version from kubectl, using default version: %s", defaultKubeVersion))
|
||||||
return defaultKubeVersion
|
return defaultKubeVersion
|
||||||
}
|
}
|
||||||
return subs[1]
|
return subs[1]
|
||||||
@ -346,7 +338,7 @@ func getVersionFromKubeletOutput(s string) string {
|
|||||||
serverVersionRe := regexp.MustCompile(`Kubernetes v(\d+.\d+)`)
|
serverVersionRe := regexp.MustCompile(`Kubernetes v(\d+.\d+)`)
|
||||||
subs := serverVersionRe.FindStringSubmatch(s)
|
subs := serverVersionRe.FindStringSubmatch(s)
|
||||||
if len(subs) < 2 {
|
if len(subs) < 2 {
|
||||||
printlnWarn(fmt.Sprintf("Unable to get kubelet version, using default version: %s", defaultKubeVersion))
|
glog.V(1).Info(fmt.Sprintf("Unable to get Kubernetes version from kubelet, using default version: %s", defaultKubeVersion))
|
||||||
return defaultKubeVersion
|
return defaultKubeVersion
|
||||||
}
|
}
|
||||||
return subs[1]
|
return subs[1]
|
||||||
|
Loading…
Reference in New Issue
Block a user