diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml index 1a6c3057697..8ff21c43e3f 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml @@ -1951,6 +1951,28 @@ spec: - message: resourceTags are immutable and may only be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only lowercase + alphanumeric characters, ''-'' or ''.'', and start and + end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during installation diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml index ac54ddbd880..5435c181f68 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml @@ -1951,6 +1951,28 @@ spec: - message: resourceTags are immutable and may only be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only lowercase + alphanumeric characters, ''-'' or ''.'', and start and + end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during installation diff --git a/features.md b/features.md index 17d2b3f7c6d..659d112df79 100644 --- a/features.md +++ b/features.md @@ -59,7 +59,6 @@ | GCPCustomAPIEndpoints| | | Enabled | Enabled | | | Enabled | Enabled | | GCPCustomAPIEndpointsInstall| | | Enabled | Enabled | | | Enabled | Enabled | | GCPDualStackInstall| | | Enabled | Enabled | | | Enabled | Enabled | -| GCPSovereignCloudInstall| | | Enabled | Enabled | | | Enabled | Enabled | | GatewayAPIManagementMode| | | Enabled | Enabled | | | Enabled | Enabled | | HyperShiftOnlyDynamicResourceAllocation| Enabled | | Enabled | | Enabled | | Enabled | | | ImageModeStatusReporting| | | Enabled | Enabled | | | Enabled | Enabled | @@ -102,6 +101,7 @@ | ExternalOIDC| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ExternalOIDCWithUIDAndExtraClaimMappings| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ExternalOIDCWithUpstreamParity| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| GCPSovereignCloudInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | GatewayAPIWithoutOLM| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ImageStreamImportMode| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | IngressControllerDynamicConfigurationManager| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/features/features.go b/features/features.go index f62e72e6027..4052d88ed1c 100644 --- a/features/features.go +++ b/features/features.go @@ -877,7 +877,7 @@ var ( contactPerson("barbacbd"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1977"). - enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). + enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). mustRegister() FeatureCBORServingAndStorage = newFeatureGate("CBORServingAndStorage"). diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml index d22d2598e82..d347708aa70 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml @@ -2249,6 +2249,28 @@ spec: be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only + lowercase alphanumeric characters, ''-'' or ''.'', + and start and end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml index 172e7b089cb..ff4632e08f7 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml @@ -2249,6 +2249,28 @@ spec: be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only + lowercase alphanumeric characters, ''-'' or ''.'', + and start and end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml index 1a6c3057697..8ff21c43e3f 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml @@ -1951,6 +1951,28 @@ spec: - message: resourceTags are immutable and may only be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only lowercase + alphanumeric characters, ''-'' or ''.'', and start and + end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during installation diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml index ac54ddbd880..5435c181f68 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml @@ -1951,6 +1951,28 @@ spec: - message: resourceTags are immutable and may only be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only lowercase + alphanumeric characters, ''-'' or ''.'', and start and + end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during installation diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml index d22d2598e82..d347708aa70 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml @@ -2249,6 +2249,28 @@ spec: be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only + lowercase alphanumeric characters, ''-'' or ''.'', + and start and end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml index 172e7b089cb..ff4632e08f7 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml @@ -2249,6 +2249,28 @@ spec: be configured during installation rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self) + universeDomain: + description: |- + universeDomain is the GCP universe domain for the cluster, detected from + the installer credentials. Components with their own GCP credentials should + read the universe domain from those credentials, as they are the authoritative + source. This field is provided for components that do not have GCP credentials + and for general observability. + + When omitted, standard public GCP (googleapis.com) is assumed. + + universeDomain is an optional field that, when specified, must be non-empty and at most + 253 characters. It must be a valid DNS subdomain: containing only lowercase alphanumeric + characters, '-' or '.', and starting and ending with an alphanumeric character. + maxLength: 253 + minLength: 1 + type: string + x-kubernetes-validations: + - message: 'universeDomain must be a valid DNS subdomain: + contain no more than 253 characters, contain only + lowercase alphanumeric characters, ''-'' or ''.'', + and start and end with an alphanumeric character' + rule: '!format.dns1123Subdomain().validate(self).hasValue()' type: object x-kubernetes-validations: - message: resourceLabels may only be configured during diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml index bb7d8a6e434..d037a0509ed 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml @@ -143,9 +143,6 @@ { "name": "GCPDualStackInstall" }, - { - "name": "GCPSovereignCloudInstall" - }, { "name": "GatewayAPIManagementMode" }, @@ -319,6 +316,9 @@ { "name": "ExternalOIDCWithUpstreamParity" }, + { + "name": "GCPSovereignCloudInstall" + }, { "name": "GatewayAPIWithoutOLM" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml index 0d1cfbde8ad..ed897be1384 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml @@ -145,9 +145,6 @@ { "name": "GCPDualStackInstall" }, - { - "name": "GCPSovereignCloudInstall" - }, { "name": "GatewayAPIManagementMode" }, @@ -321,6 +318,9 @@ { "name": "ExternalOIDCWithUpstreamParity" }, + { + "name": "GCPSovereignCloudInstall" + }, { "name": "GatewayAPIWithoutOLM" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml index 5f18195c4fa..1663903ef77 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml @@ -140,9 +140,6 @@ { "name": "GCPDualStackInstall" }, - { - "name": "GCPSovereignCloudInstall" - }, { "name": "GatewayAPIManagementMode" }, @@ -310,6 +307,9 @@ { "name": "ExternalOIDCWithUpstreamParity" }, + { + "name": "GCPSovereignCloudInstall" + }, { "name": "GatewayAPIWithoutOLM" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml index 696335c0ad3..aeeef50f7eb 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml @@ -142,9 +142,6 @@ { "name": "GCPDualStackInstall" }, - { - "name": "GCPSovereignCloudInstall" - }, { "name": "GatewayAPIManagementMode" }, @@ -312,6 +309,9 @@ { "name": "ExternalOIDCWithUpstreamParity" }, + { + "name": "GCPSovereignCloudInstall" + }, { "name": "GatewayAPIWithoutOLM" },