This command line program dumps out the 'certified' annotation for each operator it finds in an index.db.
The program runs the following SQL: SELECT name, csv FROM operatorbundle where csv is not null order by name
It then unmarshals the CSV into a struct where we can pick and choose what we want to print out, in this case we print out the following:
operatorname, certified=true/false
You run the program as follows passing in the sqlite index.db file: go run indexdump.go ../tiger/stagetools/index.db.4.5.stage
Column headings are: name, csvStruct.Spec.Version, certified, createdAt, companyName, sourceDescription, repo, ocpVersion, sdkVersion, operatorType
Output looks like:
Operator [serverless-operator.v1.10.0] [certified=false] Operator [serverless-operator.v1.7.2] [certified=false] Operator [service-binding-operator.v0.3.0] [certified=false]
Here is a link to the various marketplace operator indexes from where you can pull data: https://github.com/operator-framework/operator-marketplace/tree/master/defaults
To download indexes from that location:
docker login https://registry.redhat.io
Then run the oc-get-index-redhat-operators.sh script to download the index files.
also... docker login registry.connect.redhat.com Username: jemccorm@redhat.com
docker login quay.io quay.io/operatorhubio/catalog:latest
NOTE: that image is built as follows...
We use a feature in quay to build it
We configured that repository to have a job that runs whenever a change is committed to the upstream-community-operators folder in the community-operators repo
It points to this dockerfile https://github.com/operator-framework/community-operators/blob/master/upstream.Dockerfile
Which basically just uses an image from the operator-registry to build the catalog