@@ -40,17 +40,24 @@ import (
40
40
var _ Reconciler = & gatewayReconciler {}
41
41
42
42
// NewNLBGatewayReconciler constructs a gateway reconciler to handle specifically for NLB gateways
43
- func NewNLBGatewayReconciler (routeLoader routeutils.Loader , cloud services.Cloud , k8sClient client.Client , eventRecorder record.EventRecorder , controllerConfig config.ControllerConfig , finalizerManager k8s.FinalizerManager , networkingSGReconciler networking.SecurityGroupReconciler , networkingSGManager networking.SecurityGroupManager , elbv2TaggingManager elbv2deploy.TaggingManager , subnetResolver networking.SubnetsResolver , vpcInfoProvider networking.VPCInfoProvider , backendSGProvider networking.BackendSGProvider , sgResolver networking.SecurityGroupResolver , logger logr.Logger , metricsCollector lbcmetrics.MetricCollector , reconcileCounters * metricsutil.ReconcileCounters ) Reconciler {
44
- return newGatewayReconciler (constants .NLBGatewayController , elbv2model .LoadBalancerTypeNetwork , controllerConfig .NLBGatewayMaxConcurrentReconciles , constants .NLBGatewayTagPrefix , shared_constants .NLBGatewayFinalizer , routeLoader , routeutils .L4RouteFilter , cloud , k8sClient , eventRecorder , controllerConfig , finalizerManager , networkingSGReconciler , networkingSGManager , elbv2TaggingManager , subnetResolver , vpcInfoProvider , backendSGProvider , sgResolver , logger , metricsCollector , reconcileCounters .IncrementNLBGateway )
43
+ func NewNLBGatewayReconciler (routeLoader routeutils.Loader , cloud services.Cloud , k8sClient client.Client , eventRecorder record.EventRecorder , controllerConfig config.ControllerConfig , finalizerManager k8s.FinalizerManager , networkingSGReconciler networking.SecurityGroupReconciler , networkingSGManager networking.SecurityGroupManager , elbv2TaggingManager elbv2deploy.TaggingManager , subnetResolver networking.SubnetsResolver , vpcInfoProvider networking.VPCInfoProvider , backendSGProvider networking.BackendSGProvider , sgResolver networking.SecurityGroupResolver , logger logr.Logger , metricsCollector lbcmetrics.MetricCollector , reconcileCounters * metricsutil.ReconcileCounters , routeReconciler routeutils. RouteReconciler ) Reconciler {
44
+ return newGatewayReconciler (constants .NLBGatewayController , elbv2model .LoadBalancerTypeNetwork , controllerConfig .NLBGatewayMaxConcurrentReconciles , constants .NLBGatewayTagPrefix , shared_constants .NLBGatewayFinalizer , routeLoader , routeutils .L4RouteFilter , cloud , k8sClient , eventRecorder , controllerConfig , finalizerManager , networkingSGReconciler , networkingSGManager , elbv2TaggingManager , subnetResolver , vpcInfoProvider , backendSGProvider , sgResolver , logger , metricsCollector , reconcileCounters .IncrementNLBGateway , routeReconciler )
45
45
}
46
46
47
47
// NewALBGatewayReconciler constructs a gateway reconciler to handle specifically for ALB gateways
48
- func NewALBGatewayReconciler (routeLoader routeutils.Loader , cloud services.Cloud , k8sClient client.Client , eventRecorder record.EventRecorder , controllerConfig config.ControllerConfig , finalizerManager k8s.FinalizerManager , networkingSGReconciler networking.SecurityGroupReconciler , networkingSGManager networking.SecurityGroupManager , elbv2TaggingManager elbv2deploy.TaggingManager , subnetResolver networking.SubnetsResolver , vpcInfoProvider networking.VPCInfoProvider , backendSGProvider networking.BackendSGProvider , sgResolver networking.SecurityGroupResolver , logger logr.Logger , metricsCollector lbcmetrics.MetricCollector , reconcileCounters * metricsutil.ReconcileCounters ) Reconciler {
49
- return newGatewayReconciler (constants .ALBGatewayController , elbv2model .LoadBalancerTypeApplication , controllerConfig .ALBGatewayMaxConcurrentReconciles , constants .ALBGatewayTagPrefix , shared_constants .ALBGatewayFinalizer , routeLoader , routeutils .L7RouteFilter , cloud , k8sClient , eventRecorder , controllerConfig , finalizerManager , networkingSGReconciler , networkingSGManager , elbv2TaggingManager , subnetResolver , vpcInfoProvider , backendSGProvider , sgResolver , logger , metricsCollector , reconcileCounters .IncrementALBGateway )
48
+ func NewALBGatewayReconciler (routeLoader routeutils.Loader , cloud services.Cloud , k8sClient client.Client , eventRecorder record.EventRecorder , controllerConfig config.ControllerConfig , finalizerManager k8s.FinalizerManager , networkingSGReconciler networking.SecurityGroupReconciler , networkingSGManager networking.SecurityGroupManager , elbv2TaggingManager elbv2deploy.TaggingManager , subnetResolver networking.SubnetsResolver , vpcInfoProvider networking.VPCInfoProvider , backendSGProvider networking.BackendSGProvider , sgResolver networking.SecurityGroupResolver , logger logr.Logger , metricsCollector lbcmetrics.MetricCollector , reconcileCounters * metricsutil.ReconcileCounters , routeReconciler routeutils. RouteReconciler ) Reconciler {
49
+ return newGatewayReconciler (constants .ALBGatewayController , elbv2model .LoadBalancerTypeApplication , controllerConfig .ALBGatewayMaxConcurrentReconciles , constants .ALBGatewayTagPrefix , shared_constants .ALBGatewayFinalizer , routeLoader , routeutils .L7RouteFilter , cloud , k8sClient , eventRecorder , controllerConfig , finalizerManager , networkingSGReconciler , networkingSGManager , elbv2TaggingManager , subnetResolver , vpcInfoProvider , backendSGProvider , sgResolver , logger , metricsCollector , reconcileCounters .IncrementALBGateway , routeReconciler )
50
50
}
51
51
52
52
// newGatewayReconciler constructs a reconciler that responds to gateway object changes
53
- func newGatewayReconciler (controllerName string , lbType elbv2model.LoadBalancerType , maxConcurrentReconciles int , gatewayTagPrefix string , finalizer string , routeLoader routeutils.Loader , routeFilter routeutils.LoadRouteFilter , cloud services.Cloud , k8sClient client.Client , eventRecorder record.EventRecorder , controllerConfig config.ControllerConfig , finalizerManager k8s.FinalizerManager , networkingSGReconciler networking.SecurityGroupReconciler , networkingSGManager networking.SecurityGroupManager , elbv2TaggingManager elbv2deploy.TaggingManager , subnetResolver networking.SubnetsResolver , vpcInfoProvider networking.VPCInfoProvider , backendSGProvider networking.BackendSGProvider , sgResolver networking.SecurityGroupResolver , logger logr.Logger , metricsCollector lbcmetrics.MetricCollector , reconcileTracker func (namespaceName types.NamespacedName )) Reconciler {
53
+ func newGatewayReconciler (controllerName string , lbType elbv2model.LoadBalancerType , maxConcurrentReconciles int ,
54
+ gatewayTagPrefix string , finalizer string , routeLoader routeutils.Loader , routeFilter routeutils.LoadRouteFilter ,
55
+ cloud services.Cloud , k8sClient client.Client , eventRecorder record.EventRecorder , controllerConfig config.ControllerConfig ,
56
+ finalizerManager k8s.FinalizerManager , networkingSGReconciler networking.SecurityGroupReconciler ,
57
+ networkingSGManager networking.SecurityGroupManager , elbv2TaggingManager elbv2deploy.TaggingManager ,
58
+ subnetResolver networking.SubnetsResolver , vpcInfoProvider networking.VPCInfoProvider , backendSGProvider networking.BackendSGProvider ,
59
+ sgResolver networking.SecurityGroupResolver , logger logr.Logger , metricsCollector lbcmetrics.MetricCollector ,
60
+ reconcileTracker func (namespaceName types.NamespacedName ), routeReconciler routeutils.RouteReconciler ) Reconciler {
54
61
55
62
trackingProvider := tracking .NewDefaultProvider (gatewayTagPrefix , controllerConfig .ClusterName )
56
63
modelBuilder := gatewaymodel .NewModelBuilder (subnetResolver , vpcInfoProvider , cloud .VpcID (), lbType , trackingProvider , elbv2TaggingManager , controllerConfig , cloud .EC2 (), cloud .ACM (), controllerConfig .FeatureGates , controllerConfig .ClusterName , controllerConfig .DefaultTags , sets .New (controllerConfig .ExternalManagedTags ... ), controllerConfig .DefaultSSLPolicy , controllerConfig .DefaultTargetType , controllerConfig .DefaultLoadBalancerScheme , backendSGProvider , sgResolver , controllerConfig .EnableBackendSecurityGroup , controllerConfig .DisableRestrictedSGRules , controllerConfig .IngressConfig .AllowedCertificateAuthorityARNs , logger )
@@ -78,6 +85,7 @@ func newGatewayReconciler(controllerName string, lbType elbv2model.LoadBalancerT
78
85
metricsCollector : metricsCollector ,
79
86
reconcileTracker : reconcileTracker ,
80
87
cfgResolver : cfgResolver ,
88
+ routeReconciler : routeReconciler ,
81
89
}
82
90
}
83
91
@@ -100,7 +108,8 @@ type gatewayReconciler struct {
100
108
metricsCollector lbcmetrics.MetricCollector
101
109
reconcileTracker func (namespaceName types.NamespacedName )
102
110
103
- cfgResolver gatewayConfigResolver
111
+ cfgResolver gatewayConfigResolver
112
+ routeReconciler routeutils.RouteReconciler
104
113
}
105
114
106
115
//+kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=gateways,verbs=get;list;watch;patch
@@ -180,7 +189,7 @@ func (r *gatewayReconciler) reconcileHelper(ctx context.Context, req reconcile.R
180
189
return err
181
190
}
182
191
183
- allRoutes , err := r .gatewayLoader .LoadRoutesForGateway (ctx , * gw , r .routeFilter )
192
+ allRoutes , err := r .gatewayLoader .LoadRoutesForGateway (ctx , * gw , r .routeFilter , r . routeReconciler )
184
193
185
194
if err != nil {
186
195
return err
0 commit comments