diff --git a/config/v1/types_cluster_version.go b/config/v1/types_cluster_version.go index 54e1de94ceb..e98a7e07b2f 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,15 @@ 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 cluster monitoring stack which is responsible for gathering and + // processing metrics from the in-house and user workloads. The following CRDs are constitute this capability: + // - TODO + // + // WARNING: This capability will drop all aforementioned CRDs, and may operational issues in the cluster. + // The only supported use-case for this capability is to reduce the monitoring stack's resource usage by only + // supporting telemetry. + ClusterVersionCapabilityOptionalMonitoring ClusterVersionCapability = "OptionalMonitoring" ) // KnownClusterVersionCapabilities includes all known optional, core cluster components. @@ -420,6 +429,7 @@ var KnownClusterVersionCapabilities = []ClusterVersionCapability{ ClusterVersionCapabilityCloudCredential, ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, + ClusterVersionCapabilityOptionalMonitoring, } // ClusterVersionCapabilitySet defines sets of cluster version capabilities. @@ -479,6 +489,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.18 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.18 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 +622,46 @@ 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, + ClusterVersionCapabilityOptionalMonitoring, + }, + ClusterVersionCapabilitySet4_20: { + ClusterVersionCapabilityBaremetal, + ClusterVersionCapabilityConsole, + ClusterVersionCapabilityInsights, + ClusterVersionCapabilityMarketplace, + ClusterVersionCapabilityStorage, + ClusterVersionCapabilityOpenShiftSamples, + ClusterVersionCapabilityCSISnapshot, + ClusterVersionCapabilityNodeTuning, + ClusterVersionCapabilityMachineAPI, + ClusterVersionCapabilityBuild, + ClusterVersionCapabilityDeploymentConfig, + ClusterVersionCapabilityImageRegistry, + ClusterVersionCapabilityOperatorLifecycleManager, + ClusterVersionCapabilityOperatorLifecycleManagerV1, + ClusterVersionCapabilityCloudCredential, + ClusterVersionCapabilityIngress, + ClusterVersionCapabilityCloudControllerManager, + ClusterVersionCapabilityOptionalMonitoring, + }, ClusterVersionCapabilitySetCurrent: { ClusterVersionCapabilityBaremetal, ClusterVersionCapabilityConsole, @@ -618,6 +680,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..7cc6b589fa2 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 @@ -391,6 +392,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -418,6 +420,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..befb176c791 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 @@ -329,6 +330,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -356,6 +358,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..7b438bf0457 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 @@ -391,6 +392,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -418,6 +420,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..479680fab08 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 @@ -391,6 +392,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -418,6 +420,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..b0fd016e06a 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 @@ -331,6 +332,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -358,6 +360,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..b3eab6f9526 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 @@ -342,6 +343,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -369,6 +371,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..71970791479 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 @@ -382,6 +383,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic @@ -409,6 +411,7 @@ spec: - Ingress - CloudControllerManager - OperatorLifecycleManagerV1 + - OptionalMonitoring type: string type: array x-kubernetes-list-type: atomic