diff --git a/Makefile b/Makefile index 68ffcbd9..03335c1d 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ test-license: ## Check if all files has the license .PHONY: generate-samples ## Generate the samples in the testdata generate-samples: - go run ./hack/generate_samples.go + go run ./hack/samples/generate_samples.go .PHONY: full-report ## Generate the full report for all images in the the testdata full-report: diff --git a/README.md b/README.md index 510ab5e9..88397bbf 100644 --- a/README.md +++ b/README.md @@ -68,9 +68,46 @@ Note that you can also output the results in JSON format: --head-only \ --output=json \ --output-path=testdata/json +``` + +### Options + +Use the `--help` flag to check the options and the further information about its commands. Following an example: + +```sh +$ ./bin/audit bundles --help +Provides reports with the details of all bundles operators ship in the index image informed according to the criteria defined via the flags. + + **When this report is useful?** + +This report is useful when is required to check the operator bundles details. + +Usage: + audit bundles [flags] + +Flags: + --disable-scorecard if set, will disable the scorecard tests + --disable-validators if set, will disable the validators tests + --filter string filter by operator bundle names which are *filter* + --head-only if set, will just check the operator bundle which are head of the channels + -h, --help help for bundles + --index-image string index image and tag which will be audit + --label string filter by bundles which has index images where contains *label* + --label-value string filter by bundles which has index images where contains *label=label-value*. This option can only be used with the --label flag. + --limit int32 limit the num of operator bundles to be audit + --output string inform the output format. [Flags: xls, json]. (Default: xls) (default "xls") + --output-path string inform the path of the directory to output the report. (Default: current directory) (default "/Users/camilamacedo/go/src/github.com/operator-framework/audit-1") +``` + +### Filtering results by names + +See that you can use the `--filter` --flag to filter the results by the name of the kind of item audited. By using this option to create a report for the packages that means that the results will be filtered by its name which would like the `%value%` informed, see an example: + +```sh +./bin/audit audit bundles --index-image=registry.redhat.io/redhat/redhat-operator-index:v4.5 --filter="mybundlename" ``` -NOTE: Use the `--help` flag to check the options and the further information about its commands. +That would only return the bundles which contains `mybundlename` as part of its name. ## Reports @@ -113,9 +150,9 @@ If you see a column with this information than that means that the specific crit - OCP images: See [Understanding Operator catalogs](https://github.com/openshift/openshift-docs/blob/master/modules/olm-understanding-operator-catalog-images.adoc#understanding-operator-catalogs) - Community operator image (`quay.io/operatorhubio/catalog:latest`): Its source is from [upstream-community-operators](https://github.com/operator-framework/community-operators/tree/master/upstream-community-operators) -### What are the reports in the testdata/reports/backport? +### What are the reports in the testdata/backport? -These reports were generated for we are able to identify the projects which are using the index image label `com.redhat.delivery.backport=true`.  +These reports were generated for we are able to identify the projects which are using the index image label `com.redhat.delivery.backport=true` and are distributed on 4.5. [of-api]: https://github.com/operator-framework/api [scorecard-config]: https://github.com/operator-framework/operator-sdk/blob/v1.5.0/testdata/go/v3/memcached-operator/bundle/tests/scorecard/config.yaml diff --git a/hack/backport/backport.go b/hack/backport/backport.go index 701ad0b0..35b31b61 100644 --- a/hack/backport/backport.go +++ b/hack/backport/backport.go @@ -43,7 +43,7 @@ func main() { // testdata is the path where all samples should be generate const testdataPath = "/testdata/" - reportPath := filepath.Join(currentPath, testdataPath, "reports", "backport") + reportPath := filepath.Join(currentPath, testdataPath, "backport") binPath := filepath.Join(currentPath, "bin", "audit") command = exec.Command("rm", "-rf", reportPath) diff --git a/hack/report/full.go b/hack/report/full.go index 9dec6255..e14303cb 100644 --- a/hack/report/full.go +++ b/hack/report/full.go @@ -59,10 +59,10 @@ func main() { } allimages := []string{ - "registry.redhat.io/redhat/certified-operator-index:v4.8", - "registry.redhat.io/redhat/community-operator-index:v4.8", - "registry.redhat.io/redhat/redhat-marketplace-index:v4.8", - "registry.redhat.io/redhat/redhat-operator-index:v4.8", + "registry.redhat.io/redhat/certified-operator-index:v4.7", + "registry.redhat.io/redhat/community-operator-index:v4.7", + "registry.redhat.io/redhat/redhat-marketplace-index:v4.7", + "registry.redhat.io/redhat/redhat-operator-index:v4.7", "quay.io/operatorhubio/catalog:latest", } diff --git a/pkg/actions/get_bundle.go b/pkg/actions/get_bundle.go index 05bbf3d6..0f8a208f 100644 --- a/pkg/actions/get_bundle.go +++ b/pkg/actions/get_bundle.go @@ -34,7 +34,8 @@ type Manifest struct { Layers []string } -type DockerConfigManifest struct { +type DockerInspectManifest struct { + Created string `json:"Created"` DockerConfig DockerConfig `json:"Config"` } @@ -48,16 +49,24 @@ func GetDataFromBundleImage(auditBundle *models.AuditBundle, downloadBundleImage(auditBundle) bundleDir := createBundleDir(auditBundle) - dockerConfigManifest := extractBundleFromImage(auditBundle, bundleDir) + extractBundleFromImage(auditBundle, bundleDir) + inspectManifest := dockerInspect(auditBundle) if len(label) > 0 { - value := dockerConfigManifest.DockerConfig.Labels[label] + value := inspectManifest.DockerConfig.Labels[label] if value == labelValue { auditBundle.FoundLabel = true } } - auditBundle.OCPLabel = dockerConfigManifest.DockerConfig.Labels["com.redhat.openshift.versions"] + // 4.8 images has note the build-date in the label + if len(inspectManifest.Created) > 0 { + auditBundle.BuildAt = inspectManifest.Created + } else { + auditBundle.BuildAt = inspectManifest.DockerConfig.Labels["build-date"] + } + + auditBundle.OCPLabel = inspectManifest.DockerConfig.Labels["com.redhat.openshift.versions"] // Read the bundle var err error @@ -105,7 +114,27 @@ func downloadBundleImage(auditBundle *models.AuditBundle) { } } -func extractBundleFromImage(auditBundle *models.AuditBundle, bundleDir string) DockerConfigManifest { +func dockerInspect(auditBundle *models.AuditBundle) DockerInspectManifest { + cmd := exec.Command("docker", "inspect", auditBundle.OperatorBundleImagePath) + output, err := pkg.RunCommand(cmd) + if err != nil || len(output) < 1 { + log.Errorf("unable to inspect the bundle image: %s", err) + auditBundle.Errors = append(auditBundle.Errors, + fmt.Errorf("unable to inspect the bundle image : %s", err)) + return DockerInspectManifest{} + } + + var dockerInspect []DockerInspectManifest + if err := json.Unmarshal(output, &dockerInspect); err != nil { + log.Errorf("unable to Unmarshal docker inspect result: %s", err) + auditBundle.Errors = append(auditBundle.Errors, + fmt.Errorf("unable to Unmarshal docker inspect result: %s", err)) + return DockerInspectManifest{} + } + return dockerInspect[0] +} + +func extractBundleFromImage(auditBundle *models.AuditBundle, bundleDir string) { imageName := strings.Split(auditBundle.OperatorBundleImagePath, "@")[0] tarPath := fmt.Sprintf("%s/%s.tar", bundleDir, auditBundle.OperatorBundleName) cmd := exec.Command("docker", "save", imageName, "-o", tarPath) @@ -132,7 +161,6 @@ func extractBundleFromImage(auditBundle *models.AuditBundle, bundleDir string) D fmt.Errorf("error to create the bundle bundleDir : %s", err)) } - var dockerConfig DockerConfigManifest bundleConfigFilePath := filepath.Join(bundleDir, "manifest.json") existingFile, err := ioutil.ReadFile(bundleConfigFilePath) if err == nil { @@ -148,16 +176,6 @@ func extractBundleFromImage(auditBundle *models.AuditBundle, bundleDir string) D fmt.Errorf("error to untar layers: %s", err)) } - bundleConfigFilePath := filepath.Join(bundleDir, bundleLayerConfig[0].Config) - existingFile, err := ioutil.ReadFile(bundleConfigFilePath) - if err == nil { - if err := json.Unmarshal(existingFile, &dockerConfig); err != nil { - log.Errorf("unable to Unmarshal manifest.json: %s", err) - auditBundle.Errors = append(auditBundle.Errors, - fmt.Errorf("unable to Unmarshal manifest.json: %s", err)) - } - } - for _, layer := range bundleLayerConfig[0].Layers { cmd = exec.Command("tar", "-xvf", filepath.Join(bundleDir, layer), "-C", filepath.Join(bundleDir, "bundle")) _, err = pkg.RunCommand(cmd) @@ -187,8 +205,6 @@ func extractBundleFromImage(auditBundle *models.AuditBundle, bundleDir string) D cmd = exec.Command("rm", "-rf", fmt.Sprintf("%s/bundle/root/", bundleDir)) _, _ = pkg.RunCommand(cmd) - - return dockerConfig } func cleanupBundleDir(auditBundle *models.AuditBundle, dir string) { diff --git a/pkg/models/bundle.go b/pkg/models/bundle.go index 3e071fe1..d74fd043 100644 --- a/pkg/models/bundle.go +++ b/pkg/models/bundle.go @@ -26,6 +26,7 @@ type AuditBundle struct { Bundle *apimanifests.Bundle FoundLabel bool OCPLabel string + BuildAt string SkipRangeDB string VersionDB string SkipsDB string diff --git a/pkg/reports/bundles/columns.go b/pkg/reports/bundles/columns.go index 92ffe492..bf4eaeb0 100644 --- a/pkg/reports/bundles/columns.go +++ b/pkg/reports/bundles/columns.go @@ -27,7 +27,6 @@ import ( const certifiedAnnotation = "certified" const repositoryAnnotation = "repository" -const createAtAnnotation = "createdAt" const archLabels = "operatorframework.io/arch." const osLabel = "operatorframework.io/os." const sdkBuilderAnnotation = "operators.operatorframework.io/builder" @@ -43,7 +42,7 @@ type Columns struct { BundlePath string `json:"bundlePath,omitempty"` HasWebhook bool `json:"hasWebhook"` HasV1beta1CRDs string `json:"hasV1beta1CRDs,omitempty"` - CreatedAt string `json:"createdAt,omitempty"` + BuildAt string `json:"buildAt,omitempty"` Company string `json:"company,omitempty"` Repository string `json:"repository,omitempty"` BundleChannel string `json:"bundleChannel,omitempty"` @@ -89,7 +88,6 @@ func (c *Columns) AddDataFromCSV(csv *v1alpha1.ClusterServiceVersion) { certified := csv.ObjectMeta.Annotations[certifiedAnnotation] c.Certified = len(certified) > 0 && certified == "true" c.Repository = csv.ObjectMeta.Annotations[repositoryAnnotation] - c.CreatedAt = csv.ObjectMeta.Annotations[createAtAnnotation] if len(csv.Spec.Version.String()) > 0 { c.OperatorBundleVersion = csv.Spec.Version.String() } diff --git a/pkg/reports/bundles/data.go b/pkg/reports/bundles/data.go index 90d18929..b8e4bd66 100644 --- a/pkg/reports/bundles/data.go +++ b/pkg/reports/bundles/data.go @@ -53,6 +53,7 @@ func (d *Data) PrepareReport() Report { col.Replace = v.ReplacesDB col.OperatorBundleVersion = v.VersionDB col.OCPLabel = v.OCPLabel + col.BuildAt = v.BuildAt var csv *v1alpha1.ClusterServiceVersion if v.Bundle != nil && v.Bundle.CSV != nil { diff --git a/pkg/reports/bundles/report.go b/pkg/reports/bundles/report.go index f4404e20..ddbca8e2 100644 --- a/pkg/reports/bundles/report.go +++ b/pkg/reports/bundles/report.go @@ -66,7 +66,7 @@ func (r *Report) writeXls() error { "N": "Operator Bundle Version", "O": "Default Channel", "P": "Bundle Channel", - "Q": "Create At", + "Q": "Build At", "R": "Bundle Path", "S": "Has webhooks?", "T": "Builder", @@ -164,8 +164,8 @@ func (r *Report) writeXls() error { if err := f.SetCellValue(sheetName, fmt.Sprintf("P%d", line), v.BundleChannel); err != nil { log.Errorf("to add BundleChannel cell value : %s", err) } - if err := f.SetCellValue(sheetName, fmt.Sprintf("Q%d", line), v.CreatedAt); err != nil { - log.Errorf("to add CreatedAt cell value : %s", err) + if err := f.SetCellValue(sheetName, fmt.Sprintf("Q%d", line), v.BuildAt); err != nil { + log.Errorf("to add BuildAt cell value : %s", err) } if err := f.SetCellValue(sheetName, fmt.Sprintf("R%d", line), v.BundlePath); err != nil { log.Errorf("to add BundlePath cell value : %s", err) diff --git a/pkg/reports/packages/columns.go b/pkg/reports/packages/columns.go index 75be2eaf..8c73db56 100644 --- a/pkg/reports/packages/columns.go +++ b/pkg/reports/packages/columns.go @@ -38,7 +38,7 @@ type Columns struct { HasSupportForOwnNamespaces bool `json:"hasSupportForOwnNamespaces,omitempty"` HasInfraSupport bool `json:"hasInfraSupport,omitempty"` HasPossiblePerformIssues bool `json:"hasPossiblePerformIssues,omitempty"` - CreationDates []string `json:"creationDates,omitempty"` + BuildAtDates []string `json:"buildAtDates,omitempty"` OCPLabel []string `json:"ocpLabel,omitempty"` AuditErrors []error `json:"errors"` } diff --git a/pkg/reports/packages/data.go b/pkg/reports/packages/data.go index c8995cec..af9d5456 100644 --- a/pkg/reports/packages/data.go +++ b/pkg/reports/packages/data.go @@ -79,7 +79,7 @@ func (d *Data) PrepareReport() Report { scorecardFailingTests = append(scorecardFailingTests, v.ScorecardFailingTests...) muiltArchSupport = append(muiltArchSupport, v.MultipleArchitectures...) ocpLabel = append(ocpLabel, v.OCPLabel) - creationDates = append(creationDates, v.CreatedAt) + creationDates = append(creationDates, v.BuildAt) if !foundDeprecatedAPI { switch v.HasV1beta1CRDs { @@ -161,7 +161,7 @@ func (d *Data) PrepareReport() Report { col.HasInfraSupport = foundInfraSupport col.HasPossiblePerformIssues = foundPossiblePerformIssues col.HasDependency = foundDependency - col.CreationDates = creationDates + col.BuildAtDates = creationDates col.OCPLabel = ocpLabel // If was not possible get any bundle then needs to be Unknown @@ -201,6 +201,9 @@ func (d *Data) getAllBundles(auditPkg models.AuditPackage) []bundles.Columns { bundles.AddDataFromScorecard(v.ScorecardResults) bundles.AddDataFromValidators(v.ValidatorsResults) + bundles.BuildAt = v.BuildAt + bundles.OCPLabel = v.OCPLabel + allBundles = append(allBundles, bundles) } return allBundles diff --git a/pkg/reports/packages/report.go b/pkg/reports/packages/report.go index 00c25b07..56d4fb51 100644 --- a/pkg/reports/packages/report.go +++ b/pkg/reports/packages/report.go @@ -63,7 +63,7 @@ func (r *Report) writeXls() error { "P": "Has Support for Multi Namespaces", "Q": "Has Infrastructure Support", "R": "Has possible performance issues", - "S": "Creation Dates (by author)", + "S": "Build Dates (from index image)", "T": "OCP Labels", "U": "Issues (To process this report)", } @@ -199,8 +199,8 @@ func (r *Report) writeXls() error { } if err := f.SetCellValue(sheetName, fmt.Sprintf("S%d", line), - pkg.GetFormatArrayWithBreakLine(v.CreationDates)); err != nil { - log.Errorf("to add CreationDates cell value : %s", err) + pkg.GetFormatArrayWithBreakLine(v.BuildAtDates)); err != nil { + log.Errorf("to add BuildAtDates cell value : %s", err) } if err := f.SetCellValue(sheetName, fmt.Sprintf("T%d", line), diff --git a/testdata/backport/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.5_2021-05-06.xlsx b/testdata/backport/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.5_2021-05-06.xlsx new file mode 100644 index 00000000..a83de519 Binary files /dev/null and b/testdata/backport/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.5_2021-05-06.xlsx differ diff --git a/testdata/backport/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.5_2021-05-07.xlsx b/testdata/backport/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.5_2021-05-07.xlsx new file mode 100644 index 00000000..a3f4d472 Binary files /dev/null and b/testdata/backport/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.5_2021-05-07.xlsx differ diff --git a/testdata/backport/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.5_2021-05-06.xlsx b/testdata/backport/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.5_2021-05-06.xlsx new file mode 100644 index 00000000..f9b86fbd Binary files /dev/null and b/testdata/backport/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.5_2021-05-06.xlsx differ diff --git a/testdata/backport/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.5_2021-05-06.xlsx b/testdata/backport/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.5_2021-05-06.xlsx new file mode 100644 index 00000000..8961a4d9 Binary files /dev/null and b/testdata/backport/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.5_2021-05-06.xlsx differ diff --git a/testdata/reports/operatorhubio_catalog/bundles_quay.io_operatorhubio_catalog_latest_2021-05-03.xlsx b/testdata/reports/operatorhubio_catalog/bundles_quay.io_operatorhubio_catalog_latest_2021-05-03.xlsx deleted file mode 100644 index cd9d7a31..00000000 Binary files a/testdata/reports/operatorhubio_catalog/bundles_quay.io_operatorhubio_catalog_latest_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/operatorhubio_catalog/bundles_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx b/testdata/reports/operatorhubio_catalog/bundles_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx new file mode 100644 index 00000000..e111a9d5 Binary files /dev/null and b/testdata/reports/operatorhubio_catalog/bundles_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx differ diff --git a/testdata/reports/operatorhubio_catalog/channels_quay.io_operatorhubio_catalog_latest_2021-05-04.xlsx b/testdata/reports/operatorhubio_catalog/channels_quay.io_operatorhubio_catalog_latest_2021-05-04.xlsx deleted file mode 100644 index 15b3f216..00000000 Binary files a/testdata/reports/operatorhubio_catalog/channels_quay.io_operatorhubio_catalog_latest_2021-05-04.xlsx and /dev/null differ diff --git a/testdata/reports/operatorhubio_catalog/channels_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx b/testdata/reports/operatorhubio_catalog/channels_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx new file mode 100644 index 00000000..b6519fec Binary files /dev/null and b/testdata/reports/operatorhubio_catalog/channels_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx differ diff --git a/testdata/reports/operatorhubio_catalog/packages_quay.io_operatorhubio_catalog_latest_2021-05-03.xlsx b/testdata/reports/operatorhubio_catalog/packages_quay.io_operatorhubio_catalog_latest_2021-05-03.xlsx deleted file mode 100644 index 07dd92dc..00000000 Binary files a/testdata/reports/operatorhubio_catalog/packages_quay.io_operatorhubio_catalog_latest_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/operatorhubio_catalog/packages_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx b/testdata/reports/operatorhubio_catalog/packages_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx new file mode 100644 index 00000000..25b30e1b Binary files /dev/null and b/testdata/reports/operatorhubio_catalog/packages_quay.io_operatorhubio_catalog_latest_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..8c2c85f0 Binary files /dev/null and b/testdata/reports/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index a5157bfe..00000000 Binary files a/testdata/reports/redhat_certified_operator_index/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_certified_operator_index/channels_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_certified_operator_index/channels_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..bdeb8c4d Binary files /dev/null and b/testdata/reports/redhat_certified_operator_index/channels_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_certified_operator_index/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-04.xlsx b/testdata/reports/redhat_certified_operator_index/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-04.xlsx deleted file mode 100644 index 6431df61..00000000 Binary files a/testdata/reports/redhat_certified_operator_index/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-04.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..6304be61 Binary files /dev/null and b/testdata/reports/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index c5504482..00000000 Binary files a/testdata/reports/redhat_certified_operator_index/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_community_operator_index/bundles_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_community_operator_index/bundles_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..4c3fbcc2 Binary files /dev/null and b/testdata/reports/redhat_community_operator_index/bundles_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_community_operator_index/bundles_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_community_operator_index/bundles_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index 6aee44ab..00000000 Binary files a/testdata/reports/redhat_community_operator_index/bundles_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_community_operator_index/channels_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_community_operator_index/channels_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..ceec38e4 Binary files /dev/null and b/testdata/reports/redhat_community_operator_index/channels_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_community_operator_index/channels_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-04.xlsx b/testdata/reports/redhat_community_operator_index/channels_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-04.xlsx deleted file mode 100644 index e0be6c64..00000000 Binary files a/testdata/reports/redhat_community_operator_index/channels_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-04.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_community_operator_index/packages_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_community_operator_index/packages_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..1f95d019 Binary files /dev/null and b/testdata/reports/redhat_community_operator_index/packages_registry.redhat.io_redhat_community_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_community_operator_index/packages_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_community_operator_index/packages_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index d9901f41..00000000 Binary files a/testdata/reports/redhat_community_operator_index/packages_registry.redhat.io_redhat_community_operator_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_redhat_marketplace_index/bundles_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_redhat_marketplace_index/bundles_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..25535cda Binary files /dev/null and b/testdata/reports/redhat_redhat_marketplace_index/bundles_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_redhat_marketplace_index/bundles_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_redhat_marketplace_index/bundles_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index fb69e761..00000000 Binary files a/testdata/reports/redhat_redhat_marketplace_index/bundles_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_redhat_marketplace_index/channels_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_redhat_marketplace_index/channels_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..7a799aed Binary files /dev/null and b/testdata/reports/redhat_redhat_marketplace_index/channels_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_redhat_marketplace_index/channels_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-04.xlsx b/testdata/reports/redhat_redhat_marketplace_index/channels_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-04.xlsx deleted file mode 100644 index 50428b1b..00000000 Binary files a/testdata/reports/redhat_redhat_marketplace_index/channels_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-04.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_redhat_marketplace_index/packages_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_redhat_marketplace_index/packages_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..1ee547fd Binary files /dev/null and b/testdata/reports/redhat_redhat_marketplace_index/packages_registry.redhat.io_redhat_redhat_marketplace_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_redhat_marketplace_index/packages_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_redhat_marketplace_index/packages_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index e130184b..00000000 Binary files a/testdata/reports/redhat_redhat_marketplace_index/packages_registry.redhat.io_redhat_redhat_marketplace_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..d03c00df Binary files /dev/null and b/testdata/reports/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index cd151557..00000000 Binary files a/testdata/reports/redhat_redhat_operator_index/bundles_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_redhat_operator_index/channels_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_redhat_operator_index/channels_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..ebda35d9 Binary files /dev/null and b/testdata/reports/redhat_redhat_operator_index/channels_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_redhat_operator_index/channels_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-04.xlsx b/testdata/reports/redhat_redhat_operator_index/channels_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-04.xlsx deleted file mode 100644 index e50c6d38..00000000 Binary files a/testdata/reports/redhat_redhat_operator_index/channels_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-04.xlsx and /dev/null differ diff --git a/testdata/reports/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx b/testdata/reports/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx new file mode 100644 index 00000000..82c01da4 Binary files /dev/null and b/testdata/reports/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.7_2021-05-07.xlsx differ diff --git a/testdata/reports/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-03.xlsx b/testdata/reports/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-03.xlsx deleted file mode 100644 index 9e529b09..00000000 Binary files a/testdata/reports/redhat_redhat_operator_index/packages_registry.redhat.io_redhat_redhat_operator_index_v4.8_2021-05-03.xlsx and /dev/null differ diff --git a/testdata/samples/bundles/json/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json b/testdata/samples/bundles/json/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json similarity index 94% rename from testdata/samples/bundles/json/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json rename to testdata/samples/bundles/json/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json index 3e996aa6..a025e50c 100644 --- a/testdata/samples/bundles/json/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json +++ b/testdata/samples/bundles/json/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json @@ -8,7 +8,7 @@ "bundlePath": "registry.connect.redhat.com/cambridgesemantics/anzograph-operator-bundle@sha256:3d140982e5972dbcef2ce9d280ef8f578cc8f052e86807f8cad6a5b884e76a56", "hasWebhook": false, "hasV1beta1CRDs": "YES", - "createdAt": "2020-10-15", + "buildAt": "2021-01-22T12:18:49.312327583Z", "company": "Cambridge Semantics", "bundleChannel": "stable", "defaultChannel": "stable", @@ -43,7 +43,7 @@ "bundlePath": "registry.connect.redhat.com/appranix/apx-operator-bundle@sha256:0722fe603686fa004bc0047f4535435ab9005ef4e9fd96820d330c1c17908259", "hasWebhook": false, "hasV1beta1CRDs": "YES", - "createdAt": "2020-02-18 10:47:57", + "buildAt": "2020-09-22T16:19:56.755841311Z", "company": "Appranix, Inc", "repository": "https://github.com/operator-framework/community-operators/tree/master/upstream-community-operators/appranix", "bundleChannel": "stable", @@ -68,18 +68,18 @@ "apiextensions.k8s.io/v1beta1, kind=CustomResourceDefinitions was deprecated in Kubernetes v1.16 and will be removed in v1.22 in favor of v1: [\"backupstoragelocations.aps.appranix.com\" \"volumesnapshotlocations.aps.appranix.com\"] should be migrated" ], "scorecardErrors": [ - "objectStorage does not have a spec descriptor", "backupstoragelocations.aps.appranix.com does not have a status descriptor", - "volumesnapshotlocations.aps.appranix.com does not have a status descriptor" + "volumesnapshotlocations.aps.appranix.com does not have a status descriptor", + "objectStorage does not have a spec descriptor" ], "scorecardSuggestions": [ - "Add a spec descriptor for objectStorage", "Add CRD validation for BackupStorageLocation/v1", - "Add CRD validation for VolumeSnapshotLocation/v1" + "Add CRD validation for VolumeSnapshotLocation/v1", + "Add a spec descriptor for objectStorage" ], "scorecardFailingTests": [ - "olm-spec-descriptors", - "olm-status-descriptors" + "olm-status-descriptors", + "olm-spec-descriptors" ], "invalidVersioning": "NO", "invalidSkipRange": "NOT USED", @@ -95,7 +95,7 @@ "bundlePath": "registry.connect.redhat.com/appranix/apx-operator-bundle@sha256:98c5049335f381af9db41ca86d479ed66cfc3c661b50670722b863d6502f1d1c", "hasWebhook": false, "hasV1beta1CRDs": "YES", - "createdAt": "2020-03-04 12:34:42", + "buildAt": "2020-09-22T19:05:04.137956552Z", "company": "Appranix, Inc", "repository": "https://github.com/operator-framework/community-operators/tree/master/upstream-community-operators/appranix", "bundleChannel": "stable", @@ -120,9 +120,9 @@ "apiextensions.k8s.io/v1beta1, kind=CustomResourceDefinitions was deprecated in Kubernetes v1.16 and will be removed in v1.22 in favor of v1: [\"backupstoragelocations.aps.appranix.com\" \"volumesnapshotlocations.aps.appranix.com\"] should be migrated" ], "scorecardErrors": [ - "objectStorage does not have a spec descriptor", "backupstoragelocations.aps.appranix.com does not have a status descriptor", - "volumesnapshotlocations.aps.appranix.com does not have a status descriptor" + "volumesnapshotlocations.aps.appranix.com does not have a status descriptor", + "objectStorage does not have a spec descriptor" ], "scorecardSuggestions": [ "Add a spec descriptor for objectStorage", @@ -130,8 +130,8 @@ "Add CRD validation for VolumeSnapshotLocation/v1" ], "scorecardFailingTests": [ - "olm-spec-descriptors", - "olm-status-descriptors" + "olm-status-descriptors", + "olm-spec-descriptors" ], "invalidVersioning": "NO", "invalidSkipRange": "NOT USED", @@ -148,7 +148,7 @@ "bundlePath": "registry.connect.redhat.com/cambridgesemantics/anzo-operator-bundle@sha256:61d445e6076ea7206ed00900d9bf388d5e15691910e923a2312a8706be5a759f", "hasWebhook": false, "hasV1beta1CRDs": "YES", - "createdAt": "2020-12-15", + "buildAt": "2021-01-22T12:25:07.977460331Z", "company": "Cambridge Semantics", "bundleChannel": "stable", "defaultChannel": "stable", @@ -182,7 +182,7 @@ "bundlePath": "registry.connect.redhat.com/lightbend/akka-cluster-operator-certified-bundle@sha256:e7dc6a53e75a9416f0619998cb1ab12aef98f2e4cbd8f10bc4f60bfefa553e82", "hasWebhook": false, "hasV1beta1CRDs": "YES", - "createdAt": "2019-06-28T15:23:00Z", + "buildAt": "2020-09-05T22:52:10.481848677Z", "company": "Lightbend, Inc.", "repository": "https://github.com/lightbend/akka-cluster-operator", "bundleChannel": "beta", diff --git a/testdata/samples/bundles/xls/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx b/testdata/samples/bundles/xls/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx deleted file mode 100644 index 117b5f77..00000000 Binary files a/testdata/samples/bundles/xls/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx and /dev/null differ diff --git a/testdata/samples/bundles/xls/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx b/testdata/samples/bundles/xls/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx new file mode 100644 index 00000000..72974f39 Binary files /dev/null and b/testdata/samples/bundles/xls/bundles_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx differ diff --git a/testdata/samples/channels/json/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json b/testdata/samples/channels/json/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json similarity index 100% rename from testdata/samples/channels/json/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json rename to testdata/samples/channels/json/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json diff --git a/testdata/samples/channels/xls/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx b/testdata/samples/channels/xls/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx similarity index 53% rename from testdata/samples/channels/xls/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx rename to testdata/samples/channels/xls/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx index 5dc477a2..cb466d43 100644 Binary files a/testdata/samples/channels/xls/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx and b/testdata/samples/channels/xls/channels_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx differ diff --git a/testdata/samples/packages/json/package_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json b/testdata/samples/packages/json/package_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json similarity index 92% rename from testdata/samples/packages/json/package_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json rename to testdata/samples/packages/json/package_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json index 4f27228a..ef80613d 100644 --- a/testdata/samples/packages/json/package_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.json +++ b/testdata/samples/packages/json/package_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.json @@ -11,75 +11,75 @@ "apiextensions.k8s.io/v1beta1, kind=CustomResourceDefinitions was deprecated in Kubernetes v1.16 and will be removed in v1.22 in favor of v1: [\"kaudits.kaudit.alcide.com\"] should be migrated" ], "scorecardErrors": [ - "Owned CRDs do not have resources specified", - "kaudits.kaudit.alcide.com does not have a status descriptor", - "k8s does not have a spec descriptor", - "kauditPolicyFile does not have a spec descriptor", - "prometheus does not have a spec descriptor", - "resources does not have a spec descriptor", - "vault does not have a spec descriptor", - "alcide does not have a spec descriptor", + "aks does not have a spec descriptor", "gke does not have a spec descriptor", "namespace does not have a spec descriptor", - "runOptions does not have a spec descriptor", + "resources does not have a spec descriptor", "aws does not have a spec descriptor", - "tls does not have a spec descriptor", + "ingress does not have a spec descriptor", + "kauditPolicyFile does not have a spec descriptor", "storage does not have a spec descriptor", + "vault does not have a spec descriptor", + "alcide does not have a spec descriptor", "clusterName does not have a spec descriptor", + "k8s does not have a spec descriptor", + "runOptions does not have a spec descriptor", + "tls does not have a spec descriptor", "image does not have a spec descriptor", - "ingress does not have a spec descriptor", "k8sAuditEnvironment does not have a spec descriptor", - "aks does not have a spec descriptor" + "prometheus does not have a spec descriptor", + "kaudits.kaudit.alcide.com does not have a status descriptor", + "Owned CRDs do not have resources specified" ], "scorecardSuggestions": [ - "Add CRD validation for spec field `kauditPolicyFile` in Kaudit/v1alpha1", - "Add CRD validation for spec field `runOptions` in Kaudit/v1alpha1", - "Add CRD validation for spec field `storage` in Kaudit/v1alpha1", - "Add CRD validation for spec field `vault` in Kaudit/v1alpha1", "Add CRD validation for spec field `aws` in Kaudit/v1alpha1", - "Add CRD validation for spec field `k8s` in Kaudit/v1alpha1", "Add CRD validation for spec field `clusterName` in Kaudit/v1alpha1", - "Add CRD validation for spec field `prometheus` in Kaudit/v1alpha1", - "Add CRD validation for spec field `ingress` in Kaudit/v1alpha1", + "Add CRD validation for spec field `tls` in Kaudit/v1alpha1", + "Add CRD validation for spec field `vault` in Kaudit/v1alpha1", + "Add CRD validation for spec field `image` in Kaudit/v1alpha1", + "Add CRD validation for spec field `k8sAuditEnvironment` in Kaudit/v1alpha1", "Add CRD validation for spec field `namespace` in Kaudit/v1alpha1", + "Add CRD validation for spec field `runOptions` in Kaudit/v1alpha1", + "Add CRD validation for spec field `storage` in Kaudit/v1alpha1", "Add CRD validation for spec field `alcide` in Kaudit/v1alpha1", "Add CRD validation for spec field `gke` in Kaudit/v1alpha1", - "Add CRD validation for spec field `k8sAuditEnvironment` in Kaudit/v1alpha1", + "Add CRD validation for spec field `prometheus` in Kaudit/v1alpha1", + "Add CRD validation for spec field `kauditPolicyFile` in Kaudit/v1alpha1", "Add CRD validation for spec field `resources` in Kaudit/v1alpha1", - "Add CRD validation for spec field `tls` in Kaudit/v1alpha1", "Add CRD validation for spec field `aks` in Kaudit/v1alpha1", - "Add CRD validation for spec field `image` in Kaudit/v1alpha1", - "Add a spec descriptor for k8s", - "Add a spec descriptor for kauditPolicyFile", - "Add a spec descriptor for prometheus", - "Add a spec descriptor for resources", - "Add a spec descriptor for vault", - "Add a spec descriptor for alcide", + "Add CRD validation for spec field `ingress` in Kaudit/v1alpha1", + "Add CRD validation for spec field `k8s` in Kaudit/v1alpha1", + "Add a spec descriptor for aks", "Add a spec descriptor for gke", "Add a spec descriptor for namespace", - "Add a spec descriptor for runOptions", + "Add a spec descriptor for resources", "Add a spec descriptor for aws", - "Add a spec descriptor for tls", + "Add a spec descriptor for ingress", + "Add a spec descriptor for kauditPolicyFile", "Add a spec descriptor for storage", + "Add a spec descriptor for vault", + "Add a spec descriptor for alcide", "Add a spec descriptor for clusterName", + "Add a spec descriptor for k8s", + "Add a spec descriptor for runOptions", + "Add a spec descriptor for tls", "Add a spec descriptor for image", - "Add a spec descriptor for ingress", "Add a spec descriptor for k8sAuditEnvironment", - "Add a spec descriptor for aks" + "Add a spec descriptor for prometheus" ], "scorecardFailingTests": [ - "olm-crds-have-resources", + "olm-spec-descriptors", "olm-status-descriptors", - "olm-spec-descriptors" + "olm-crds-have-resources" ], "hasSupportForAllNamespaces": true, "hasSupportForSingleNamespaces": true, "hasSupportForOwnNamespaces": true, - "creationDates": [ - "2020-04-07 12:59:59" + "buildAtDates": [ + "2020-09-09T15:40:17.804777864Z" ], "ocpLabel": [ - "" + "v4.5,v4.6" ], "errors": null }, @@ -99,26 +99,19 @@ "apiextensions.k8s.io/v1beta1, kind=CustomResourceDefinitions was deprecated in Kubernetes v1.16 and will be removed in v1.22 in favor of v1: [\"anacondateameditions.anaconda.com\"] should be migrated" ], "scorecardErrors": [ + "anacondateameditions.anaconda.com does not have a status descriptor", "Owned CRDs do not have resources specified", - "proxy does not have a spec descriptor", - "redis does not have a spec descriptor", "storage does not have a spec descriptor", "worker does not have a spec descriptor", "api does not have a spec descriptor", "dispatcher does not have a spec descriptor", "route does not have a spec descriptor", "postgres does not have a spec descriptor", - "anacondateameditions.anaconda.com does not have a status descriptor" + "proxy does not have a spec descriptor", + "redis does not have a spec descriptor" ], "scorecardSuggestions": [ - "Add a spec descriptor for proxy", - "Add a spec descriptor for redis", - "Add a spec descriptor for storage", - "Add a spec descriptor for worker", - "Add a spec descriptor for api", - "Add a spec descriptor for dispatcher", - "Add a spec descriptor for route", - "Add a spec descriptor for postgres", + "Add CRD validation for spec field `dispatcher` in AnacondaTeamEdition/v1beta1", "Add CRD validation for spec field `route` in AnacondaTeamEdition/v1beta1", "Add CRD validation for spec field `postgres` in AnacondaTeamEdition/v1beta1", "Add CRD validation for spec field `proxy` in AnacondaTeamEdition/v1beta1", @@ -126,21 +119,28 @@ "Add CRD validation for spec field `storage` in AnacondaTeamEdition/v1beta1", "Add CRD validation for spec field `worker` in AnacondaTeamEdition/v1beta1", "Add CRD validation for spec field `api` in AnacondaTeamEdition/v1beta1", - "Add CRD validation for spec field `dispatcher` in AnacondaTeamEdition/v1beta1" + "Add a spec descriptor for storage", + "Add a spec descriptor for worker", + "Add a spec descriptor for api", + "Add a spec descriptor for dispatcher", + "Add a spec descriptor for route", + "Add a spec descriptor for postgres", + "Add a spec descriptor for proxy", + "Add a spec descriptor for redis" ], "scorecardFailingTests": [ + "olm-status-descriptors", "olm-crds-have-resources", - "olm-spec-descriptors", - "olm-status-descriptors" + "olm-spec-descriptors" ], "hasSupportForAllNamespaces": true, "hasSupportForSingleNamespaces": true, "hasSupportForOwnNamespaces": true, - "creationDates": [ - "2020-08-27T04:49:49Z" + "buildAtDates": [ + "2020-09-24T13:57:07.140350464Z" ], "ocpLabel": [ - "" + "v4.5,v4.6" ], "errors": null }, @@ -155,32 +155,32 @@ "apiextensions.k8s.io/v1beta1, kind=CustomResourceDefinitions was deprecated in Kubernetes v1.16 and will be removed in v1.22 in favor of v1: [\"adams.appdynamics.com\" \"clusteragents.appdynamics.com\" \"infravizs.appdynamics.com\"] should be migrated" ], "scorecardErrors": [ - "enableDockerViz does not have a spec descriptor", - "enableMasters does not have a spec descriptor", - "netVizPort does not have a spec descriptor", - "stdoutLogging does not have a spec descriptor", "adams.appdynamics.com does not have a status descriptor", "clusteragents.appdynamics.com does not have a status descriptor", - "infravizs.appdynamics.com does not have a status descriptor" + "infravizs.appdynamics.com does not have a status descriptor", + "netVizPort does not have a spec descriptor", + "stdoutLogging does not have a spec descriptor", + "enableDockerViz does not have a spec descriptor", + "enableMasters does not have a spec descriptor" ], "scorecardSuggestions": [ - "Add a spec descriptor for enableDockerViz", - "Add a spec descriptor for enableMasters", "Add a spec descriptor for netVizPort", - "Add a spec descriptor for stdoutLogging" + "Add a spec descriptor for stdoutLogging", + "Add a spec descriptor for enableDockerViz", + "Add a spec descriptor for enableMasters" ], "scorecardFailingTests": [ - "olm-spec-descriptors", - "olm-status-descriptors" + "olm-status-descriptors", + "olm-spec-descriptors" ], "hasSupportForAllNamespaces": true, "hasSupportForSingleNamespaces": true, "hasSupportForOwnNamespaces": true, - "creationDates": [ - "2020-10-30 12:00:00" + "buildAtDates": [ + "2020-11-04T10:19:30.592282909Z" ], "ocpLabel": [ - "" + "v4.5,v4.6" ], "errors": null }, @@ -196,40 +196,40 @@ ], "scorecardErrors": [ "Owned CRDs do not have resources specified", - "anchoreengines.anchore.com does not have a status descriptor", - "ingress does not have a spec descriptor", - "postgresql does not have a spec descriptor", - "anchoreAnalyzer does not have a spec descriptor", "anchoreApi does not have a spec descriptor", "anchoreCatalog does not have a spec descriptor", "anchoreGlobal does not have a spec descriptor", "anchorePolicyEngine does not have a spec descriptor", - "anchoreSimpleQueue does not have a spec descriptor" + "anchoreSimpleQueue does not have a spec descriptor", + "ingress does not have a spec descriptor", + "postgresql does not have a spec descriptor", + "anchoreAnalyzer does not have a spec descriptor", + "anchoreengines.anchore.com does not have a status descriptor" ], "scorecardSuggestions": [ - "Add a spec descriptor for ingress", - "Add a spec descriptor for postgresql", - "Add a spec descriptor for anchoreAnalyzer", "Add a spec descriptor for anchoreApi", "Add a spec descriptor for anchoreCatalog", "Add a spec descriptor for anchoreGlobal", "Add a spec descriptor for anchorePolicyEngine", "Add a spec descriptor for anchoreSimpleQueue", + "Add a spec descriptor for ingress", + "Add a spec descriptor for postgresql", + "Add a spec descriptor for anchoreAnalyzer", "Add CRD validation for AnchoreEngine/v1alpha1" ], "scorecardFailingTests": [ "olm-crds-have-resources", - "olm-status-descriptors", - "olm-spec-descriptors" + "olm-spec-descriptors", + "olm-status-descriptors" ], "hasSupportForAllNamespaces": true, "hasSupportForSingleNamespaces": true, "hasSupportForOwnNamespaces": true, - "creationDates": [ - "2019-12-13T07:00:00Z" + "buildAtDates": [ + "2020-10-26T14:41:37.141641576Z" ], "ocpLabel": [ - "" + "v4.5,v4.6" ], "errors": null }, @@ -245,11 +245,11 @@ ], "hasSupportForSingleNamespaces": true, "hasSupportForOwnNamespaces": true, - "creationDates": [ - "2020-12-15" + "buildAtDates": [ + "2021-01-22T12:25:07.977460331Z" ], "ocpLabel": [ - "" + "v4.5,v4.6" ], "errors": null } diff --git a/testdata/samples/packages/xls/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx b/testdata/samples/packages/xls/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx deleted file mode 100644 index d3fdfcc8..00000000 Binary files a/testdata/samples/packages/xls/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-02.xlsx and /dev/null differ diff --git a/testdata/samples/packages/xls/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx b/testdata/samples/packages/xls/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx new file mode 100644 index 00000000..4383fad2 Binary files /dev/null and b/testdata/samples/packages/xls/packages_registry.redhat.io_redhat_certified_operator_index_v4.8_2021-05-06.xlsx differ