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 { 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()