Chapter 4. Products managed by Helm charts

The Helm chart must be capable of deploying your product on Red Hat OpenShift, using the Helm utilities provided by this platform. For more information about using Helm charts on Red Hat OpenShift, see Working with Helm charts.

To be certified, the Helm chart must meet the following requirements.

RequirementJustification

All containers used by the Helm chart must be Red Hat certified containers.

Operating system libraries in the certified container images are covered by the Red Hat OpenShift support, and continuously monitored for security vulnerabilities. For more information on container certification requirements, see Requirements for container images. For more information about the steps to certify your containers, see Working with containers.

The chart’s apiVersion field must be v2.0.

Chart must be compatible with Helm 3 (for example, apiVersion v2), the Helm version supported in OpenShift.

Chart must contain a README.md file.

Provide basic information about the chart in a human-readable format.

Chart must set the kubeVersion field to indicate the minimum Kubernetes version supported.

To determine chart compatibility with specific versions of OpenShift. For information on Kubernetes versions used in OpenShift, see What version of the Kubernetes API is included with each OpenShift 4.x release? article.

Chart must include one or more tests located in the templates directory.

To verify successful chart installation.

Chart must include a values.yaml file and a values.schema.json file.

Identify chart inputs and provide proper validation.

Chart must not contain any Custom Resource Definitions (CRDs).

Lifecycle of Custom Resource Definitions (CRDs) needs to be managed properly. Red Hat recommends an Operator for performing this task. For more information about Operators, see Working with Operators.

Chart must pass the helm lint command.

Ensuring correct chart format.

Chart must include the charts.openshift.io/name annotation with a human-readable name.

Provide a name that can be used when displaying the chart on the OpenShift console.