This section covers the creation of the operator metadata bundle image, which must be submitted as part of the certification process.
You must create metadata for your operator as part of the build process. These metadata files are the packaging format used by the Operator Lifecycle Manager (OLM) to deploy your operator onto OpenShift (OLM comes pre-installed in OpenShift 4.x). A basic metadata bundle for the operator contains the following YAML files listed below. This metadata will be hosted inside of its own container image called the bundle image.
This file gets used to register the Custom Resource(s) being used by the operator with the Kubernetes cluster. There can be more than one CRD included in a bundle, depending on how many Custom Resources get managed by the operator. There is usually only one CRD to start, but there can be more as features get added to the operator over time.
The CRD(s) that you will need to add to your metadata bundle are located within the
config/crd/basesdirectory of the operator project.
The ClusterServiceVersion or CSV is the main packaging component of the operator. It contains all of the resource manifests (such as the operator deployment and any custom resource templates) and RBAC rules required to deploy the operator onto a Kubernetes cluster.
It's also used to populate user interfaces with information like your logo, product description, version and so forth.
There can be multiple CSV files in a bundle, each tied to a specific version of an operator image.