A cluster service version (CSV), defined by a ClusterServiceVersion
object, is a YAML manifest created from Operator metadata that assists Operator Lifecycle Manager (OLM) in running the Operator in a cluster. It is the metadata that accompanies an Operator container image, used to populate user interfaces with information such as its logo, description, and version. It is also a source of technical information that is required to run the Operator, like the RBAC rules it requires and which custom resources (CRs) it manages or depends on.
The Operator SDK includes the CSV generator to generate a CSV for the current Operator project, customized using information contained in YAML manifests and Operator source files.
A CSV-generating command removes the responsibility of Operator authors having in-depth OLM knowledge in order for their Operator to interact with OLM or publish metadata to the Catalog Registry. Further, because the CSV spec will likely change over time as new Kubernetes and OLM features are implemented, the Operator SDK is equipped to easily extend its update system to handle new CSV features going forward.
-
See Bundling an Operator for a full procedure that includes generating a bundle and CSV.
modules/olm-enabling-operator-restricted-network.adoc modules/olm-enabling-operator-for-multi-arch.adoc
-
See the Image Manifest V 2, Schema 2 specification for more information on manifest lists.
modules/osdk-suggested-namespace.adoc modules/osdk-suggested-namespace-node-selector.adoc modules/osdk-operatorconditions.adoc
-
Kubernetes documentation:
modules/osdk-crds.adoc modules/osdk-owned-crds.adoc modules/osdk-required-crds.adoc modules/olm-dependency-resolution-crd-upgrades.adoc modules/olm-adding-new-crd-version.adoc modules/olm-removing-crd-version.adoc modules/osdk-crd-templates.adoc modules/osdk-hiding-internal-objects.adoc modules/osdk-init-resource.adoc