--- title: Platform Operators - CVO Manifest Annotations tags: platform-operators --- # Platform Operators - CVO Manifest Annotations ## Overview This document outlines the metadata annotations that need to be present in the Platform Operators (PO) CVO manifests for each milestone. ### Background There are [three types of annotations](https://github.com/openshift/enhancements/blob/master/dev-guide/cluster-version-operator/dev/operators.md#manifest-inclusion-annotations) currently supported in CVO manifests: [Cluster Profiles](https://github.com/openshift/enhancements/blob/master/enhancements/update/cluster-profiles.md), [Cluster Capabilities](https://github.com/openshift/enhancements/blob/master/enhancements/installer/component-selection.md) and [TechPreview](https://github.com/openshift/enhancements/blob/master/enhancements/update/cvo-techpreview-manifests.md). ## Phase 0 Requirements - TechPreview - Cluster Profiles - We will need the following annotations: 1) Self-hosted HA (traditional OCP): include.release.openshift.io/self-managed-high-availability 2) Single Node: include.release.openshift.io/single-node-developer 3) OpenShift-hosted (aka hypershift): exclude.release.openshift.io/internal-openshift-hosted ## GA Requirements - Remove TechPreview ## Future Requirements These requirements are things we will eventually need, but that aren't yet assigned to a milestone. Once they are assigned to a milestone, they can be moved into the appropriate section above. - Cluster Capability - If we decide to make Platform Operators an optional capability, we will need to add a capability annotation to allow cluster admins to toggle PO resource creation on their clusters. - Cluster Profiles - Support for OpenShift-hosted (hypershift) cluster profile - This is not required for GA but will be necessary in the future so a plan for how to implement this is needed for a future milestone. - Open questions for this integration include: - Where would PO components run? - Are there any considerations necessary to accomodate blocking install/upgrade and tying into the upgrade lifecycle?