@@ -32,7 +32,7 @@ const (
3232// ModelBuilder is responsible for build mode stack for a IngressGroup.
3333type ModelBuilder interface {
3434 // build mode stack for a IngressGroup.
35- Build (ctx context.Context , ingGroup Group ) (core.Stack , * elbv2model.LoadBalancer , []types.NamespacedName , error )
35+ Build (ctx context.Context , ingGroup Group ) (core.Stack , * elbv2model.LoadBalancer , []types.NamespacedName , bool , error )
3636}
3737
3838// NewDefaultModelBuilder constructs new defaultModelBuilder.
@@ -42,7 +42,8 @@ func NewDefaultModelBuilder(k8sClient client.Client, eventRecorder record.EventR
4242 authConfigBuilder AuthConfigBuilder , enhancedBackendBuilder EnhancedBackendBuilder ,
4343 trackingProvider tracking.Provider , elbv2TaggingManager elbv2deploy.TaggingManager , featureGates config.FeatureGates ,
4444 vpcID string , clusterName string , defaultTags map [string ]string , externalManagedTags []string , defaultSSLPolicy string , defaultTargetType string ,
45- backendSGProvider networkingpkg.BackendSGProvider , enableBackendSG bool , disableRestrictedSGRules bool , enableIPTargetType bool , logger logr.Logger ) * defaultModelBuilder {
45+ backendSGProvider networkingpkg.BackendSGProvider , sgResolver networkingpkg.SecurityGroupResolver ,
46+ enableBackendSG bool , disableRestrictedSGRules bool , enableIPTargetType bool , logger logr.Logger ) * defaultModelBuilder {
4647 certDiscovery := NewACMCertDiscovery (acmClient , logger )
4748 ruleOptimizer := NewDefaultRuleOptimizer (logger )
4849 return & defaultModelBuilder {
@@ -54,6 +55,7 @@ func NewDefaultModelBuilder(k8sClient client.Client, eventRecorder record.EventR
5455 annotationParser : annotationParser ,
5556 subnetsResolver : subnetsResolver ,
5657 backendSGProvider : backendSGProvider ,
58+ sgResolver : sgResolver ,
5759 certDiscovery : certDiscovery ,
5860 authConfigBuilder : authConfigBuilder ,
5961 enhancedBackendBuilder : enhancedBackendBuilder ,
@@ -86,6 +88,7 @@ type defaultModelBuilder struct {
8688 annotationParser annotations.Parser
8789 subnetsResolver networkingpkg.SubnetsResolver
8890 backendSGProvider networkingpkg.BackendSGProvider
91+ sgResolver networkingpkg.SecurityGroupResolver
8992 certDiscovery CertDiscovery
9093 authConfigBuilder AuthConfigBuilder
9194 enhancedBackendBuilder EnhancedBackendBuilder
@@ -105,7 +108,7 @@ type defaultModelBuilder struct {
105108}
106109
107110// build mode stack for a IngressGroup.
108- func (b * defaultModelBuilder ) Build (ctx context.Context , ingGroup Group ) (core.Stack , * elbv2model.LoadBalancer , []types.NamespacedName , error ) {
111+ func (b * defaultModelBuilder ) Build (ctx context.Context , ingGroup Group ) (core.Stack , * elbv2model.LoadBalancer , []types.NamespacedName , bool , error ) {
109112 stack := core .NewDefaultStack (core .StackID (ingGroup .ID ))
110113 task := & defaultModelBuildTask {
111114 k8sClient : b .k8sClient ,
@@ -123,6 +126,7 @@ func (b *defaultModelBuilder) Build(ctx context.Context, ingGroup Group) (core.S
123126 elbv2TaggingManager : b .elbv2TaggingManager ,
124127 featureGates : b .featureGates ,
125128 backendSGProvider : b .backendSGProvider ,
129+ sgResolver : b .sgResolver ,
126130 logger : b .logger ,
127131 enableBackendSG : b .enableBackendSG ,
128132 disableRestrictedSGRules : b .disableRestrictedSGRules ,
@@ -153,9 +157,9 @@ func (b *defaultModelBuilder) Build(ctx context.Context, ingGroup Group) (core.S
153157 backendServices : make (map [types.NamespacedName ]* corev1.Service ),
154158 }
155159 if err := task .run (ctx ); err != nil {
156- return nil , nil , nil , err
160+ return nil , nil , nil , false , err
157161 }
158- return task .stack , task .loadBalancer , task .secretKeys , nil
162+ return task .stack , task .loadBalancer , task .secretKeys , task . backendSGAllocated , nil
159163}
160164
161165// the default model build task
@@ -168,6 +172,7 @@ type defaultModelBuildTask struct {
168172 annotationParser annotations.Parser
169173 subnetsResolver networkingpkg.SubnetsResolver
170174 backendSGProvider networkingpkg.BackendSGProvider
175+ sgResolver networkingpkg.SecurityGroupResolver
171176 certDiscovery CertDiscovery
172177 authConfigBuilder AuthConfigBuilder
173178 enhancedBackendBuilder EnhancedBackendBuilder
@@ -181,6 +186,7 @@ type defaultModelBuildTask struct {
181186 sslRedirectConfig * SSLRedirectConfig
182187 stack core.Stack
183188 backendSGIDToken core.StringToken
189+ backendSGAllocated bool
184190 enableBackendSG bool
185191 disableRestrictedSGRules bool
186192 enableIPTargetType bool
0 commit comments