diff --git a/config/v1/types_cluster_version.go b/config/v1/types_cluster_version.go index 54e1de94ceb..22b4e817a21 100644 --- a/config/v1/types_cluster_version.go +++ b/config/v1/types_cluster_version.go @@ -278,7 +278,7 @@ const ( ) // ClusterVersionCapability enumerates optional, core cluster components. -// +kubebuilder:validation:Enum=openshift-samples;baremetal;marketplace;Console;Insights;Storage;CSISnapshot;NodeTuning;MachineAPI;Build;DeploymentConfig;ImageRegistry;OperatorLifecycleManager;CloudCredential;Ingress;CloudControllerManager;OperatorLifecycleManagerV1 +// +kubebuilder:validation:Enum=openshift-samples;baremetal;marketplace;Console;Insights;Storage;CSISnapshot;NodeTuning;MachineAPI;Build;DeploymentConfig;ImageRegistry;OperatorLifecycleManager;CloudCredential;Ingress;CloudControllerManager;OperatorLifecycleManagerV1;OptionalMonitoring type ClusterVersionCapability string const ( @@ -399,6 +399,20 @@ const ( // Managers deployed on top of OpenShift. They help you to work with cloud // provider API and embeds cloud-specific control logic. ClusterVersionCapabilityCloudControllerManager ClusterVersionCapability = "CloudControllerManager" + + // ClusterVersionCapabilityOptionalMonitoring manages the enablement of the optional components of the in-cluster monitoring stack. + // The optional components are: + // * Alertmanager + // * Alermanager User Workload Monitoring + // * Prometheus User Workload Monitoring + // * PrometheusOperator User Workload Monitoring + // * ThanosRuler User Workload Monitoring + // + // NOTE: The only supported use-case for this capability is to reduce the monitoring stack's resource usage by only + // supporting telemetry (see https://rhobs-handbook.netlify.app/products/openshiftmonitoring/telemetry.md). Turning + // this capability off will trigger CMO to not deploy the optional components, as well as any related manifests. + // However, all CRDs will persist as these are needed by the operator regardless of this capability's state. + ClusterVersionCapabilityOptionalMonitoring ClusterVersionCapability = "OptionalMonitoring" ) // KnownClusterVersionCapabilities includes all known optional, core cluster components. @@ -420,10 +434,11 @@ var KnownClusterVersionCapabilities = []ClusterVersionCapability{ ClusterVersionCapabilityCloudCredential, ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, + ClusterVersionCapabilityOptionalMonitoring, } // ClusterVersionCapabilitySet defines sets of cluster version capabilities. -// +kubebuilder:validation:Enum=None;v4.11;v4.12;v4.13;v4.14;v4.15;v4.16;v4.17;v4.18;vCurrent +// +kubebuilder:validation:Enum=None;v4.11;v4.12;v4.13;v4.14;v4.15;v4.16;v4.17;v4.18;v4.19;v4.20;vCurrent type ClusterVersionCapabilitySet string const ( @@ -479,6 +494,18 @@ const ( // version of OpenShift is installed. ClusterVersionCapabilitySet4_18 ClusterVersionCapabilitySet = "v4.18" + // ClusterVersionCapabilitySet4_19 is the recommended set of + // optional capabilities to enable for the 4.19 version of + // OpenShift. This list will remain the same no matter which + // version of OpenShift is installed. + ClusterVersionCapabilitySet4_19 ClusterVersionCapabilitySet = "v4.19" + + // ClusterVersionCapabilitySet4_20 is the recommended set of + // optional capabilities to enable for the 4.20 version of + // OpenShift. This list will remain the same no matter which + // version of OpenShift is installed. + ClusterVersionCapabilitySet4_20 ClusterVersionCapabilitySet = "v4.20" + // ClusterVersionCapabilitySetCurrent is the recommended set // of optional capabilities to enable for the cluster's // current version of OpenShift. @@ -600,6 +627,44 @@ var ClusterVersionCapabilitySets = map[ClusterVersionCapabilitySet][]ClusterVers ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, }, + ClusterVersionCapabilitySet4_19: { + ClusterVersionCapabilityBaremetal, + ClusterVersionCapabilityConsole, + ClusterVersionCapabilityInsights, + ClusterVersionCapabilityMarketplace, + ClusterVersionCapabilityStorage, + ClusterVersionCapabilityOpenShiftSamples, + ClusterVersionCapabilityCSISnapshot, + ClusterVersionCapabilityNodeTuning, + ClusterVersionCapabilityMachineAPI, + ClusterVersionCapabilityBuild, + ClusterVersionCapabilityDeploymentConfig, + ClusterVersionCapabilityImageRegistry, + ClusterVersionCapabilityOperatorLifecycleManager, + ClusterVersionCapabilityOperatorLifecycleManagerV1, + ClusterVersionCapabilityCloudCredential, + ClusterVersionCapabilityIngress, + ClusterVersionCapabilityCloudControllerManager, + }, + ClusterVersionCapabilitySet4_20: { + ClusterVersionCapabilityBaremetal, + ClusterVersionCapabilityConsole, + ClusterVersionCapabilityInsights, + ClusterVersionCapabilityMarketplace, + ClusterVersionCapabilityStorage, + ClusterVersionCapabilityOpenShiftSamples, + ClusterVersionCapabilityCSISnapshot, + ClusterVersionCapabilityNodeTuning, + ClusterVersionCapabilityMachineAPI, + ClusterVersionCapabilityBuild, + ClusterVersionCapabilityDeploymentConfig, + ClusterVersionCapabilityImageRegistry, + ClusterVersionCapabilityOperatorLifecycleManager, + ClusterVersionCapabilityOperatorLifecycleManagerV1, + ClusterVersionCapabilityCloudCredential, + ClusterVersionCapabilityIngress, + ClusterVersionCapabilityCloudControllerManager, + }, ClusterVersionCapabilitySetCurrent: { ClusterVersionCapabilityBaremetal, ClusterVersionCapabilityConsole, @@ -618,6 +683,7 @@ var ClusterVersionCapabilitySets = map[ClusterVersionCapabilitySet][]ClusterVers ClusterVersionCapabilityCloudCredential, ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, + ClusterVersionCapabilityOptionalMonitoring, }, } diff --git a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-CustomNoUpgrade.crd.yaml index 087b62dda1c..a349784b40d 100644 --- a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-CustomNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-CustomNoUpgrade.crd.yaml @@ -95,6 +95,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -115,6 +116,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -391,6 +394,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -418,6 +422,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic diff --git a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-Default.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-Default.crd.yaml index f93da1e2e2b..fd263b8eb66 100644 --- a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-Default.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-Default.crd.yaml @@ -95,6 +95,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -115,6 +116,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -329,6 +332,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -356,6 +360,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic diff --git a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-DevPreviewNoUpgrade.crd.yaml index 300d94a714f..74764aae392 100644 --- a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-DevPreviewNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-DevPreviewNoUpgrade.crd.yaml @@ -95,6 +95,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -115,6 +116,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -391,6 +394,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -418,6 +422,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic diff --git a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-TechPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-TechPreviewNoUpgrade.crd.yaml index 6fc2cb0d949..0819246ef8f 100644 --- a/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-TechPreviewNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_00_cluster-version-operator_01_clusterversions-TechPreviewNoUpgrade.crd.yaml @@ -95,6 +95,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -115,6 +116,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -391,6 +394,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -418,6 +422,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic diff --git a/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/AAA_ungated.yaml b/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/AAA_ungated.yaml index f1f9f661bde..911cd954e0a 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/AAA_ungated.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/AAA_ungated.yaml @@ -97,6 +97,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -117,6 +118,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -331,6 +334,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -358,6 +362,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic diff --git a/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/ImageStreamImportMode.yaml b/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/ImageStreamImportMode.yaml index 386b85a8609..b5b64fb98f0 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/ImageStreamImportMode.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/ImageStreamImportMode.yaml @@ -97,6 +97,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -117,6 +118,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -342,6 +345,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -369,6 +373,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic diff --git a/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/SignatureStores.yaml b/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/SignatureStores.yaml index bbc6435b680..59a6acb39c9 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/SignatureStores.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/clusterversions.config.openshift.io/SignatureStores.yaml @@ -97,6 +97,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -117,6 +118,8 @@ spec: - v4.16 - v4.17 - v4.18 + - v4.19 + - v4.20 - vCurrent type: string type: object @@ -382,6 +385,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -409,6 +413,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic