@@ -307,23 +307,7 @@ func (t *defaultModelBuildTask) buildLoadBalancerSecurityGroups(ctx context.Cont
307
307
manageBackendSG = * chosenSGSelector .ManagedBackend
308
308
}
309
309
} else {
310
- frontendSGIDs , err := t .sgResolver .ResolveViaSelector (ctx , chosenSGSelector )
311
- if err != nil {
312
- return nil , err
313
- }
314
- for _ , sgID := range frontendSGIDs {
315
- lbSGTokens = append (lbSGTokens , core .LiteralStringToken (sgID ))
316
- }
317
- if chosenSGSelector .ManagedBackend != nil && * chosenSGSelector .ManagedBackend {
318
- backendSGID , err := t .backendSGProvider .Get (ctx , networking .ResourceTypeIngress , k8s .ToSliceOfNamespacedNames (t .ingGroup .Members ))
319
- if err != nil {
320
- return nil , err
321
- }
322
- t .backendSGIDToken = core .LiteralStringToken (backendSGID )
323
- t .backendSGAllocated = true
324
- lbSGTokens = append (lbSGTokens , t .backendSGIDToken )
325
- }
326
- return lbSGTokens , nil
310
+ return t .buildSecurityGroupsFromSelector (ctx , chosenSGSelector , lbSGTokens )
327
311
}
328
312
}
329
313
@@ -336,32 +320,7 @@ func (t *defaultModelBuildTask) buildLoadBalancerSecurityGroups(ctx context.Cont
336
320
}
337
321
338
322
if len (sgNameOrIDsViaAnnotation ) > 0 {
339
- manageBackendSGRules , err := t .buildManageSecurityGroupRulesFlag (ctx )
340
- if err != nil {
341
- return nil , err
342
- }
343
- frontendSGIDs , err := t .sgResolver .ResolveViaNameOrID (ctx , sgNameOrIDsViaAnnotation )
344
- if err != nil {
345
- return nil , err
346
- }
347
- for _ , sgID := range frontendSGIDs {
348
- lbSGTokens = append (lbSGTokens , core .LiteralStringToken (sgID ))
349
- }
350
-
351
- if manageBackendSGRules {
352
- if ! t .enableBackendSG {
353
- return nil , errors .New ("backendSG feature is required to manage worker node SG rules when frontendSG manually specified" )
354
- }
355
- backendSGID , err := t .backendSGProvider .Get (ctx , networking .ResourceTypeIngress , k8s .ToSliceOfNamespacedNames (t .ingGroup .Members ))
356
- if err != nil {
357
- return nil , err
358
- }
359
- t .backendSGIDToken = core .LiteralStringToken (backendSGID )
360
- t .backendSGAllocated = true
361
- lbSGTokens = append (lbSGTokens , t .backendSGIDToken )
362
- }
363
- t .logger .Info ("SG configured via annotation" , "LB SGs" , lbSGTokens , "backend SG" , t .backendSGIDToken )
364
- return lbSGTokens , nil
323
+ return t .buildSecurityGroupsFromAnnotation (ctx , sgNameOrIDsViaAnnotation , lbSGTokens )
365
324
}
366
325
}
367
326
@@ -385,6 +344,55 @@ func (t *defaultModelBuildTask) buildLoadBalancerSecurityGroups(ctx context.Cont
385
344
return lbSGTokens , nil
386
345
}
387
346
347
+ func (t * defaultModelBuildTask ) buildSecurityGroupsFromAnnotation (ctx context.Context , sgNameOrIDsViaAnnotation []string , lbSGTokens []core.StringToken ) ([]core.StringToken , error ) {
348
+ manageBackendSGRules , err := t .buildManageSecurityGroupRulesFlag (ctx )
349
+ if err != nil {
350
+ return nil , err
351
+ }
352
+ frontendSGIDs , err := t .sgResolver .ResolveViaNameOrID (ctx , sgNameOrIDsViaAnnotation )
353
+ if err != nil {
354
+ return nil , err
355
+ }
356
+ for _ , sgID := range frontendSGIDs {
357
+ lbSGTokens = append (lbSGTokens , core .LiteralStringToken (sgID ))
358
+ }
359
+
360
+ if manageBackendSGRules {
361
+ if ! t .enableBackendSG {
362
+ return nil , errors .New ("backendSG feature is required to manage worker node SG rules when frontendSG manually specified" )
363
+ }
364
+ backendSGID , err := t .backendSGProvider .Get (ctx , networking .ResourceTypeIngress , k8s .ToSliceOfNamespacedNames (t .ingGroup .Members ))
365
+ if err != nil {
366
+ return nil , err
367
+ }
368
+ t .backendSGIDToken = core .LiteralStringToken (backendSGID )
369
+ t .backendSGAllocated = true
370
+ lbSGTokens = append (lbSGTokens , t .backendSGIDToken )
371
+ }
372
+ t .logger .Info ("SG configured via annotation" , "LB SGs" , lbSGTokens , "backend SG" , t .backendSGIDToken )
373
+ return lbSGTokens , nil
374
+ }
375
+
376
+ func (t * defaultModelBuildTask ) buildSecurityGroupsFromSelector (ctx context.Context , chosenSGSelector * v1beta1.SecurityGroupSelector , lbSGTokens []core.StringToken ) ([]core.StringToken , error ) {
377
+ frontendSGIDs , err := t .sgResolver .ResolveViaSelector (ctx , chosenSGSelector )
378
+ if err != nil {
379
+ return nil , err
380
+ }
381
+ for _ , sgID := range frontendSGIDs {
382
+ lbSGTokens = append (lbSGTokens , core .LiteralStringToken (sgID ))
383
+ }
384
+ if chosenSGSelector .ManagedBackend != nil && * chosenSGSelector .ManagedBackend {
385
+ backendSGID , err := t .backendSGProvider .Get (ctx , networking .ResourceTypeIngress , k8s .ToSliceOfNamespacedNames (t .ingGroup .Members ))
386
+ if err != nil {
387
+ return nil , err
388
+ }
389
+ t .backendSGIDToken = core .LiteralStringToken (backendSGID )
390
+ t .backendSGAllocated = true
391
+ lbSGTokens = append (lbSGTokens , t .backendSGIDToken )
392
+ }
393
+ return lbSGTokens , nil
394
+ }
395
+
388
396
func (t * defaultModelBuildTask ) buildLoadBalancerCOIPv4Pool (_ context.Context ) (* string , error ) {
389
397
explicitCOIPv4Pools := sets .NewString ()
390
398
for _ , member := range t .ingGroup .Members {
0 commit comments