From d2884b893688e1f4eaa2612e308fbee0cb53ce8a Mon Sep 17 00:00:00 2001 From: dwertent Date: Thu, 13 Jan 2022 13:07:29 +0200 Subject: [PATCH 1/2] update failure message --- resultshandling/reporter/v1/reporteventreceiver.go | 2 +- resultshandling/reporter/v2/reporteventreceiver.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resultshandling/reporter/v1/reporteventreceiver.go b/resultshandling/reporter/v1/reporteventreceiver.go index ce197254..fa774983 100644 --- a/resultshandling/reporter/v1/reporteventreceiver.go +++ b/resultshandling/reporter/v1/reporteventreceiver.go @@ -45,7 +45,7 @@ func (report *ReportEventReceiver) ActionSendReport(opaSessionObj *cautils.OPASe return nil } if report.clusterName == "" { - report.message = "WARNING: Failed to publish results. Reason: Unknown cluster name. Run kubescape with the '--kube-context ' flag" + report.message = "WARNING: Failed to publish results because the cluster name is Unknown. If you are scanning YAML files the results are not submitted to the Kubescape SaaS" return nil } diff --git a/resultshandling/reporter/v2/reporteventreceiver.go b/resultshandling/reporter/v2/reporteventreceiver.go index 01927537..443e60e1 100644 --- a/resultshandling/reporter/v2/reporteventreceiver.go +++ b/resultshandling/reporter/v2/reporteventreceiver.go @@ -46,7 +46,7 @@ func (report *ReportEventReceiver) ActionSendReport(opaSessionObj *cautils.OPASe return nil } if report.clusterName == "" { - report.message = "WARNING: Failed to publish results. Reason: Unknown cluster name. Run kubescape with the '--kube-context ' flag" + report.message = "WARNING: Failed to publish results because the cluster name is Unknown. If you are scanning YAML files the results are not submitted to the Kubescape SaaS" return nil } opaSessionObj.Report.ReportID = uuid.NewV4().String() From 0bde8a65bad54651ca7b32a11a0bb8ed27f40ec7 Mon Sep 17 00:00:00 2001 From: dwertent Date: Thu, 13 Jan 2022 14:16:36 +0200 Subject: [PATCH 2/2] fixed context flag --- clihandler/cmd/scan.go | 2 +- resourcehandler/cloudproviderhandler.go | 31 ++++++++++--------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/clihandler/cmd/scan.go b/clihandler/cmd/scan.go index 3674f216..351c6cdc 100644 --- a/clihandler/cmd/scan.go +++ b/clihandler/cmd/scan.go @@ -42,7 +42,7 @@ func init() { cobra.OnInitialize(frameworkInitConfig) rootCmd.AddCommand(scanCmd) - rootCmd.PersistentFlags().StringVarP(&scanInfo.KubeContext, "--kube-context", "", "", "Kube context. Default will use the current-context") + rootCmd.PersistentFlags().StringVarP(&scanInfo.KubeContext, "kube-context", "", "", "Kube context. Default will use the current-context") scanCmd.PersistentFlags().StringVar(&scanInfo.ControlsInputs, "controls-config", "", "Path to an controls-config obj. If not set will download controls-config from ARMO management portal") scanCmd.PersistentFlags().StringVar(&scanInfo.UseExceptions, "exceptions", "", "Path to an exceptions obj. If not set will download exceptions from ARMO management portal") scanCmd.PersistentFlags().StringVarP(&scanInfo.ExcludedNamespaces, "exclude-namespaces", "e", "", "Namespaces to exclude from scanning. Recommended: kube-system,kube-public") diff --git a/resourcehandler/cloudproviderhandler.go b/resourcehandler/cloudproviderhandler.go index 9fe545bc..e0ebb4c0 100644 --- a/resourcehandler/cloudproviderhandler.go +++ b/resourcehandler/cloudproviderhandler.go @@ -2,6 +2,7 @@ package resourcehandler import ( "os" + "strings" "github.com/armosec/k8s-interface/cloudsupport" "github.com/armosec/k8s-interface/k8sinterface" @@ -22,32 +23,24 @@ type ICloudProvider interface { } func initCloudProvider() ICloudProvider { - var provider string - if isEnvVars() { - provider = getCloudProviderFromEnvVar() - switch provider { - case "gke": - return NewGKEProviderEnvVar() - case "eks": - return NewEKSProviderEnvVar() - } - } else { - provider = getCloudProviderFromContext() - switch provider { - case "gke": - return NewGKEProviderContext() - case "eks": - return NewEKSProviderContext() - } + + switch getCloudProvider() { + case "gke", "gcp": + return NewGKEProviderContext() + case "eks", "aws": + return NewEKSProviderContext() } return NewEmptyCloudProvider() } func getCloudProvider() string { + var provider string if isEnvVars() { - return getCloudProviderFromEnvVar() + provider = getCloudProviderFromEnvVar() + } else { + provider = getCloudProviderFromContext() } - return getCloudProviderFromContext() + return strings.ToLower(provider) } func getCloudProviderFromContext() string {