diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 87b68b18..75dc8051 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -78,14 +78,14 @@ jobs: asset_name: kubescape-${{ matrix.os }}-sha256 asset_content_type: application/octet-stream - # publish-image: - # if: ${{ github.repository == 'kubescape/kubescape' }} # TODO - # uses: ./.github/workflows/build-image.yaml - # needs: create-release - # with: - # client: "image-release" - # image_name: "quay.io/${{ github.repository_owner }}/kubescape" - # image_tag: "v2.0.${{ github.run_number }}" - # support_platforms: true - # cosign: true - # secrets: inherit + publish-image: + if: ${{ github.repository == 'kubescape/kubescape' }} # TODO + uses: ./.github/workflows/build-image.yaml + needs: create-release + with: + client: "image-release" + image_name: "quay.io/${{ github.repository_owner }}/kubescape" + image_tag: "v2.0.${{ github.run_number }}" + support_platforms: false + cosign: true + secrets: inherit diff --git a/README.md b/README.md index 6f06fd6f..8152a033 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh ## Run: ```sh -kubescape scan --submit --enable-host-scan --verbose +kubescape scan --enable-host-scan --verbose ``` @@ -175,22 +175,22 @@ Or to your profile (not preferred): `nix-env --install -A nixpkgs.kubescape` ### Examples -#### Scan a running Kubernetes cluster and submit results to the [Kubescape SaaS version](https://cloud.armosec.io?utm_source=github&utm_medium=repository) +#### Scan a running Kubernetes cluster ``` -kubescape scan --submit --enable-host-scan --verbose +kubescape scan --enable-host-scan --verbose ``` > Read [here](https://hub.armosec.io/docs/host-sensor?utm_source=github&utm_medium=repository) more about the `enable-host-scan` flag -#### Scan a running Kubernetes cluster with [`nsa`](https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/2716980/nsa-cisa-release-kubernetes-hardening-guidance/) framework and submit results to the [Kubescape SaaS version](https://cloud.armosec.io?utm_source=github&utm_medium=repository) +#### Scan a running Kubernetes cluster with [`nsa`](https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/2716980/nsa-cisa-release-kubernetes-hardening-guidance/) framework ``` -kubescape scan framework nsa --submit +kubescape scan framework nsa ``` -#### Scan a running Kubernetes cluster with [`MITRE ATT&CK®`](https://www.microsoft.com/security/blog/2021/03/23/secure-containerized-environments-with-updated-threat-matrix-for-kubernetes/) framework and submit results to the [Kubescape SaaS version](https://cloud.armosec.io?utm_source=github&utm_medium=repository) +#### Scan a running Kubernetes cluster with [`MITRE ATT&CK®`](https://www.microsoft.com/security/blog/2021/03/23/secure-containerized-environments-with-updated-threat-matrix-for-kubernetes/) framework ``` -kubescape scan framework mitre --submit +kubescape scan framework mitre ``` @@ -214,14 +214,13 @@ kubescape scan --include-namespaces development,staging,production kubescape scan --exclude-namespaces kube-system,kube-public ``` -#### Scan local `yaml`/`json` files before deploying. [Take a look at the demonstration](https://youtu.be/Ox6DaR7_4ZI). Submit the results in case the directory is a git repo. [docs](https://hub.armosec.io/docs/repository-scanning?utm_source=github&utm_medium=repository) +#### Scan local `yaml`/`json` files before deploying. [Take a look at the demonstration](https://youtu.be/Ox6DaR7_4ZI). ``` -kubescape scan *.yaml --submit +kubescape scan *.yaml ``` -#### Scan Kubernetes manifest files from a git repository [and submit the results](https://hub.armosec.io/docs/repository-scanning?utm_source=github&utm_medium=repository) -``` -kubescape scan https://github.com/kubescape/kubescape --submit +#### Scan Kubernetes manifest files from a git repository +kubescape scan https://github.com/kubescape/kubescape ``` #### Display all scanned resources (including the resources which passed) @@ -268,13 +267,13 @@ kubescape scan --exceptions examples/exceptions/exclude-kube-namespaces.json #### Scan Helm charts ``` -kubescape scan --submit +kubescape scan ``` > Kubescape will load the default value file #### Scan Kustomize Directory ``` -kubescape scan --submit +kubescape scan ``` > Kubescape will generate Kubernetes Yaml Objects using 'Kustomize' file and scans them for security. diff --git a/cmd/scan/scan.go b/cmd/scan/scan.go index 286665e0..47f1529c 100644 --- a/cmd/scan/scan.go +++ b/cmd/scan/scan.go @@ -78,13 +78,12 @@ func GetScanCommand(ks meta.IKubescape) *cobra.Command { scanCmd.PersistentFlags().StringVar(&scanInfo.FailThresholdSeverity, "severity-threshold", "", "Severity threshold is the severity of failed controls at which the command fails and returns exit code 1") scanCmd.PersistentFlags().StringVarP(&scanInfo.Format, "format", "f", "pretty-printer", `Output format. Supported formats: "pretty-printer", "json", "junit", "prometheus", "pdf", "html", "sarif"`) scanCmd.PersistentFlags().StringVar(&scanInfo.IncludeNamespaces, "include-namespaces", "", "scan specific namespaces. e.g: --include-namespaces ns-a,ns-b") - scanCmd.PersistentFlags().BoolVarP(&scanInfo.Local, "keep-local", "", false, "If you do not want your Kubescape results reported to ARMO backend. Use this flag if you ran with the '--submit' flag in the past and you do not want to submit your current scan results") + scanCmd.PersistentFlags().BoolVarP(&scanInfo.Local, "keep-local", "", false, "If you do not want your Kubescape results reported to configured backend.") scanCmd.PersistentFlags().StringVarP(&scanInfo.Output, "output", "o", "", "Output file. Print output to file and not stdout") scanCmd.PersistentFlags().BoolVarP(&scanInfo.VerboseMode, "verbose", "v", false, "Display all of the input resources and not only failed resources") scanCmd.PersistentFlags().StringVar(&scanInfo.View, "view", string(cautils.ResourceViewType), fmt.Sprintf("View results based on the %s/%s. default is --view=%s", cautils.ResourceViewType, cautils.ControlViewType, cautils.ResourceViewType)) scanCmd.PersistentFlags().BoolVar(&scanInfo.UseDefault, "use-default", false, "Load local policy object from default path. If not used will download latest") scanCmd.PersistentFlags().StringSliceVar(&scanInfo.UseFrom, "use-from", nil, "Load local policy object from specified path. If not used will download latest") - scanCmd.PersistentFlags().BoolVarP(&scanInfo.Submit, "submit", "", false, "Send the scan results to ARMO management portal where you can see the results in a user-friendly UI, choose your preferred compliance framework, check risk results history and trends, manage exceptions, get remediation recommendations and much more. By default the results are not submitted") scanCmd.PersistentFlags().StringVar(&scanInfo.HostSensorYamlPath, "host-scan-yaml", "", "Override default host scanner DaemonSet. Use this flag cautiously") scanCmd.PersistentFlags().StringVar(&scanInfo.FormatVersion, "format-version", "v1", "Output object can be different between versions, this is for maintaining backward and forward compatibility. Supported:'v1'/'v2'") scanCmd.PersistentFlags().StringVar(&scanInfo.CustomClusterName, "cluster-name", "", "Set the custom name of the cluster. Not same as the kube-context flag") @@ -93,6 +92,10 @@ func GetScanCommand(ks meta.IKubescape) *cobra.Command { scanCmd.PersistentFlags().BoolVarP(&scanInfo.Silent, "silent", "s", false, "Silent progress messages") scanCmd.PersistentFlags().MarkDeprecated("silent", "use '--logger' flag instead. Flag will be removed at 1.May.2022") + // Deprecated flags - remove 1.Jan.2023 + scanCmd.PersistentFlags().BoolVarP(&scanInfo.Submit, "submit", "", false, "Send the scan results to ARMO management portal where you can see the results in a user-friendly UI, choose your preferred compliance framework, check risk results history and trends, manage exceptions, get remediation recommendations and much more. By default the results are not submitted") + scanCmd.PersistentFlags().MarkDeprecated("submit", "Kubescape will automatically submit the scan results whenever an account ID is configured. An account ID can be configured either with (1) '--account' flag (2) Kubescape configuration (3) 'KS_ACCOUNT_ID' environment variable. '--submit' flag will be removed at 1.Jan.2023") + // hidden flags scanCmd.PersistentFlags().MarkHidden("host-scan-yaml") // this flag should be used very cautiously. We prefer users will not use it at all unless the DaemonSet can not run pods on the nodes scanCmd.PersistentFlags().MarkHidden("silent") // this flag should be deprecated since we added the --logger support diff --git a/core/cautils/getter/loadpolicy.go b/core/cautils/getter/loadpolicy.go index 42eaea8b..6a4d68a9 100644 --- a/core/cautils/getter/loadpolicy.go +++ b/core/cautils/getter/loadpolicy.go @@ -130,14 +130,19 @@ func (lp *LoadPolicy) GetControlsInputs(clusterName string) (map[string][]string filePath := lp.filePath() accountConfig := &armotypes.CustomerConfig{} f, err := os.ReadFile(filePath) + fileName := filepath.Base(filePath) if err != nil { - return nil, err + formattedError := fmt.Errorf("Error opening %s file, \"controls-config\" will be downloaded from ARMO management portal", fileName) + return nil, formattedError } if err = json.Unmarshal(f, &accountConfig.Settings.PostureControlInputs); err == nil { return accountConfig.Settings.PostureControlInputs, nil } - return nil, err + + formattedError := fmt.Errorf("Error reading %s file, %s, \"controls-config\" will be downloaded from ARMO management portal", fileName, err.Error()) + + return nil, formattedError } // temporary support for a list of files diff --git a/core/core/initutils.go b/core/core/initutils.go index d103cf66..2bd4f8af 100644 --- a/core/core/initutils.go +++ b/core/core/initutils.go @@ -69,7 +69,7 @@ func getReporter(tenantConfig cautils.ITenantConfig, reportID string, submit, fw } if tenantConfig.GetAccountID() == "" { // Add link only when scanning a cluster using a framework - return reporterv2.NewReportMock(reporterv2.NO_SUBMIT_QUERY, "run kubescape with the '--submit' flag") + return reporterv2.NewReportMock("https://hub.armosec.io/docs/installing-kubescape", "run kubescape with the '--account' flag") } var message string if !fwScan { @@ -141,13 +141,11 @@ func setSubmitBehavior(scanInfo *cautils.ScanInfo, tenantConfig cautils.ITenantC /* If CloudReportURL not set - Do not send report - If "First run (local config not found)" - - Default/keep-local - Do not send report - Submit - Create tenant & Submit report + If There is no account - Do not send report - If "Submitted" - + If There is account - keep-local - Do not send report - Default/Submit - Submit report + Default - Submit report */ @@ -168,17 +166,16 @@ func setSubmitBehavior(scanInfo *cautils.ScanInfo, tenantConfig cautils.ITenantC return } - if tenantConfig.IsConfigFound() { // config found in cache (submitted) - if !scanInfo.Local { - if tenantConfig.GetAccountID() != "" { - if _, err := uuid.Parse(tenantConfig.GetAccountID()); err != nil { - scanInfo.Submit = false - return - } - } - // Submit report - scanInfo.Submit = true - } + if scanInfo.Local { + scanInfo.Submit = false + return + } + + // If There is no account, or if the account is not legal, do not submit + if _, err := uuid.Parse(tenantConfig.GetAccountID()); err != nil { + scanInfo.Submit = false + } else { + scanInfo.Submit = true } } diff --git a/core/pkg/policyhandler/handlepullpolicies.go b/core/pkg/policyhandler/handlepullpolicies.go index 3c1ec482..9915e05f 100644 --- a/core/pkg/policyhandler/handlepullpolicies.go +++ b/core/pkg/policyhandler/handlepullpolicies.go @@ -41,6 +41,8 @@ func (policyHandler *PolicyHandler) getPolicies(policyIdentifier []cautils.Polic controlsInputs, err := policyHandler.getters.ControlsInputsGetter.GetControlsInputs(cautils.ClusterName) if err == nil { policiesAndResources.RegoInputData.PostureControlInputs = controlsInputs + } else { + logger.L().Error(err.Error()) } cautils.StopSpinner() diff --git a/core/pkg/resourcehandler/k8sresources.go b/core/pkg/resourcehandler/k8sresources.go index 3765e9fe..689e320f 100644 --- a/core/pkg/resourcehandler/k8sresources.go +++ b/core/pkg/resourcehandler/k8sresources.go @@ -134,8 +134,6 @@ func (k8sHandler *K8sResourceHandler) GetResources(sessionObj *cautils.OPASessio // check that controls use cloud resources if len(cloudResources) > 0 { - logger.L().Info("Requesting cloud provider data") - cautils.StartSpinner() provider, err := getCloudProviderDescription(allResources, ksResourceMap) if err != nil { cautils.SetInfoMapForResources(err.Error(), cloudResources, sessionObj.InfoMap) @@ -152,9 +150,6 @@ func (k8sHandler *K8sResourceHandler) GetResources(sessionObj *cautils.OPASessio if err != nil { logger.L().Warning("failed to collect api server info resource", helpers.Error(err)) } - - cautils.StopSpinner() - logger.L().Info("Requested cloud provider data") } return k8sResourcesMap, allResources, ksResourceMap, nil diff --git a/core/pkg/resultshandling/reporter/v2/mockreporter.go b/core/pkg/resultshandling/reporter/v2/mockreporter.go index 3824e879..38cf5253 100644 --- a/core/pkg/resultshandling/reporter/v2/mockreporter.go +++ b/core/pkg/resultshandling/reporter/v2/mockreporter.go @@ -44,8 +44,9 @@ func (reportMock *ReportMock) DisplayReportURL() { sep := "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" message := sep + "\n" message += "Scan results have not been submitted: " + reportMock.message + "\n" - message += "Sign up for free: " - message += reportMock.GetURL() + "\n" + if reportMock.query != "" { + message += "For more details: " + reportMock.query + "\n" + } message += sep + "\n" cautils.InfoTextDisplay(os.Stderr, fmt.Sprintf("\n%s\n", message)) } diff --git a/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go b/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go index d64a4f13..dc7c13f9 100644 --- a/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go +++ b/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go @@ -105,14 +105,4 @@ func TestGetURL(t *testing.T) { ) assert.Equal(t, "https://cloud.armosec.io/account/sign-up?customerGUID=1234&invitationToken=token&utm_campaign=Submit&utm_medium=CLI&utm_source=GitHub", reporter.GetURL()) } - // Test None submit url - { - reporter := NewReportMock(NO_SUBMIT_QUERY, "") - assert.Equal(t, "https://cloud.armosec.io/account/sign-up?utm_source=GitHub&utm_medium=CLI&utm_campaign=no_submit", reporter.GetURL()) - } - // Test None report url - { - reporter := NewReportMock("", "") - assert.Equal(t, "https://cloud.armosec.io/account/sign-up", reporter.GetURL()) - } } diff --git a/go.mod b/go.mod index c288b4c3..b7d3df89 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( cloud.google.com/go/containeranalysis v0.4.0 - github.com/armosec/armoapi-go v0.0.115 + github.com/armosec/armoapi-go v0.0.119 github.com/armosec/go-git-url v0.0.15 github.com/armosec/utils-go v0.0.12 github.com/armosec/utils-k8s-go v0.0.12 @@ -17,7 +17,7 @@ require ( github.com/johnfercher/maroto v0.37.0 github.com/kubescape/go-logger v0.0.6 github.com/kubescape/k8s-interface v0.0.84 - github.com/kubescape/opa-utils v0.0.196 + github.com/kubescape/opa-utils v0.0.198 github.com/kubescape/rbac-utils v0.0.17 github.com/libgit2/git2go/v33 v33.0.9 github.com/mattn/go-isatty v0.0.14 diff --git a/go.sum b/go.sum index de6636bc..2099d964 100644 --- a/go.sum +++ b/go.sum @@ -147,8 +147,8 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/armosec/armoapi-go v0.0.115 h1:KpxcACULFwX0BScYSS2u7DLO3D5Rlea3WNUKQpdCfJw= -github.com/armosec/armoapi-go v0.0.115/go.mod h1:2zoNzb3Fy9ZByeczJZ47ftDRLRzTykVdTISS3GTc/JU= +github.com/armosec/armoapi-go v0.0.119 h1:7XbvBbOKp26Bpp72LQ8Spw4FBpbXu3+qZFQyPEwTPFk= +github.com/armosec/armoapi-go v0.0.119/go.mod h1:2zoNzb3Fy9ZByeczJZ47ftDRLRzTykVdTISS3GTc/JU= github.com/armosec/go-git-url v0.0.15 h1:sDtu0WNvAhrDJ2begTyWP8T4tE1j1K6D0ZJ6t3Cx8k4= github.com/armosec/go-git-url v0.0.15/go.mod h1:GzfssG3IW9KiURSpK7c/bySBRTlghpObQ7NQ1O4hcMI= github.com/armosec/utils-go v0.0.12 h1:NXkG/BhbSVAmTVXr0qqsK02CmxEiXuJyPmdTRcZ4jAo= @@ -565,8 +565,8 @@ github.com/kubescape/go-logger v0.0.6 h1:ynhAmwrz0O7Jtqq1CdmCZUrKveji25hVP+B/FAb github.com/kubescape/go-logger v0.0.6/go.mod h1:DnVWEvC90LFY1nNMaNo6nBVOcqkLMK3S0qzXP1fzRvI= github.com/kubescape/k8s-interface v0.0.84 h1:k7YzpQ3SaN+bJCtpXzMj60WWIK9RkQQrU8dFQutr3LA= github.com/kubescape/k8s-interface v0.0.84/go.mod h1:ihX96yqar+xogHl45mFE8zT9DLI06iy7XQPAP+j5KJE= -github.com/kubescape/opa-utils v0.0.196 h1:7pCW+wiMl8RsDNg2rIkSQPhvvnBnFvk90Jm8h/vdOxs= -github.com/kubescape/opa-utils v0.0.196/go.mod h1:frMpD9wuK6rE3tMRIy6EM1X9zi+sSbXoDWjcSaq11og= +github.com/kubescape/opa-utils v0.0.198 h1:dmakg7HIUQijC8FEJHPop3wZN9Eo1eG8rodG0xnzL5s= +github.com/kubescape/opa-utils v0.0.198/go.mod h1:rDC3PANuk8gU5lSDO/WPFTluypBQ+/6qiuZLye+slYg= github.com/kubescape/rbac-utils v0.0.17 h1:B78kjlTKqjYK/PXwmi4GPysHsFxIwVz1KFb4+IGT29w= github.com/kubescape/rbac-utils v0.0.17/go.mod h1:pBwjpcrVeuH/no+DiCZWvlhYtCDzd3U0o/hEZKi+eM8= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= diff --git a/httphandler/README.md b/httphandler/README.md index bdf35ed7..e100f893 100644 --- a/httphandler/README.md +++ b/httphandler/README.md @@ -101,7 +101,6 @@ When scanning is not in progress "excludedNamespaces": [], // list of namespaces to exclude (same as 'kubescape scan --excluded-namespaces') "includeNamespaces": [], // list of namespaces to include (same as 'kubescape scan --include-namespaces') "useCachedArtifacts"`: , // use the cached artifacts instead of downloading (offline support) - "submit": , // submit results to Kubescape cloud (same as 'kubescape scan --submit') "hostScanner": , // deploy Kubescape K8s host-scanner DaemonSet in the scanned cluster (same as 'kubescape scan --enable-host-scan') "keepLocal": , // do not submit results to Kubescape cloud (same as 'kubescape scan --keep-local') "account": , // account ID (same as 'kubescape scan --account') @@ -132,7 +131,7 @@ When scanning is not in progress 1. Trigger kubescape scan ```bash - curl --header "Content-Type: application/json" --request POST --data '{"hostScanner":true, "submit": true}' http://127.0.0.1:8080/v1/scan + curl --header "Content-Type: application/json" --request POST --data '{"hostScanner":true}' http://127.0.0.1:8080/v1/scan ``` 2. Get kubescape scan results @@ -143,13 +142,13 @@ When scanning is not in progress #### Trigger scan and wait for the scan to end ```bash -curl --header "Content-Type: application/json" --request POST --data '{"hostScanner":true, "submit": true}' http://127.0.0.1:8080/v1/scan?wait -o scan_results.json +curl --header "Content-Type: application/json" --request POST --data '{"hostScanner":true}' http://127.0.0.1:8080/v1/scan?wait -o scan_results.json ``` #### Scan single namespace with a specific framework ```bash curl --header "Content-Type: application/json" \ --request POST \ - --data '{"hostScanner":true, "submit":true, "includeNamespaces": ["kubescape"], "targetType": "framework", "targetNames": ["nsa"] }' \ + --data '{"hostScanner":true, "includeNamespaces": ["kubescape"], "targetType": "framework", "targetNames": ["nsa"] }' \ http://127.0.0.1:8080/v1/scan ``` @@ -171,7 +170,6 @@ go tool pprof http://localhost:6060/debug/pprof/heap ## Supported environment variables * `KS_ACCOUNT`: Account ID -* `KS_SUBMIT`: Submit the results to the Kubescape SaaS version * `KS_EXCLUDE_NAMESPACES`: List of namespaces to exclude, e.g. `KS_EXCLUDE_NAMESPACES=kube-system,kube-public` * `KS_INCLUDE_NAMESPACES`: List of namespaces to include, rest of the namespaces will be ignored. e.g. `KS_INCLUDE_NAMESPACES=dev,prod` * `KS_HOST_SCAN_YAML`: Full path to the host scanner YAML diff --git a/httphandler/examples/microservice/README.md b/httphandler/examples/microservice/README.md index b03f31fd..6cf54440 100644 --- a/httphandler/examples/microservice/README.md +++ b/httphandler/examples/microservice/README.md @@ -10,7 +10,7 @@ ```bash curl --header "Content-Type: application/json" \ --request POST \ - --data '{"account":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","hostScanner":true, "submit":true}' \ + --data '{"account":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","hostScanner":true}' \ http://127.0.0.1:8080/v1/scan ``` diff --git a/httphandler/go.mod b/httphandler/go.mod index 5d34d817..a0605341 100644 --- a/httphandler/go.mod +++ b/httphandler/go.mod @@ -12,7 +12,7 @@ require ( github.com/gorilla/schema v1.2.0 github.com/kubescape/go-logger v0.0.6 github.com/kubescape/kubescape/v2 v2.0.0-00010101000000-000000000000 - github.com/kubescape/opa-utils v0.0.196 + github.com/kubescape/opa-utils v0.0.198 github.com/stretchr/testify v1.8.0 k8s.io/utils v0.0.0-20220706174534-f6158b442e7c ) @@ -42,7 +42,7 @@ require ( github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect github.com/agnivade/levenshtein v1.1.1 // indirect - github.com/armosec/armoapi-go v0.0.115 // indirect + github.com/armosec/armoapi-go v0.0.119 // indirect github.com/armosec/go-git-url v0.0.15 // indirect github.com/armosec/utils-k8s-go v0.0.12 // indirect github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect diff --git a/httphandler/go.sum b/httphandler/go.sum index a99eb715..b6dbbf4f 100644 --- a/httphandler/go.sum +++ b/httphandler/go.sum @@ -141,8 +141,8 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/armosec/armoapi-go v0.0.115 h1:KpxcACULFwX0BScYSS2u7DLO3D5Rlea3WNUKQpdCfJw= -github.com/armosec/armoapi-go v0.0.115/go.mod h1:2zoNzb3Fy9ZByeczJZ47ftDRLRzTykVdTISS3GTc/JU= +github.com/armosec/armoapi-go v0.0.119 h1:7XbvBbOKp26Bpp72LQ8Spw4FBpbXu3+qZFQyPEwTPFk= +github.com/armosec/armoapi-go v0.0.119/go.mod h1:2zoNzb3Fy9ZByeczJZ47ftDRLRzTykVdTISS3GTc/JU= github.com/armosec/go-git-url v0.0.15 h1:sDtu0WNvAhrDJ2begTyWP8T4tE1j1K6D0ZJ6t3Cx8k4= github.com/armosec/go-git-url v0.0.15/go.mod h1:GzfssG3IW9KiURSpK7c/bySBRTlghpObQ7NQ1O4hcMI= github.com/armosec/utils-go v0.0.12 h1:NXkG/BhbSVAmTVXr0qqsK02CmxEiXuJyPmdTRcZ4jAo= @@ -615,8 +615,8 @@ github.com/kubescape/go-logger v0.0.6 h1:ynhAmwrz0O7Jtqq1CdmCZUrKveji25hVP+B/FAb github.com/kubescape/go-logger v0.0.6/go.mod h1:DnVWEvC90LFY1nNMaNo6nBVOcqkLMK3S0qzXP1fzRvI= github.com/kubescape/k8s-interface v0.0.84 h1:k7YzpQ3SaN+bJCtpXzMj60WWIK9RkQQrU8dFQutr3LA= github.com/kubescape/k8s-interface v0.0.84/go.mod h1:ihX96yqar+xogHl45mFE8zT9DLI06iy7XQPAP+j5KJE= -github.com/kubescape/opa-utils v0.0.196 h1:7pCW+wiMl8RsDNg2rIkSQPhvvnBnFvk90Jm8h/vdOxs= -github.com/kubescape/opa-utils v0.0.196/go.mod h1:frMpD9wuK6rE3tMRIy6EM1X9zi+sSbXoDWjcSaq11og= +github.com/kubescape/opa-utils v0.0.198 h1:dmakg7HIUQijC8FEJHPop3wZN9Eo1eG8rodG0xnzL5s= +github.com/kubescape/opa-utils v0.0.198/go.mod h1:rDC3PANuk8gU5lSDO/WPFTluypBQ+/6qiuZLye+slYg= github.com/kubescape/rbac-utils v0.0.17 h1:B78kjlTKqjYK/PXwmi4GPysHsFxIwVz1KFb4+IGT29w= github.com/kubescape/rbac-utils v0.0.17/go.mod h1:pBwjpcrVeuH/no+DiCZWvlhYtCDzd3U0o/hEZKi+eM8= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=