From e869ce4a64bf05183a78cb996b7df0cb9262f06a Mon Sep 17 00:00:00 2001 From: dwertent Date: Sun, 21 Nov 2021 08:49:24 +0200 Subject: [PATCH 1/2] comment out policy version check --- cautils/versioncheck.go | 17 ++++++++++++---- clihandler/initcli.go | 23 +-------------------- clihandler/initcliutils.go | 41 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 26 deletions(-) create mode 100644 clihandler/initcliutils.go diff --git a/cautils/versioncheck.go b/cautils/versioncheck.go index 8483f07e..7d9119ba 100644 --- a/cautils/versioncheck.go +++ b/cautils/versioncheck.go @@ -57,6 +57,9 @@ func NewVersionCheckHandler() *VersionCheckHandler { } } func NewVersionCheckRequest(buildNumber, frameworkName, frameworkVersion, scanningTarget string) *VersionCheckRequest { + if buildNumber == "" { + buildNumber = "unknown" + } return &VersionCheckRequest{ Client: "kubescape", ClientVersion: buildNumber, @@ -82,17 +85,23 @@ func (v *VersionCheckHandler) CheckLatestVersion(versionData *VersionCheckReques fmt.Println(warningMessage(latestVersion.Client, latestVersion.ClientUpdate)) } - if latestVersion.FrameworkUpdate != "" { - fmt.Println(warningMessage(latestVersion.Framework, latestVersion.FrameworkUpdate)) + // TODO - Enable after supporting framework version + // if latestVersion.FrameworkUpdate != "" { + // fmt.Println(warningMessage(latestVersion.Framework, latestVersion.FrameworkUpdate)) + // } + + if latestVersion.Message != "" { + fmt.Println(latestVersion.Message) } + return nil } func (v *VersionCheckHandler) getLatestVersion(versionData *VersionCheckRequest) (*VersionCheckResponse, error) { - reqBody, err := json.Marshal(versionData) + reqBody, err := json.Marshal(*versionData) if err != nil { - return nil, fmt.Errorf("in 'CheckLatestVersion' failed to json.Marshal, reason: %v", err) + return nil, fmt.Errorf("in 'CheckLatestVersion' failed to json.Marshal, reason: %s", err.Error()) } resp, err := getter.HttpPost(http.DefaultClient, v.versionURL, map[string]string{"Content-Type": "application/json"}, reqBody) diff --git a/clihandler/initcli.go b/clihandler/initcli.go index f74dac57..852af93b 100644 --- a/clihandler/initcli.go +++ b/clihandler/initcli.go @@ -26,27 +26,6 @@ type componentInterfaces struct { printerHandler printer.IPrinter } -func getReporter(scanInfo *cautils.ScanInfo) reporter.IReport { - if !scanInfo.Submit { - return reporter.NewReportMock() - } - if !scanInfo.FrameworkScan { - return reporter.NewReportMock() - } - - return reporter.NewReportEventReceiver("", "") -} - -func getFieldSelector(scanInfo *cautils.ScanInfo) resourcehandler.IFieldSelector { - if scanInfo.IncludeNamespaces != "" { - return resourcehandler.NewIncludeSelector(scanInfo.IncludeNamespaces) - } - if scanInfo.ExcludedNamespaces != "" { - return resourcehandler.NewExcludeSelector(scanInfo.ExcludedNamespaces) - } - - return &resourcehandler.EmptySelector{} -} func getInterfaces(scanInfo *cautils.ScanInfo) componentInterfaces { var resourceHandler resourcehandler.IResourceHandler var clusterConfig cautils.IClusterConfig @@ -74,7 +53,7 @@ func getInterfaces(scanInfo *cautils.ScanInfo) componentInterfaces { } v := cautils.NewIVersionCheckHandler() - v.CheckLatestVersion(cautils.NewVersionCheckRequest(cautils.BuildNumber, "", "", scanningTarget)) + v.CheckLatestVersion(cautils.NewVersionCheckRequest(cautils.BuildNumber, policyIdentifierNames(scanInfo.PolicyIdentifier), "", scanningTarget)) // setup printer printerHandler := printer.GetPrinter(scanInfo.Format) diff --git a/clihandler/initcliutils.go b/clihandler/initcliutils.go new file mode 100644 index 00000000..38d647b9 --- /dev/null +++ b/clihandler/initcliutils.go @@ -0,0 +1,41 @@ +package clihandler + +import ( + "github.com/armosec/kubescape/cautils" + "github.com/armosec/kubescape/resourcehandler" + "github.com/armosec/kubescape/resultshandling/reporter" + "github.com/armosec/opa-utils/reporthandling" +) + +func getReporter(scanInfo *cautils.ScanInfo) reporter.IReport { + if !scanInfo.Submit { + return reporter.NewReportMock() + } + if !scanInfo.FrameworkScan { + return reporter.NewReportMock() + } + + return reporter.NewReportEventReceiver("", "") +} + +func getFieldSelector(scanInfo *cautils.ScanInfo) resourcehandler.IFieldSelector { + if scanInfo.IncludeNamespaces != "" { + return resourcehandler.NewIncludeSelector(scanInfo.IncludeNamespaces) + } + if scanInfo.ExcludedNamespaces != "" { + return resourcehandler.NewExcludeSelector(scanInfo.ExcludedNamespaces) + } + + return &resourcehandler.EmptySelector{} +} + +func policyIdentifierNames(pi []reporthandling.PolicyIdentifier) string { + policiesNames := "" + for i := range pi { + policiesNames += pi[i].Name + if i+1 < len(pi) { + policiesNames += "," + } + } + return policiesNames +} From 53741ec26e1150d43b4d65d333853fb45b919de3 Mon Sep 17 00:00:00 2001 From: Rotem Refael <48656234+rotemamsa@users.noreply.github.com> Date: Sun, 21 Nov 2021 10:13:31 +0200 Subject: [PATCH 2/2] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eaa06138..d885269d 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | ## Run: ``` -kubescape scan framework nsa +kubescape scan framework nsa --submit ```