@@ -134,31 +134,49 @@ func (b *APILoadBalancerBuilder) Build(c *fi.CloudupModelBuilderContext) error {
134
134
listeners := map [string ]* awstasks.ClassicLoadBalancerListener {
135
135
"443" : {InstancePort : 443 },
136
136
}
137
+ var nlbListeners []* awstasks.NetworkLoadBalancerListener
138
+
139
+ if lbSpec .SSLCertificate == "" {
140
+ listener443 := & awstasks.NetworkLoadBalancerListener {
141
+ Name : fi .PtrTo (b .NLBListenerName ("api" , 443 )),
142
+ Lifecycle : b .Lifecycle ,
143
+ NetworkLoadBalancer : b .LinkToNLB ("api" ),
144
+ Port : 443 ,
145
+ TargetGroup : b .LinkToTargetGroup ("tcp" ),
146
+ }
147
+ nlbListeners = append (nlbListeners , listener443 )
148
+ } else {
149
+ listener8443 := & awstasks.NetworkLoadBalancerListener {
150
+ Name : fi .PtrTo (b .NLBListenerName ("api" , 8443 )),
151
+ Lifecycle : b .Lifecycle ,
152
+ NetworkLoadBalancer : b .LinkToNLB ("api" ),
153
+ Port : 8443 ,
154
+ TargetGroup : b .LinkToTargetGroup ("tcp" ),
155
+ }
156
+ nlbListeners = append (nlbListeners , listener8443 )
137
157
138
- nlbListeners := []* awstasks.NetworkLoadBalancerListener {
139
- {
140
- Port : 443 ,
141
- TargetGroupName : b .NLBTargetGroupName ("tcp" ),
142
- },
143
- }
144
- if b .Cluster .UsesNoneDNS () {
145
- nlbListeners = append (nlbListeners , & awstasks.NetworkLoadBalancerListener {
146
- Port : wellknownports .KopsControllerPort ,
147
- TargetGroupName : b .NLBTargetGroupName ("kops-controller" ),
148
- })
149
- }
150
-
151
- if lbSpec .SSLCertificate != "" {
152
158
listeners ["443" ].SSLCertificateID = lbSpec .SSLCertificate
153
- nlbListeners [0 ].Port = 8443
154
-
155
- nlbListener := & awstasks.NetworkLoadBalancerListener {
156
- Port : 443 ,
157
- TargetGroupName : b .NLBTargetGroupName ("tls" ),
158
- SSLCertificateID : lbSpec .SSLCertificate ,
159
+ listener443 := & awstasks.NetworkLoadBalancerListener {
160
+ Name : fi .PtrTo (b .NLBListenerName ("api" , 443 )),
161
+ Lifecycle : b .Lifecycle ,
162
+ NetworkLoadBalancer : b .LinkToNLB ("api" ),
163
+ Port : 443 ,
164
+ TargetGroup : b .LinkToTargetGroup ("tls" ),
165
+ SSLCertificateID : lbSpec .SSLCertificate ,
159
166
}
160
167
if lbSpec .SSLPolicy != nil {
161
- nlbListener .SSLPolicy = * lbSpec .SSLPolicy
168
+ listener443 .SSLPolicy = * lbSpec .SSLPolicy
169
+ }
170
+ nlbListeners = append (nlbListeners , listener443 )
171
+ }
172
+
173
+ if b .Cluster .UsesNoneDNS () {
174
+ nlbListener := & awstasks.NetworkLoadBalancerListener {
175
+ Name : fi .PtrTo (b .NLBListenerName ("api" , wellknownports .KopsControllerPort )),
176
+ Lifecycle : b .Lifecycle ,
177
+ NetworkLoadBalancer : b .LinkToNLB ("api" ),
178
+ Port : wellknownports .KopsControllerPort ,
179
+ TargetGroup : b .LinkToTargetGroup ("kops-controller" ),
162
180
}
163
181
nlbListeners = append (nlbListeners , nlbListener )
164
182
}
@@ -184,7 +202,6 @@ func (b *APILoadBalancerBuilder) Build(c *fi.CloudupModelBuilderContext) error {
184
202
b .LinkToELBSecurityGroup ("api" ),
185
203
},
186
204
SubnetMappings : nlbSubnetMappings ,
187
- Listeners : nlbListeners ,
188
205
TargetGroups : make ([]* awstasks.TargetGroup , 0 ),
189
206
190
207
Tags : tags ,
@@ -359,6 +376,9 @@ func (b *APILoadBalancerBuilder) Build(c *fi.CloudupModelBuilderContext) error {
359
376
nlb .TargetGroups = append (nlb .TargetGroups , secondaryTG )
360
377
}
361
378
sort .Stable (awstasks .OrderTargetGroupsByName (nlb .TargetGroups ))
379
+ for _ , nlbListener := range nlbListeners {
380
+ c .AddTask (nlbListener )
381
+ }
362
382
c .AddTask (nlb )
363
383
}
364
384
0 commit comments