Requirements and Limitations
Supported Architectures
The full list of supported hardware platforms and associated architecture names is in the following table:
Platform | Architecture |
Intel/AMD | amd64 |
IBM Z | s390x |
IBM Power | ppc64le |
ARM* | arm64 |
*The ARM platform is currently in Tech Preview for OpenShift, as recently announced.
Core Requirements
There are a number of technical and non-technical requirements that must be met before being able to certify or publish a non-Intel/AMD operator. The list of requirements are as follows:
A Certified Intel/AMD architecture operator and any applicable operands (container workloads deployed/managed by the operator controller)
At least three (3) projects created and published in Red Hat Partner Connect:
An Operator / Bundle project
Project type: Operator Bundle
Distribution method: Red Hat
An Operator Controller image project
Project type: Container
Distribution method: External
One or more Operand images (as applicable)
Project type: Container
Distribution method: External
All container images related to the operator must be hosted in an external registry
Your operator and operands must both support the CPU architectures that you intend to run on. In other words, you can't build an operator for another platform (such as IBM Z) if your operand only runs on AMD64 / Intel x86. The product (operands) must also support the new platform.
Each architecture image must be contained within a manifest list, with one manifest list for the operator and one for each of the operands. For example, a minimal multi-arch image layout might look like below (image and platform names are hypothetical):
An operator manifest list named/tagged as
operator-image:v1.0
would be a manifest referring to these images:operator-image:v1.0-amd64
operator-image:v1.0-othercpu
A single operand manifest list named/tagged as
example-app:v1.0
, and would refer to two other images matching the same architecture:example-app:v1.0-amd64
example-app:v1.0-othercpu
Below is an illustration to help explain the relationship between the operator components and the various registries (RHCC, external, and scan). Please keep in mind that there could be more than one operand project/image whereas the diagram below only shows a single operand:
Current Limitations
There are a few limitations as well, which dictate the requirements:
Manifest lists are not yet fully supported by Red Hat Partner Connect. You can specify a manifest image by digest for scanning and mark it published in the project (should the image pass and become certified), but currently only architecture specific images are supported by catalog.redhat.com for platform identification. Automatic platform identification by parsing the manifest list contents is not supported, so you may still wish to scan each architecture image individually if you'd like the platform to be listed correctly on catalog.redhat.com.
Using the RHCC (Red Hat Container Catalog) registry and in turn the Red Hat distribution method will not work due to lacking support for manifest lists
There is no automated certification pipeline or test infrastructure in place for non-Intel/AMD architectures at this time
Non-Intel/AMD operators cannot be certified or published on their own, and must be published along with an Intel/AMD operator
Last updated