Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package polaris for openSUSE:Factory checked in at 2023-07-07 15:47:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/polaris (Old) and /work/SRC/openSUSE:Factory/.polaris.new.23466 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polaris" Fri Jul 7 15:47:33 2023 rev:20 rq:1097152 version:8.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/polaris/polaris.changes 2023-06-23 21:53:17.242849690 +0200 +++ /work/SRC/openSUSE:Factory/.polaris.new.23466/polaris.changes 2023-07-07 15:48:48.964730567 +0200 @@ -1,0 +2,10 @@ +Thu Jul 06 13:08:02 UTC 2023 - ka...@b1-systems.de + +- Update to version 8.3.0: + * Add insights prompt (#968) + * Bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 + (#961) + * Add option to filter audit results by severity level (#969) + * Bump k8s.io/client-go from 0.27.2 to 0.27.3 (#960) + +------------------------------------------------------------------- Old: ---- polaris-8.2.4.obscpio New: ---- polaris-8.3.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ polaris.spec ++++++ --- /var/tmp/diff_new_pack.niDkIZ/_old 2023-07-07 15:48:50.076737191 +0200 +++ /var/tmp/diff_new_pack.niDkIZ/_new 2023-07-07 15:48:50.084737239 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: polaris -Version: 8.2.4 +Version: 8.3.0 Release: 0 Summary: Validation of best practices in your Kubernetes clusters License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.niDkIZ/_old 2023-07-07 15:48:50.120737453 +0200 +++ /var/tmp/diff_new_pack.niDkIZ/_new 2023-07-07 15:48:50.124737477 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/FairwindsOps/polaris</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">8.2.4</param> + <param name="revision">8.3.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.niDkIZ/_old 2023-07-07 15:48:50.144737596 +0200 +++ /var/tmp/diff_new_pack.niDkIZ/_new 2023-07-07 15:48:50.148737620 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/FairwindsOps/polaris</param> - <param name="changesrevision">4ca4c8f0f536fd5055a9cfa65144bc306ddcbde2</param></service></servicedata> + <param name="changesrevision">d55cd4bdf8cd8d27ebba25442c415f8e19802776</param></service></servicedata> (No newline at EOF) ++++++ polaris-8.2.4.obscpio -> polaris-8.3.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.2.4/cmd/polaris/audit.go new/polaris-8.3.0/cmd/polaris/audit.go --- old/polaris-8.2.4/cmd/polaris/audit.go 2023-06-22 19:22:19.000000000 +0200 +++ new/polaris-8.3.0/cmd/polaris/audit.go 2023-06-29 18:07:26.000000000 +0200 @@ -24,6 +24,7 @@ "net/http" "os" "os/exec" + "strings" workloads "github.com/fairwindsops/insights-plugins/plugins/workloads" workloadsPkg "github.com/fairwindsops/insights-plugins/plugins/workloads/pkg" @@ -51,6 +52,7 @@ helmValues string checks []string auditNamespace string + severityLevel string skipSslValidation bool uploadInsights bool clusterName string @@ -72,6 +74,7 @@ auditCmd.PersistentFlags().StringVar(&helmValues, "helm-values", "", "Optional flag to add helm values") auditCmd.PersistentFlags().StringSliceVar(&checks, "checks", []string{}, "Optional flag to specify specific checks to check") auditCmd.PersistentFlags().StringVar(&auditNamespace, "namespace", "", "Namespace to audit. Only applies to in-cluster audits") + auditCmd.PersistentFlags().StringVar(&severityLevel, "severity", "", "Severity level used to filter results. Behaves like log levels. 'danger' is the least verbose (warning, danger)") auditCmd.PersistentFlags().BoolVar(&skipSslValidation, "skip-ssl-validation", false, "Skip https certificate verification") auditCmd.PersistentFlags().BoolVar(&uploadInsights, "upload-insights", false, "Upload scan results to Fairwinds Insights") auditCmd.PersistentFlags().StringVar(&clusterName, "cluster-name", "", "Set --cluster-name to a descriptive name for the cluster you're auditing") @@ -172,10 +175,12 @@ logrus.Errorf("reporting audit file to insights: %v", err) os.Exit(1) } - logrus.Println("Success! You can see your results at:") - logrus.Printf("%s/orgs/%s/clusters/%s/action-items\n", insightsHost, auth.Organization, clusterName) + os.Stderr.WriteString("\n\nSuccess! You can see your results at:") + os.Stderr.WriteString(fmt.Sprintf("\n\n%s/orgs/%s/clusters/%s/action-items\n\n", insightsHost, auth.Organization, clusterName)) } else { - outputAudit(auditData, auditOutputFile, auditOutputURL, auditOutputFormat, useColor, onlyShowFailedTests) + outputAudit(auditData, auditOutputFile, auditOutputURL, auditOutputFormat, useColor, onlyShowFailedTests, severityLevel) + os.Stderr.WriteString("\n\nð Upload your Polaris findings to Fairwinds Insights to see remediation advice, add teammates, integrate with Slack or Jira, and more:") + os.Stderr.WriteString("\n\n⯠polaris " + strings.Join(os.Args[1:], " ") + " --upload-insights --cluster-name=my-cluster\n\n") } summary := auditData.GetSummary() @@ -223,10 +228,20 @@ return dir, nil } -func outputAudit(auditData validator.AuditData, outputFile, outputURL, outputFormat string, useColor bool, onlyShowFailedTests bool) { +func outputAudit(auditData validator.AuditData, outputFile, outputURL, outputFormat string, useColor bool, onlyShowFailedTests bool, severityLevel string) { if onlyShowFailedTests { auditData = auditData.RemoveSuccessfulResults() } + + if severityLevel != "" { + switch severityLevel { + case "danger": + auditData = auditData.FilterResultsBySeverityLevel(cfg.SeverityDanger) + case "warning": + auditData = auditData.FilterResultsBySeverityLevel(cfg.SeverityWarning) + } + } + var outputBytes []byte var err error if outputFormat == "score" { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.2.4/cmd/polaris/root.go new/polaris-8.3.0/cmd/polaris/root.go --- old/polaris-8.2.4/cmd/polaris/root.go 2023-06-22 19:22:19.000000000 +0200 +++ new/polaris-8.3.0/cmd/polaris/root.go 2023-06-29 18:07:26.000000000 +0200 @@ -16,6 +16,7 @@ import ( "os" + "strings" conf "github.com/fairwindsops/polaris/pkg/config" "github.com/sirupsen/logrus" @@ -84,7 +85,9 @@ os.Exit(1) }, PersistentPostRun: func(cmd *cobra.Command, args []string) { - os.Stderr.WriteString("\n\nWant more? Automate Polaris for free with Fairwinds Insights!\nð https://fairwinds.com/insights-signup/polaris ð \n") + if !strings.HasPrefix(cmd.Use, "audit") { + os.Stderr.WriteString("\n\nWant more? Automate Polaris for free with Fairwinds Insights!\nð https://fairwinds.com/insights-signup/polaris ð \n") + } }, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.2.4/docs/cli.md new/polaris-8.3.0/docs/cli.md --- old/polaris-8.2.4/docs/cli.md 2023-06-22 19:22:19.000000000 +0200 +++ new/polaris-8.3.0/docs/cli.md 2023-06-29 18:07:26.000000000 +0200 @@ -52,6 +52,9 @@ --resource string Audit a specific resource, in the format namespace/kind/version/name, e.g. nginx-ingress/Deployment.apps/v1/default-backend. --set-exit-code-below-score int Set an exit code of 4 when the score is below this threshold (1-100). --set-exit-code-on-danger Set an exit code of 3 when the audit contains danger-level issues. + --severity string Severity level used to filter results. Behaves like log levels. 'danger' is the least verbose (warning, danger) + --skip-ssl-validation Skip https certificate verification + --upload-insights Upload scan results to Fairwinds Insights # webhook flags --disable-webhook-config-installer disable the installer in the webhook server, so it won't install webhook configuration resources during bootstrapping. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.2.4/go.mod new/polaris-8.3.0/go.mod --- old/polaris-8.2.4/go.mod 2023-06-22 19:22:19.000000000 +0200 +++ new/polaris-8.3.0/go.mod 2023-06-29 18:07:26.000000000 +0200 @@ -3,7 +3,7 @@ go 1.20 require ( - github.com/AlecAivazis/survey/v2 v2.3.6 + github.com/AlecAivazis/survey/v2 v2.3.7 github.com/fairwindsops/insights-plugins/plugins/workloads v0.0.0-20230601204422-5c789e15990c github.com/fatih/color v1.15.0 github.com/gobuffalo/packr/v2 v2.8.3 @@ -16,9 +16,9 @@ github.com/thoas/go-funk v0.9.3 gomodules.xyz/jsonpatch/v2 v2.3.0 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.27.2 - k8s.io/apimachinery v0.27.2 - k8s.io/client-go v0.27.2 + k8s.io/api v0.27.3 + k8s.io/apimachinery v0.27.3 + k8s.io/client-go v0.27.3 sigs.k8s.io/controller-runtime v0.15.0 sigs.k8s.io/yaml v1.3.0 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.2.4/go.sum new/polaris-8.3.0/go.sum --- old/polaris-8.2.4/go.sum 2023-06-22 19:22:19.000000000 +0200 +++ new/polaris-8.3.0/go.sum 2023-06-29 18:07:26.000000000 +0200 @@ -37,8 +37,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/AlecAivazis/survey/v2 v2.3.6 h1:NvTuVHISgTHEHeBFqt6BHOe4Ny/NwGZr7w+F8S9ziyw= -github.com/AlecAivazis/survey/v2 v2.3.6/go.mod h1:4AuI9b7RjAR+G7v9+C4YSlX/YL3K3cWNXgWXOhllqvI= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= @@ -375,6 +375,7 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= @@ -400,6 +401,7 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -435,6 +437,7 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -472,6 +475,7 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -499,6 +503,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -546,14 +551,14 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= @@ -565,6 +570,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -624,6 +631,7 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -766,13 +774,13 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.27.2 h1:+H17AJpUMvl+clT+BPnKf0E3ksMAzoBBg7CntpSuADo= -k8s.io/api v0.27.2/go.mod h1:ENmbocXfBT2ADujUXcBhHV55RIT31IIEvkntP6vZKS4= +k8s.io/api v0.27.3 h1:yR6oQXXnUEBWEWcvPWS0jQL575KoAboQPfJAuKNrw5Y= +k8s.io/api v0.27.3/go.mod h1:C4BNvZnQOF7JA/0Xed2S+aUyJSfTGkGFxLXz9MnpIpg= k8s.io/apiextensions-apiserver v0.27.2 h1:iwhyoeS4xj9Y7v8YExhUwbVuBhMr3Q4bd/laClBV6Bo= -k8s.io/apimachinery v0.27.2 h1:vBjGaKKieaIreI+oQwELalVG4d8f3YAMNpWLzDXkxeg= -k8s.io/apimachinery v0.27.2/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E= -k8s.io/client-go v0.27.2 h1:vDLSeuYvCHKeoQRhCXjxXO45nHVv2Ip4Fe0MfioMrhE= -k8s.io/client-go v0.27.2/go.mod h1:tY0gVmUsHrAmjzHX9zs7eCjxcBsf8IiNe7KQ52biTcQ= +k8s.io/apimachinery v0.27.3 h1:Ubye8oBufD04l9QnNtW05idcOe9Z3GQN8+7PqmuVcUM= +k8s.io/apimachinery v0.27.3/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E= +k8s.io/client-go v0.27.3 h1:7dnEGHZEJld3lYwxvLl7WoehK6lAq7GvgjxpA3nv1E8= +k8s.io/client-go v0.27.3/go.mod h1:2MBEKuTo6V1lbKy3z1euEGnhPfGZLKTS9tiJ2xodM48= k8s.io/component-base v0.27.2 h1:neju+7s/r5O4x4/txeUONNTS9r1HsPbyoPBAtHsDCpo= k8s.io/component-base v0.27.2/go.mod h1:5UPk7EjfgrfgRIuDBFtsEFAe4DAvP3U+M8RTzoSJkpo= k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.2.4/pkg/validator/output.go new/polaris-8.3.0/pkg/validator/output.go --- old/polaris-8.2.4/pkg/validator/output.go 2023-06-22 19:22:19.000000000 +0200 +++ new/polaris-8.3.0/pkg/validator/output.go 2023-06-29 18:07:26.000000000 +0200 @@ -53,6 +53,26 @@ Score uint } +// FilterResultsBySeverityLevel includes results according to the provided severity level: +// 'danger' is the least verbose, 'warning' is medium verbosity, default behavior will +// include all results, which currently also includes 'ignore' +func (res AuditData) FilterResultsBySeverityLevel(severityLevel config.Severity) AuditData { + resCopy := res + resCopy.Results = []Result{} + + filteredResults := funk.Map(res.Results, func(auditDataResult Result) Result { + return auditDataResult.filterResultsBySeverityLevel(severityLevel) + }).([]Result) + + for _, result := range filteredResults { + if result.isNotEmpty() { + resCopy.Results = append(resCopy.Results, result) + } + } + + return resCopy +} + // RemoveSuccessfulResults removes all tests that have passed func (res AuditData) RemoveSuccessfulResults() AuditData { resCopy := res @@ -108,6 +128,25 @@ return newResults } +func (res ResultSet) filterResultsBySeverityLevel(severityLevel config.Severity) ResultSet { + newResults := ResultSet{} + for k, resultMessage := range res { + switch severityLevel { + case config.SeverityDanger: + if resultMessage.Severity == config.SeverityDanger { + newResults[k] = resultMessage + } + case config.SeverityWarning: + if resultMessage.Severity == config.SeverityDanger || resultMessage.Severity == config.SeverityWarning { + newResults[k] = resultMessage + } + default: + return res + } + } + return newResults +} + // Result provides results for a Kubernetes object type Result struct { Name string @@ -128,6 +167,16 @@ return resCopy } +func (res Result) filterResultsBySeverityLevel(severityLevel config.Severity) Result { + resCopy := res + resCopy.Results = res.Results.filterResultsBySeverityLevel(severityLevel) + if res.PodResult != nil { + podCopy := res.PodResult.filterResultsBySeverityLevel(severityLevel) + resCopy.PodResult = &podCopy + } + return resCopy +} + func (res Result) isNotEmpty() bool { if res.PodResult != nil { return res.PodResult.isNotEmpty() @@ -151,6 +200,15 @@ return resCopy } +func (res PodResult) filterResultsBySeverityLevel(severityLevel config.Severity) PodResult { + resCopy := PodResult{} + resCopy.Results = res.Results.filterResultsBySeverityLevel(severityLevel) + resCopy.ContainerResults = funk.Map(res.ContainerResults, func(containerResult ContainerResult) ContainerResult { + return containerResult.filterResultsBySeverityLevel(severityLevel) + }).([]ContainerResult) + return resCopy +} + func (res PodResult) isNotEmpty() bool { for _, cr := range res.ContainerResults { if cr.isNotEmpty() { @@ -172,6 +230,12 @@ return resCopy } +func (res ContainerResult) filterResultsBySeverityLevel(severityLevel config.Severity) ContainerResult { + resCopy := res + resCopy.Results = res.Results.filterResultsBySeverityLevel(severityLevel) + return resCopy +} + func (res ContainerResult) isNotEmpty() bool { return res.Results.isNotEmpty() } ++++++ polaris.obsinfo ++++++ --- /var/tmp/diff_new_pack.niDkIZ/_old 2023-07-07 15:48:50.476739574 +0200 +++ /var/tmp/diff_new_pack.niDkIZ/_new 2023-07-07 15:48:50.480739598 +0200 @@ -1,5 +1,5 @@ name: polaris -version: 8.2.4 -mtime: 1687454539 -commit: 4ca4c8f0f536fd5055a9cfa65144bc306ddcbde2 +version: 8.3.0 +mtime: 1688054846 +commit: d55cd4bdf8cd8d27ebba25442c415f8e19802776 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/polaris/vendor.tar.gz /work/SRC/openSUSE:Factory/.polaris.new.23466/vendor.tar.gz differ: char 5, line 1