Chapter 3. Products managed by an Operator

Operators must be capable of deploying your software product on Red Hat OpenShift, using the Operator Lifecycle Manager from the targeted Red Hat OpenShift releases.

Warning

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

RequirementJustification

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 the 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 as required in the CSV fields and the following fields as metadata.

  • categories: Comma-separated string of the community-operators/categories list that applies to this product
  • description: Short description of the Operator
  • container Image: The full location (registry, repository, name, and tag) of the Operator image
  • created at: A rough (to the day) timestamp of the creation of the Operator image
  • support: Name of your company, as the vendor supporting this product
  • operators.openshift.io/valid-subscription: Information about subscriptions or licenses that are required to use the product (as free form text, for examples, 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 com.redhat.openshift.versions annotation. For details on the syntax, see the Managing OpenShift Versions.

The version range must include one or more actively supported RHOCP versions, that are in the Full or Maintenance 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 may 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 Operator catalog indexes (that are version-specific) 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.

CSV in Operator bundle must indicate all the CRDs Owned by the Operator.

To ensure adequate tracking and management of CRD lifecycle.

CSV in Operator bundle must indicate all the container images needed to perform its function, using the spec.relatedImages field.

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

  • For more information about creating an Operator, see Operator SDK.
  • For more information about building Operators that meet the certification criteria, see Certified Operator Guide.

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.