@@ -18,21 +18,22 @@ import (
1818 "sigs.k8s.io/aws-load-balancer-controller/pkg/k8s"
1919 "sigs.k8s.io/aws-load-balancer-controller/pkg/model/core"
2020 elbv2model "sigs.k8s.io/aws-load-balancer-controller/pkg/model/elbv2"
21+ k8s2 "sigs.k8s.io/aws-load-balancer-controller/pkg/model/elbv2/k8s"
2122 "sigs.k8s.io/aws-load-balancer-controller/pkg/shared_constants"
2223 gwv1 "sigs.k8s.io/gateway-api/apis/v1"
2324 "strconv"
2425)
2526
2627type buildTargetGroupOutput struct {
2728 targetGroupSpec elbv2model.TargetGroupSpec
28- bindingSpec elbv2model .TargetGroupBindingResourceSpec
29+ bindingSpec k8s2 .TargetGroupBindingResourceSpec
2930}
3031
3132type targetGroupBuilder interface {
3233 buildTargetGroup (stack core.Stack ,
3334 gw * gwv1.Gateway , lbConfig elbv2gw.LoadBalancerConfiguration , lbIPType elbv2model.IPAddressType , routeDescriptor routeutils.RouteDescriptor , backend routeutils.Backend , backendSGIDToken core.StringToken ) (* elbv2model.TargetGroup , error )
3435 buildTargetGroupSpec (gw * gwv1.Gateway , route routeutils.RouteDescriptor , lbConfig elbv2gw.LoadBalancerConfiguration , lbIPType elbv2model.IPAddressType , backend routeutils.Backend , targetGroupProps * elbv2gw.TargetGroupProps ) (elbv2model.TargetGroupSpec , error )
35- buildTargetGroupBindingSpec (gw * gwv1.Gateway , tgProps * elbv2gw.TargetGroupProps , tgSpec elbv2model.TargetGroupSpec , nodeSelector * metav1.LabelSelector , backend routeutils.Backend , backendSGIDToken core.StringToken ) elbv2model .TargetGroupBindingResourceSpec
36+ buildTargetGroupBindingSpec (gw * gwv1.Gateway , tgProps * elbv2gw.TargetGroupProps , tgSpec elbv2model.TargetGroupSpec , nodeSelector * metav1.LabelSelector , backend routeutils.Backend , backendSGIDToken core.StringToken ) k8s2 .TargetGroupBindingResourceSpec
3637}
3738
3839type targetGroupBuilderImpl struct {
@@ -118,12 +119,12 @@ func (t *targetGroupBuilderImpl) buildTargetGroup(stack core.Stack,
118119 }
119120 tg := elbv2model .NewTargetGroup (stack , tgResID , tgOut .targetGroupSpec )
120121 tgOut .bindingSpec .Template .Spec .TargetGroupARN = tg .TargetGroupARN ()
121- elbv2model .NewTargetGroupBindingResource (stack , tg .ID (), tgOut .bindingSpec )
122+ k8s2 .NewTargetGroupBindingResource (stack , tg .ID (), tgOut .bindingSpec )
122123 t .tgByResID [tgResID ] = tg
123124 return tg , nil
124125}
125126
126- func (builder * targetGroupBuilderImpl ) buildTargetGroupBindingSpec (gw * gwv1.Gateway , tgProps * elbv2gw.TargetGroupProps , tgSpec elbv2model.TargetGroupSpec , nodeSelector * metav1.LabelSelector , backend routeutils.Backend , backendSGIDToken core.StringToken ) elbv2model .TargetGroupBindingResourceSpec {
127+ func (builder * targetGroupBuilderImpl ) buildTargetGroupBindingSpec (gw * gwv1.Gateway , tgProps * elbv2gw.TargetGroupProps , tgSpec elbv2model.TargetGroupSpec , nodeSelector * metav1.LabelSelector , backend routeutils.Backend , backendSGIDToken core.StringToken ) k8s2 .TargetGroupBindingResourceSpec {
127128 targetType := elbv2api .TargetType (tgSpec .TargetType )
128129 targetPort := backend .ServicePort .TargetPort
129130 if targetType == elbv2api .TargetTypeInstance {
@@ -150,15 +151,15 @@ func (builder *targetGroupBuilderImpl) buildTargetGroupBindingSpec(gw *gwv1.Gate
150151 }
151152 }
152153
153- return elbv2model .TargetGroupBindingResourceSpec {
154- Template : elbv2model .TargetGroupBindingTemplate {
154+ return k8s2 .TargetGroupBindingResourceSpec {
155+ Template : k8s2 .TargetGroupBindingTemplate {
155156 ObjectMeta : metav1.ObjectMeta {
156157 Namespace : backend .Service .Namespace ,
157158 Name : tgSpec .Name ,
158159 Annotations : annotations ,
159160 Labels : labels ,
160161 },
161- Spec : elbv2model .TargetGroupBindingSpec {
162+ Spec : k8s2 .TargetGroupBindingSpec {
162163 TargetGroupARN : nil , // This should get filled in later!
163164 TargetType : & targetType ,
164165 ServiceRef : elbv2api.ServiceReference {
@@ -170,12 +171,13 @@ func (builder *targetGroupBuilderImpl) buildTargetGroupBindingSpec(gw *gwv1.Gate
170171 IPAddressType : elbv2api .TargetGroupIPAddressType (tgSpec .IPAddressType ),
171172 VpcID : builder .vpcID ,
172173 MultiClusterTargetGroup : multiClusterEnabled ,
174+ TargetGroupProtocol : & tgSpec .Protocol ,
173175 },
174176 },
175177 }
176178}
177179
178- func (builder * targetGroupBuilderImpl ) buildTargetGroupBindingNetworking (targetPort intstr.IntOrString , healthCheckPort intstr.IntOrString , tgProtocol elbv2model.Protocol , backendSGIDToken core.StringToken ) * elbv2model .TargetGroupBindingNetworking {
180+ func (builder * targetGroupBuilderImpl ) buildTargetGroupBindingNetworking (targetPort intstr.IntOrString , healthCheckPort intstr.IntOrString , tgProtocol elbv2model.Protocol , backendSGIDToken core.StringToken ) * k8s2 .TargetGroupBindingNetworking {
179181 if backendSGIDToken == nil {
180182 return nil
181183 }
@@ -199,12 +201,12 @@ func (builder *targetGroupBuilderImpl) buildTargetGroupBindingNetworking(targetP
199201 })
200202 }
201203
202- return & elbv2model .TargetGroupBindingNetworking {
203- Ingress : []elbv2model .NetworkingIngressRule {
204+ return & k8s2 .TargetGroupBindingNetworking {
205+ Ingress : []k8s2 .NetworkingIngressRule {
204206 {
205- From : []elbv2model .NetworkingPeer {
207+ From : []k8s2 .NetworkingPeer {
206208 {
207- SecurityGroup : & elbv2model .SecurityGroup {
209+ SecurityGroup : & k8s2 .SecurityGroup {
208210 GroupID : backendSGIDToken ,
209211 },
210212 },
@@ -241,20 +243,20 @@ func (builder *targetGroupBuilderImpl) buildTargetGroupBindingNetworking(targetP
241243 })
242244 }
243245
244- var networkingRules []elbv2model .NetworkingIngressRule
246+ var networkingRules []k8s2 .NetworkingIngressRule
245247 for _ , port := range networkingPorts {
246- networkingRules = append (networkingRules , elbv2model .NetworkingIngressRule {
247- From : []elbv2model .NetworkingPeer {
248+ networkingRules = append (networkingRules , k8s2 .NetworkingIngressRule {
249+ From : []k8s2 .NetworkingPeer {
248250 {
249- SecurityGroup : & elbv2model .SecurityGroup {
251+ SecurityGroup : & k8s2 .SecurityGroup {
250252 GroupID : backendSGIDToken ,
251253 },
252254 },
253255 },
254256 Ports : []elbv2api.NetworkingPort {port },
255257 })
256258 }
257- return & elbv2model .TargetGroupBindingNetworking {
259+ return & k8s2 .TargetGroupBindingNetworking {
258260 Ingress : networkingRules ,
259261 }
260262}
0 commit comments