mirror of
https://github.com/kubescape/kubescape.git
synced 2026-04-15 06:58:11 +00:00
* added --clusterName flag (#613) Signed-off-by: Anubhav Gupta <mail.anubhav06@gmail.com> * update flag name to --cluster-name Signed-off-by: Anubhav Gupta <mail.anubhav06@gmail.com> Signed-off-by: Anubhav Gupta <mail.anubhav06@gmail.com>
67 lines
1.7 KiB
Go
67 lines
1.7 KiB
Go
package core
|
|
|
|
import (
|
|
"github.com/kubescape/kubescape/v2/core/cautils"
|
|
"github.com/kubescape/kubescape/v2/core/cautils/getter"
|
|
"github.com/kubescape/kubescape/v2/core/meta/cliinterfaces"
|
|
|
|
logger "github.com/kubescape/go-logger"
|
|
"github.com/kubescape/go-logger/helpers"
|
|
)
|
|
|
|
func (ks *Kubescape) Submit(submitInterfaces cliinterfaces.SubmitInterfaces) error {
|
|
|
|
// list resources
|
|
report, err := submitInterfaces.SubmitObjects.SetResourcesReport()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
allresources, err := submitInterfaces.SubmitObjects.ListAllResources()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// report
|
|
o := &cautils.OPASessionObj{
|
|
Report: report,
|
|
AllResources: allresources,
|
|
Metadata: &report.Metadata,
|
|
}
|
|
if err := submitInterfaces.Reporter.Submit(o); err != nil {
|
|
return err
|
|
}
|
|
logger.L().Success("Data has been submitted successfully")
|
|
submitInterfaces.Reporter.DisplayReportURL()
|
|
|
|
return nil
|
|
}
|
|
|
|
func (ks *Kubescape) SubmitExceptions(credentials *cautils.Credentials, excPath string) error {
|
|
logger.L().Info("submitting exceptions", helpers.String("path", excPath))
|
|
|
|
// load cached config
|
|
tenantConfig := getTenantConfig(credentials, "", "", getKubernetesApi())
|
|
if err := tenantConfig.SetTenant(); err != nil {
|
|
logger.L().Error("failed setting account ID", helpers.Error(err))
|
|
}
|
|
|
|
// load exceptions from file
|
|
loader := getter.NewLoadPolicy([]string{excPath})
|
|
exceptions, err := loader.GetExceptions("")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// login kubescape SaaS
|
|
ksCloudAPI := getter.GetKSCloudAPIConnector()
|
|
if err := ksCloudAPI.Login(); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := ksCloudAPI.PostExceptions(exceptions); err != nil {
|
|
return err
|
|
}
|
|
logger.L().Success("Exceptions submitted successfully")
|
|
|
|
return nil
|
|
}
|