diff --git a/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml b/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
index f5a31aab5f4..97dc8191f24 100644
--- a/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
+++ b/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
@@ -1735,6 +1735,7 @@ tests:
aws:
cloudLoadBalancerConfig:
dnsType: PlatformDefault
+ ipFamily: IPv4
region: us-east-1
resourceTags:
- key: key with space
@@ -1783,6 +1784,7 @@ tests:
aws:
cloudLoadBalancerConfig:
dnsType: PlatformDefault
+ ipFamily: IPv4
region: us-east-1
resourceTags:
- key: key:_./=+-@
diff --git a/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml b/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml
index 485c4c66eac..c89a82291eb 100644
--- a/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml
+++ b/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml
@@ -3,7 +3,6 @@ name: "Infrastructure"
crdName: infrastructures.config.openshift.io
featureGates:
- AWSClusterHostedDNSInstall
-- -AWSDualStackInstall
tests:
onCreate:
- name: Should be able to create a minimal Infrastructure
@@ -61,6 +60,7 @@ tests:
aws:
cloudLoadBalancerConfig:
dnsType: PlatformDefault
+ ipFamily: IPv4
type: AWS
- name: should be able to set dnsType to non-default value of `ClusterHosted`
initial: |
@@ -102,6 +102,7 @@ tests:
aws:
cloudLoadBalancerConfig:
dnsType: ClusterHosted
+ ipFamily: IPv4
type: AWS
- name: Should not allow changing the immutable dnsType field
initial: |
@@ -138,6 +139,7 @@ tests:
aws:
cloudLoadBalancerConfig:
dnsType: PlatformDefault
+ ipFamily: IPv4
type: AWS
expectedStatusError: "status.platformStatus.aws.cloudLoadBalancerConfig.dnsType: Invalid value: \"string\": dnsType is immutable"
- name: Should not accept non-IP address values for Load Balancer IPs
@@ -214,6 +216,7 @@ tests:
clusterHosted:
apiIntLoadBalancerIPs:
- 10.10.10.20
+ ipFamily: IPv4
type: AWS
expectedStatusError: "status.platformStatus.aws.cloudLoadBalancerConfig: Invalid value: \"object\": clusterHosted is permitted only when dnsType is ClusterHosted"
- name: Should not accept duplicate IP addresses for any of the Load Balancer IPs
diff --git a/config/v1/tests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml b/config/v1/tests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
index 7752610223c..846d65892d7 100644
--- a/config/v1/tests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
+++ b/config/v1/tests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
@@ -87,6 +87,8 @@ tests:
platformStatus:
aws:
region: us-east-1
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
ipFamily: DualStackIPv6Primary
type: AWS
expected: |
@@ -130,6 +132,8 @@ tests:
platformStatus:
aws:
region: us-east-1
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
ipFamily: DualStackIPv4Primary
type: AWS
expected: |
@@ -191,6 +195,8 @@ tests:
platformStatus:
aws:
region: us-east-1
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
ipFamily: IPv4
type: AWS
updated: |
@@ -207,6 +213,8 @@ tests:
platformStatus:
aws:
region: us-east-1
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
ipFamily: DualStackIPv6Primary
type: AWS
expectedStatusError: "status.platformStatus.aws.ipFamily: Invalid value: \"string\": ipFamily is immutable once set"
@@ -224,6 +232,8 @@ tests:
platform: AWS
platformStatus:
aws:
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
region: us-east-1
ipFamily: DualStackIPv6Primary
type: AWS
@@ -240,6 +250,8 @@ tests:
platform: AWS
platformStatus:
aws:
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
region: us-east-1
ipFamily: DualStackIPv6Primary
type: AWS
@@ -277,6 +289,8 @@ tests:
platformStatus:
aws:
region: us-east-1
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
ipFamily: DualStackIPv4Primary
type: AWS
updated: |
diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go
index 86c98664df9..7bf4117cecf 100644
--- a/config/v1/types_infrastructure.go
+++ b/config/v1/types_infrastructure.go
@@ -601,6 +601,15 @@ type AWSPlatformStatus struct {
// IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
// protocol family.
//
+ // Valid values are:
+ // * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ // * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ // * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+ //
+ // When omitted, this field defaults to "IPv4".
+ //
+ // This field is immutable and cannot be changed once set.
+ //
// +default="IPv4"
// +kubebuilder:default="IPv4"
// +kubebuilder:validation:XValidation:rule="oldSelf == '' || self == oldSelf",message="ipFamily is immutable once set"
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 0305366dfd1..15b6bd7cc39 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
@@ -1287,6 +1287,30 @@ spec:
ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for new AWS
resources created by the cluster.
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
index 1c8d67b7eb1..2b237e698d9 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1380,6 +1380,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
index 4a8735ce62e..8d55b86e30c 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1365,6 +1365,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
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 6cdb3f76af3..4eb30d34f55 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
@@ -1287,6 +1287,30 @@ spec:
ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for new AWS
resources created by the cluster.
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
index 29513d68b9f..a10bb0aab42 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1380,6 +1380,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index 037f26287fa..78ce31e5415 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1380,6 +1380,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
index 197bf2706fa..a95c1f7ef6b 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
@@ -1366,6 +1366,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
index 1b1fe5d1d5a..72e9126ac49 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
@@ -1155,6 +1155,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/config/v1/zz_generated.swagger_doc_generated.go b/config/v1/zz_generated.swagger_doc_generated.go
index b763c1b5313..cd6d799510d 100644
--- a/config/v1/zz_generated.swagger_doc_generated.go
+++ b/config/v1/zz_generated.swagger_doc_generated.go
@@ -1581,7 +1581,7 @@ var map_AWSPlatformStatus = map[string]string{
"serviceEndpoints": "serviceEndpoints list contains custom endpoints which will override default service endpoint of AWS Services. There must be only one ServiceEndpoint for a service.",
"resourceTags": "resourceTags is a list of additional tags to apply to AWS resources created for the cluster. See https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html for information on tagging AWS resources. AWS supports a maximum of 50 tags per resource. OpenShift reserves 25 tags for its use, leaving 25 tags available for the user.",
"cloudLoadBalancerConfig": "cloudLoadBalancerConfig holds configuration related to DNS and cloud load balancers. It allows configuration of in-cluster DNS as an alternative to the platform default DNS implementation. When using the ClusterHosted DNS type, Load Balancer IP addresses must be provided for the API and internal API load balancers as well as the ingress load balancer.",
- "ipFamily": "ipFamily specifies the IP protocol family that should be used for AWS network resources. This controls whether AWS resources are created with IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary protocol family.",
+ "ipFamily": "ipFamily specifies the IP protocol family that should be used for AWS network resources. This controls whether AWS resources are created with IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary protocol family.\n\nValid values are: * \"IPv4\" (default): Cloud platform resources use IPv4 addressing only. * \"DualStackIPv6Primary\": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family. * \"DualStackIPv4Primary\": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.\n\nWhen omitted, this field defaults to \"IPv4\".\n\nThis field is immutable and cannot be changed once set.",
}
func (AWSPlatformStatus) SwaggerDoc() map[string]string {
diff --git a/features.md b/features.md
index c8104b952de..676dad09aec 100644
--- a/features.md
+++ b/features.md
@@ -31,7 +31,6 @@
| ProvisioningRequestAvailable| | | Enabled | Enabled | | | | |
| AWSClusterHostedDNS| | | Enabled | Enabled | | | Enabled | Enabled |
| AWSDedicatedHosts| | | Enabled | Enabled | | | Enabled | Enabled |
-| AWSDualStackInstall| | | Enabled | Enabled | | | Enabled | Enabled |
| AWSEuropeanSovereignCloudInstall| | | Enabled | Enabled | | | Enabled | Enabled |
| AdditionalStorageConfig| | | Enabled | Enabled | | | Enabled | Enabled |
| AutomatedEtcdBackup| | | Enabled | Enabled | | | Enabled | Enabled |
@@ -97,6 +96,7 @@
| VolumeGroupSnapshot| | | Enabled | Enabled | | | Enabled | Enabled |
| OSStreams| | Enabled | Enabled | Enabled | | Enabled | Enabled | Enabled |
| AWSClusterHostedDNSInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
+| AWSDualStackInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| AWSServiceLBNetworkSecurityGroup| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| AzureWorkloadIdentity| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| BootImageSkewEnforcement| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
diff --git a/features/features.go b/features/features.go
index afdcef92b40..ae6dac77a41 100644
--- a/features/features.go
+++ b/features/features.go
@@ -869,7 +869,7 @@ var (
contactPerson("sadasu").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1806").
- enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
+ enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
mustRegister()
FeatureGateAzureDualStackInstall = newFeatureGate("AzureDualStackInstall").
diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
index 35edae5c3ae..57fa9d7c4dc 100644
--- a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
+++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
@@ -91,10 +91,10 @@ tests:
platformStatus:
type: AWS
aws:
- region: us-east-1
- ipFamily: IPv4
cloudLoadBalancerConfig:
dnsType: PlatformDefault
+ region: us-east-1
+ ipFamily: IPv4
ipFamilies: IPv4
kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK
network: null
@@ -172,6 +172,8 @@ tests:
platformStatus:
type: AWS
aws:
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
region: us-east-1
ipFamily: DualStackIPv6Primary
ipFamilies: IPv4
@@ -217,10 +219,10 @@ tests:
platformStatus:
type: AWS
aws:
- region: us-east-1
- ipFamily: DualStackIPv6Primary
cloudLoadBalancerConfig:
dnsType: PlatformDefault
+ region: us-east-1
+ ipFamily: DualStackIPv6Primary
ipFamilies: IPv4
kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK
network: null
@@ -262,6 +264,8 @@ tests:
platformStatus:
type: AWS
aws:
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
region: us-east-1
ipFamily: IPv4
ipFamilies: IPv4
@@ -304,6 +308,8 @@ tests:
platformStatus:
type: AWS
aws:
+ cloudLoadBalancerConfig:
+ dnsType: PlatformDefault
region: us-east-1
ipFamily: DualStackIPv6Primary
ipFamilies: IPv4
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 7c0f73b0413..633ccb976db 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
@@ -1578,6 +1578,30 @@ spec:
is ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for
new AWS resources created by the cluster.
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
index 82ede742731..439b9d0ab41 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1686,6 +1686,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
index eaf72ab25e2..d1df08143e4 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1671,6 +1671,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
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 baa96854daa..f86ca02f7b2 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
@@ -1578,6 +1578,30 @@ spec:
is ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for
new AWS resources created by the cluster.
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
index 7de0c329ea5..3f9ad521e7d 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1686,6 +1686,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index a3ede95448f..928bc6ad815 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1686,6 +1686,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
index 0d318c38c1f..b29339d1547 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
@@ -1660,6 +1660,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
index ee5edcb5edb..573c8281c50 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
@@ -1451,6 +1451,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go
index 5c8d52a020d..adb56141cf0 100644
--- a/openapi/generated_openapi/zz_generated.openapi.go
+++ b/openapi/generated_openapi/zz_generated.openapi.go
@@ -9429,7 +9429,7 @@ func schema_openshift_api_config_v1_AWSPlatformStatus(ref common.ReferenceCallba
},
"ipFamily": {
SchemaProps: spec.SchemaProps{
- Description: "ipFamily specifies the IP protocol family that should be used for AWS network resources. This controls whether AWS resources are created with IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary protocol family.",
+ Description: "ipFamily specifies the IP protocol family that should be used for AWS network resources. This controls whether AWS resources are created with IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary protocol family.\n\nValid values are: * \"IPv4\" (default): Cloud platform resources use IPv4 addressing only. * \"DualStackIPv6Primary\": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family. * \"DualStackIPv4Primary\": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.\n\nWhen omitted, this field defaults to \"IPv4\".\n\nThis field is immutable and cannot be changed once set.",
Default: "IPv4",
Type: []string{"string"},
Format: "",
diff --git a/openapi/openapi.json b/openapi/openapi.json
index d972ef74c85..56fa045db16 100644
--- a/openapi/openapi.json
+++ b/openapi/openapi.json
@@ -4489,7 +4489,7 @@
"$ref": "#/definitions/com.github.openshift.api.config.v1.CloudLoadBalancerConfig"
},
"ipFamily": {
- "description": "ipFamily specifies the IP protocol family that should be used for AWS network resources. This controls whether AWS resources are created with IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary protocol family.",
+ "description": "ipFamily specifies the IP protocol family that should be used for AWS network resources. This controls whether AWS resources are created with IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary protocol family.\n\nValid values are: * \"IPv4\" (default): Cloud platform resources use IPv4 addressing only. * \"DualStackIPv6Primary\": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family. * \"DualStackIPv4Primary\": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.\n\nWhen omitted, this field defaults to \"IPv4\".\n\nThis field is immutable and cannot be changed once set.",
"type": "string",
"default": "IPv4"
},
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 0305366dfd1..15b6bd7cc39 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
@@ -1287,6 +1287,30 @@ spec:
ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for new AWS
resources created by the cluster.
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
index 1c8d67b7eb1..2b237e698d9 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1380,6 +1380,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
index 4a8735ce62e..8d55b86e30c 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1365,6 +1365,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
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 6cdb3f76af3..4eb30d34f55 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
@@ -1287,6 +1287,30 @@ spec:
ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for new AWS
resources created by the cluster.
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
index 29513d68b9f..a10bb0aab42 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1380,6 +1380,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index 037f26287fa..78ce31e5415 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1380,6 +1380,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
index 197bf2706fa..a95c1f7ef6b 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
@@ -1366,6 +1366,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
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 7c0f73b0413..633ccb976db 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
@@ -1578,6 +1578,30 @@ spec:
is ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for
new AWS resources created by the cluster.
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
index 82ede742731..439b9d0ab41 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1686,6 +1686,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
index eaf72ab25e2..d1df08143e4 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1671,6 +1671,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
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 baa96854daa..f86ca02f7b2 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
@@ -1578,6 +1578,30 @@ spec:
is ClusterHosted
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
? !has(self.clusterHosted) : true'
+ ipFamily:
+ default: IPv4
+ description: |-
+ ipFamily specifies the IP protocol family that should be used for AWS
+ network resources. This controls whether AWS resources are created with
+ IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
+ protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
+ enum:
+ - IPv4
+ - DualStackIPv6Primary
+ - DualStackIPv4Primary
+ type: string
+ x-kubernetes-validations:
+ - message: ipFamily is immutable once set
+ rule: oldSelf == '' || self == oldSelf
region:
description: region holds the default AWS region for
new AWS resources created by the cluster.
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
index 7de0c329ea5..3f9ad521e7d 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1686,6 +1686,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index a3ede95448f..928bc6ad815 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1686,6 +1686,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
index 0d318c38c1f..b29339d1547 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
@@ -1660,6 +1660,15 @@ spec:
network resources. This controls whether AWS resources are created with
IPv4-only, or dual-stack networking with IPv4 or IPv6 as the primary
protocol family.
+
+ Valid values are:
+ * "IPv4" (default): Cloud platform resources use IPv4 addressing only.
+ * "DualStackIPv6Primary": Cloud platform resources use dual-stack networking with IPv6 as the primary protocol family.
+ * "DualStackIPv4Primary": Cloud platform resources use dual-stack networking with IPv4 as the primary protocol family.
+
+ When omitted, this field defaults to "IPv4".
+
+ This field is immutable and cannot be changed once set.
enum:
- IPv4
- DualStackIPv6Primary
diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
index a5b8f6ad4a5..657072aa336 100644
--- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
@@ -20,9 +20,6 @@
{
"name": "AWSDedicatedHosts"
},
- {
- "name": "AWSDualStackInstall"
- },
{
"name": "AWSEuropeanSovereignCloudInstall"
},
@@ -304,6 +301,9 @@
{
"name": "AWSClusterHostedDNSInstall"
},
+ {
+ "name": "AWSDualStackInstall"
+ },
{
"name": "AWSServiceLBNetworkSecurityGroup"
},
diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
index f8b1398bd7e..2e675808340 100644
--- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
@@ -22,9 +22,6 @@
{
"name": "AWSDedicatedHosts"
},
- {
- "name": "AWSDualStackInstall"
- },
{
"name": "AWSEuropeanSovereignCloudInstall"
},
@@ -306,6 +303,9 @@
{
"name": "AWSClusterHostedDNSInstall"
},
+ {
+ "name": "AWSDualStackInstall"
+ },
{
"name": "AWSServiceLBNetworkSecurityGroup"
},
diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
index 4b99d009a02..90e85120c1c 100644
--- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
@@ -20,9 +20,6 @@
{
"name": "AWSDedicatedHosts"
},
- {
- "name": "AWSDualStackInstall"
- },
{
"name": "AWSEuropeanSovereignCloudInstall"
},
@@ -295,6 +292,9 @@
{
"name": "AWSClusterHostedDNSInstall"
},
+ {
+ "name": "AWSDualStackInstall"
+ },
{
"name": "AWSServiceLBNetworkSecurityGroup"
},
diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
index a8b61f4ea44..24dade36e0a 100644
--- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
@@ -22,9 +22,6 @@
{
"name": "AWSDedicatedHosts"
},
- {
- "name": "AWSDualStackInstall"
- },
{
"name": "AWSEuropeanSovereignCloudInstall"
},
@@ -297,6 +294,9 @@
{
"name": "AWSClusterHostedDNSInstall"
},
+ {
+ "name": "AWSDualStackInstall"
+ },
{
"name": "AWSServiceLBNetworkSecurityGroup"
},