@@ -83,8 +83,8 @@ func templateClusterCAPA(ctx context.Context, k8sClient k8sclient.Interface, out
83
83
return fmt .Errorf ("management cluster's AWSCluster object had an invalid IPv4 in `.status.networkStatus.natGatewaysIPs`: %q" , ip )
84
84
}
85
85
86
- if ! slices .Contains (flagValues .ControlPlane .LoadBalancerIngressAllowCIDRBlocks , cidr ) {
87
- flagValues .ControlPlane .LoadBalancerIngressAllowCIDRBlocks = append (flagValues .ControlPlane .LoadBalancerIngressAllowCIDRBlocks , cidr )
86
+ if ! slices .Contains (flagValues .Global . ControlPlane .LoadBalancerIngressAllowCIDRBlocks , cidr ) {
87
+ flagValues .Global . ControlPlane .LoadBalancerIngressAllowCIDRBlocks = append (flagValues . Global .ControlPlane .LoadBalancerIngressAllowCIDRBlocks , cidr )
88
88
}
89
89
}
90
90
@@ -93,7 +93,7 @@ func templateClusterCAPA(ctx context.Context, k8sClient k8sclient.Interface, out
93
93
// We allow specifying an empty value `--control-plane-load-balancer-ingress-allow-cidr-block ""`
94
94
// to denote that only the management cluster's IPs should be allowed. Skip this value.
95
95
} else if net .IsIPv4CIDRString (cidr ) {
96
- flagValues .ControlPlane .LoadBalancerIngressAllowCIDRBlocks = append (flagValues .ControlPlane .LoadBalancerIngressAllowCIDRBlocks , cidr )
96
+ flagValues .Global . ControlPlane .LoadBalancerIngressAllowCIDRBlocks = append (flagValues . Global .ControlPlane .LoadBalancerIngressAllowCIDRBlocks , cidr )
97
97
} else {
98
98
return fmt .Errorf ("invalid CIDR (for single IPv4, please use `/32` suffix): %q" , cidr )
99
99
}
@@ -116,14 +116,14 @@ func templateClusterCAPA(ctx context.Context, k8sClient k8sclient.Interface, out
116
116
return microerror .Mask (err )
117
117
}
118
118
119
- flagValues .Connectivity .Subnets = []capa.Subnet {
119
+ flagValues .Global . Connectivity .Subnets = []capa.Subnet {
120
120
{
121
121
CidrBlocks : []capa.CIDRBlock {},
122
122
},
123
123
}
124
124
125
125
for i := 0 ; i < subnetCount ; i ++ {
126
- flagValues .Connectivity .Subnets [0 ].CidrBlocks = append (flagValues .Connectivity .Subnets [0 ].CidrBlocks , capa.CIDRBlock {
126
+ flagValues .Global . Connectivity .Subnets [0 ].CidrBlocks = append (flagValues . Global .Connectivity .Subnets [0 ].CidrBlocks , capa.CIDRBlock {
127
127
CIDR : subnets [i ].CIDR ().String (),
128
128
AvailabilityZone : string (rune ('a' + i )), // generate `a`, `b`, etc. based on which index we're at
129
129
})
@@ -133,18 +133,18 @@ func templateClusterCAPA(ctx context.Context, k8sClient k8sclient.Interface, out
133
133
if config .AWS .HttpProxy != "" {
134
134
httpProxy = config .AWS .HttpProxy
135
135
}
136
- flagValues .Connectivity .Proxy = & capa.Proxy {
136
+ flagValues .Global . Connectivity .Proxy = & capa.Proxy {
137
137
Enabled : true ,
138
138
HttpsProxy : config .AWS .HttpsProxy ,
139
139
HttpProxy : httpProxy ,
140
140
NoProxy : config .AWS .NoProxy ,
141
141
}
142
142
143
- flagValues .ControlPlane .APIMode = defaultTo (config .AWS .APIMode , ModePrivate )
144
- flagValues .Connectivity .VPCMode = defaultTo (config .AWS .VPCMode , ModePrivate )
145
- flagValues .Connectivity .Topology .Mode = defaultTo (config .AWS .TopologyMode , gsannotation .NetworkTopologyModeGiantSwarmManaged )
146
- flagValues .Connectivity .Topology .PrefixListID = config .AWS .PrefixListID
147
- flagValues .Connectivity .Topology .TransitGatewayID = config .AWS .TransitGatewayID
143
+ flagValues .Global . ControlPlane .APIMode = defaultTo (config .AWS .APIMode , ModePrivate )
144
+ flagValues .Global . Connectivity .VPCMode = defaultTo (config .AWS .VPCMode , ModePrivate )
145
+ flagValues .Global . Connectivity .Topology .Mode = defaultTo (config .AWS .TopologyMode , gsannotation .NetworkTopologyModeGiantSwarmManaged )
146
+ flagValues .Global . Connectivity .Topology .PrefixListID = config .AWS .PrefixListID
147
+ flagValues .Global . Connectivity .Topology .TransitGatewayID = config .AWS .TransitGatewayID
148
148
}
149
149
150
150
configData , err := capa .GenerateClusterValues (flagValues )
@@ -209,38 +209,40 @@ func templateClusterCAPA(ctx context.Context, k8sClient k8sclient.Interface, out
209
209
210
210
func BuildCapaClusterConfig (config ClusterConfig ) capa.ClusterConfig {
211
211
return capa.ClusterConfig {
212
- Metadata : & capa.Metadata {
213
- Name : config .Name ,
214
- Description : config .Description ,
215
- Organization : config .Organization ,
216
- },
217
- ProviderSpecific : & capa.ProviderSpecific {
218
- Region : config .Region ,
219
- AWSClusterRoleIdentityName : config .AWS .AWSClusterRoleIdentityName ,
220
- },
221
- Connectivity : & capa.Connectivity {
222
- AvailabilityZoneUsageLimit : config .AWS .NetworkAZUsageLimit ,
223
- Bastion : & capa.Bastion {
224
- Enabled : true ,
225
- InstanceType : config .BastionInstanceType ,
226
- Replicas : config .BastionReplicas ,
212
+ Global : & capa.Global {
213
+ Connectivity : & capa.Connectivity {
214
+ AvailabilityZoneUsageLimit : config .AWS .NetworkAZUsageLimit ,
215
+ Bastion : & capa.Bastion {
216
+ Enabled : true ,
217
+ InstanceType : config .BastionInstanceType ,
218
+ Replicas : config .BastionReplicas ,
219
+ },
220
+ Network : & capa.Network {
221
+ VPCCIDR : config .AWS .NetworkVPCCIDR ,
222
+ },
223
+ Topology : & capa.Topology {},
227
224
},
228
- Network : & capa.Network {
229
- VPCCIDR : config .AWS . NetworkVPCCIDR ,
225
+ ControlPlane : & capa.ControlPlane {
226
+ InstanceType : config .ControlPlaneInstanceType ,
230
227
},
231
- Topology : & capa.Topology {},
232
- },
233
- ControlPlane : & capa.ControlPlane {
234
- InstanceType : config .ControlPlaneInstanceType ,
235
- },
236
- NodePools : & map [string ]capa.MachinePool {
237
- config .AWS .MachinePool .Name : {
238
- AvailabilityZones : config .AWS .MachinePool .AZs ,
239
- InstanceType : config .AWS .MachinePool .InstanceType ,
240
- MinSize : config .AWS .MachinePool .MinSize ,
241
- MaxSize : config .AWS .MachinePool .MaxSize ,
242
- RootVolumeSizeGB : config .AWS .MachinePool .RootVolumeSizeGB ,
243
- CustomNodeLabels : config .AWS .MachinePool .CustomNodeLabels ,
228
+ Metadata : & capa.Metadata {
229
+ Name : config .Name ,
230
+ Description : config .Description ,
231
+ Organization : config .Organization ,
232
+ },
233
+ NodePools : & map [string ]capa.MachinePool {
234
+ config .AWS .MachinePool .Name : {
235
+ AvailabilityZones : config .AWS .MachinePool .AZs ,
236
+ InstanceType : config .AWS .MachinePool .InstanceType ,
237
+ MinSize : config .AWS .MachinePool .MinSize ,
238
+ MaxSize : config .AWS .MachinePool .MaxSize ,
239
+ RootVolumeSizeGB : config .AWS .MachinePool .RootVolumeSizeGB ,
240
+ CustomNodeLabels : config .AWS .MachinePool .CustomNodeLabels ,
241
+ },
242
+ },
243
+ ProviderSpecific : & capa.ProviderSpecific {
244
+ Region : config .Region ,
245
+ AWSClusterRoleIdentityName : config .AWS .AWSClusterRoleIdentityName ,
244
246
},
245
247
},
246
248
}
0 commit comments