Chapter 3. Products managed by an Operator
Operators must be capable of deploying your software product on Red Hat OpenShift, using Operator Lifecycle Manager (OLM) from the targeted Red Hat OpenShift releases.
If any specific hardware requirements are essential to run your certified operator, Red Hat recommends informing your customers by listing all the requirements on your product’s system requirement page and linking it to your product page on the Red Hat Ecosystem catalog.
3.1. Operator requirements
Requirement | Justification |
---|---|
The Operator bundle must successfully pass the Operator SDK bundle validation. Red Hat recommends the usage of the SDK to create the Operator, to ensure that the format is correct. | To ensure correct format and compatibility with Operator Lifecycle Manager (OLM). |
The Operator must update the status field of each custom resource (CR). | To ensure that users can determine the running state of the CR and identify potential failures. |
The cluster service version (CSV) in the Operator bundle must include all the fields indicated in Required CSV fields as well as the following required fields under
Other optional annotations can be defined as well, such as for the following Kubernetes plugins:
For more information about required annotations, optional annotations, and example usage in CSVs, see Operator metadata annotations. | Provides detailed information about the product managed by this Operator to users and support organizations. |
The Operator bundle must indicate the minor versions of OpenShift that the target product supports by setting the The version range must include one or more actively supported RHOCP versions, that are in the Full Suport or Maintenance Support life cycle phases. Any Red Hat OpenShift releases that are included in the range but are no longer supported are not considered certification targets. Publication of the Operator for those releases will be handled on a best-effort-basis. The version range can include a future release version of RHOCP. In that case, the Operator will be listed as certified after that version becomes generally available. | Informs users about the Red Hat OpenShift versions supported by the partner for this Operator, while ensuring that customers can deploy it in an OpenShift environment that can be supported by Red Hat. The version details are used to determine which version-specific Operator catalog indexes must be updated. |
The Operator must not use any APIs that are not present in all versions of Red Hat OpenShift included in this range. | Ensures that any APIs used are available in the targeted versions. |
The CSV in the Operator bundle must indicate all the CRDs Owned by the Operator. | To ensure adequate tracking and management of CRD lifecycle. |
The CSV in the Operator bundle must indicate all the container images needed to perform its function, using the | To correctly identify all the dependencies. |
The Operator name must be different from any other Operator name already published in the Community, Certified, and Red Hat catalogs. | To avoid name conflicts. |
Additional resources
3.2. Operand requirements
Each container managed by the Operator (Operands) must be certified by Red Hat and must fulfill the requirements listed in the Requirements for container images section.