@@ -111,10 +111,15 @@ func Machines(clusterID string, region string, subnets map[string]string, pool *
111111 }
112112 if subnet == "" {
113113 domain .Subnet .Type = machinev1 .AWSFiltersReferenceType
114- domain .Subnet .Filters = & []machinev1.AWSResourceFilter {{
115- Name : "tag:Name" ,
116- Values : []string {fmt .Sprintf ("%s-private-%s" , clusterID , zone )},
117- }}
114+ domain .Subnet .Filters = & []machinev1.AWSResourceFilter {
115+ {
116+ Name : "tag:Name" ,
117+ Values : []string {
118+ fmt .Sprintf ("%s-private-%s" , clusterID , zone ), // legacy Terraform config, TODO remove
119+ fmt .Sprintf ("%s-subnet-private-%s" , clusterID , zone ),
120+ },
121+ },
122+ }
118123 } else {
119124 domain .Subnet .Type = machinev1 .AWSIDReferenceType
120125 domain .Subnet .ID = pointer .String (subnet )
@@ -178,12 +183,35 @@ func provider(in *machineProviderInput) (*machineapi.AWSMachineProviderConfig, e
178183 return nil , errors .Wrap (err , "failed to create machineapi.TagSpecifications from UserTags" )
179184 }
180185
181- securityGroups := []machineapi.AWSResourceReference { {
182- Filters : []machineapi. Filter { {
186+ sgFilters := []machineapi.Filter {
187+ {
183188 Name : "tag:Name" ,
184- Values : []string {fmt .Sprintf ("%s-%s-sg" , in .clusterID , in .role )},
185- }},
186- }}
189+ Values : []string {fmt .Sprintf ("%s-%s-sg" , in .clusterID , in .role )}, // legacy Terraform config, remove with Terraform
190+ },
191+ {
192+ Name : "tag:Name" ,
193+ Values : []string {fmt .Sprintf ("%s-node" , in .clusterID )},
194+ },
195+ {
196+ Name : "tag:Name" ,
197+ Values : []string {fmt .Sprintf ("%s-lb" , in .clusterID )},
198+ },
199+ }
200+
201+ if in .role == "master" {
202+ cpFilter := machineapi.Filter {
203+ Name : "tag:Name" ,
204+ Values : []string {fmt .Sprintf ("%s-controlplane" , in .clusterID )},
205+ }
206+ sgFilters = append (sgFilters , cpFilter )
207+ }
208+
209+ securityGroups := []machineapi.AWSResourceReference {}
210+ for _ , filter := range sgFilters {
211+ securityGroups = append (securityGroups , machineapi.AWSResourceReference {
212+ Filters : []machineapi.Filter {filter },
213+ })
214+ }
187215 securityGroupsIn := []machineapi.AWSResourceReference {}
188216 for _ , sgID := range in .securityGroupIDs {
189217 sgID := sgID
@@ -223,17 +251,24 @@ func provider(in *machineProviderInput) (*machineapi.AWSMachineProviderConfig, e
223251 SecurityGroups : securityGroups ,
224252 }
225253
226- subnetName := fmt . Sprintf ( "%s- private-%s" , in . clusterID , in . zone )
254+ visibility := " private"
227255 if in .publicSubnet {
228256 config .PublicIP = pointer .Bool (in .publicSubnet )
229- subnetName = fmt .Sprintf ("%s-public-%s" , in .clusterID , in .zone )
257+ visibility = "public"
258+ }
259+
260+ subnetFilters := []machineapi.Filter {
261+ {
262+ Name : "tag:Name" ,
263+ Values : []string {
264+ fmt .Sprintf ("%s-%s-%s" , in .clusterID , visibility , in .zone ),
265+ fmt .Sprintf ("%s-subnet-%s-%s" , in .clusterID , visibility , in .zone ), // legacy Terraform config, remove with Terraform
266+ },
267+ },
230268 }
231269
232270 if in .subnet == "" {
233- config .Subnet .Filters = []machineapi.Filter {{
234- Name : "tag:Name" ,
235- Values : []string {subnetName },
236- }}
271+ config .Subnet .Filters = subnetFilters
237272 } else {
238273 config .Subnet .ID = pointer .String (in .subnet )
239274 }
0 commit comments