@@ -164,6 +164,10 @@ type gatewayReconciler struct {
164164//+kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=httproutes/status,verbs=get;update;patch
165165//+kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=httproutes/finalizers,verbs=update
166166
167+ // +kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=grpcroutes,verbs=get;list;watch
168+ // +kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=grpcroutes/status,verbs=get;update;patch
169+ // +kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=grpcroutes/finalizers,verbs=update
170+
167171func (r * gatewayReconciler ) Reconcile (ctx context.Context , req reconcile.Request ) (ctrl.Result , error ) {
168172 r .reconcileTracker (req .NamespacedName )
169173 err := r .reconcileHelper (ctx , req )
@@ -480,15 +484,18 @@ func (r *gatewayReconciler) setupALBGatewayControllerWatches(ctrl controller.Con
480484 tbConfigEventChan := make (chan event.TypedGenericEvent [* elbv2gw.TargetGroupConfiguration ])
481485 listenerRuleConfigEventChan := make (chan event.TypedGenericEvent [* elbv2gw.ListenerRuleConfiguration ])
482486 httpRouteEventChan := make (chan event.TypedGenericEvent [* gwv1.HTTPRoute ])
487+ grpcRouteEventChan := make (chan event.TypedGenericEvent [* gwv1.GRPCRoute ])
483488 svcEventChan := make (chan event.TypedGenericEvent [* corev1.Service ])
484489 tgConfigEventHandler := eventhandlers .NewEnqueueRequestsForTargetGroupConfigurationEvent (svcEventChan , r .k8sClient , r .eventRecorder ,
485490 loggerPrefix .WithName ("TargetGroupConfiguration" ))
486- listenerRuleConfigEventHandler := eventhandlers .NewEnqueueRequestsForListenerRuleConfigurationEvent (httpRouteEventChan , r .k8sClient , loggerPrefix .WithName ("ListenerRuleConfiguration" ))
491+ listenerRuleConfigEventHandler := eventhandlers .NewEnqueueRequestsForListenerRuleConfigurationEvent (httpRouteEventChan , grpcRouteEventChan , r .k8sClient , loggerPrefix .WithName ("ListenerRuleConfiguration" ))
492+ grpcRouteEventHandler := eventhandlers .NewEnqueueRequestsForGRPCRouteEvent (r .k8sClient , r .eventRecorder ,
493+ loggerPrefix .WithName ("GRPCRoute" ))
487494 httpRouteEventHandler := eventhandlers .NewEnqueueRequestsForHTTPRouteEvent (r .k8sClient , r .eventRecorder ,
488495 loggerPrefix .WithName ("HTTPRoute" ))
489- svcEventHandler := eventhandlers .NewEnqueueRequestsForServiceEvent (httpRouteEventChan , nil , nil , nil , r .k8sClient , r .eventRecorder ,
496+ svcEventHandler := eventhandlers .NewEnqueueRequestsForServiceEvent (httpRouteEventChan , grpcRouteEventChan , nil , nil , nil , r .k8sClient , r .eventRecorder ,
490497 loggerPrefix .WithName ("Service" ), constants .ALBGatewayController )
491- refGrantHandler := eventhandlers .NewEnqueueRequestsForReferenceGrantEvent (httpRouteEventChan , nil , nil , nil , r .k8sClient , r .eventRecorder ,
498+ refGrantHandler := eventhandlers .NewEnqueueRequestsForReferenceGrantEvent (httpRouteEventChan , grpcRouteEventChan , nil , nil , nil , r .k8sClient , r .eventRecorder ,
492499 loggerPrefix .WithName ("ReferenceGrant" ))
493500 if err := ctrl .Watch (source .Channel (tbConfigEventChan , tgConfigEventHandler )); err != nil {
494501 return err
@@ -499,6 +506,9 @@ func (r *gatewayReconciler) setupALBGatewayControllerWatches(ctrl controller.Con
499506 if err := ctrl .Watch (source .Channel (httpRouteEventChan , httpRouteEventHandler )); err != nil {
500507 return err
501508 }
509+ if err := ctrl .Watch (source .Channel (grpcRouteEventChan , grpcRouteEventHandler )); err != nil {
510+ return err
511+ }
502512 if err := ctrl .Watch (source .Channel (svcEventChan , svcEventHandler )); err != nil {
503513 return err
504514 }
@@ -517,6 +527,9 @@ func (r *gatewayReconciler) setupALBGatewayControllerWatches(ctrl controller.Con
517527 if err := ctrl .Watch (source .Kind (mgr .GetCache (), & gwv1.HTTPRoute {}, httpRouteEventHandler )); err != nil {
518528 return err
519529 }
530+ if err := ctrl .Watch (source .Kind (mgr .GetCache (), & gwv1.GRPCRoute {}, grpcRouteEventHandler )); err != nil {
531+ return err
532+ }
520533 return nil
521534}
522535
@@ -535,9 +548,9 @@ func (r *gatewayReconciler) setupNLBGatewayControllerWatches(ctrl controller.Con
535548 loggerPrefix .WithName ("UDPRoute" ))
536549 tlsRouteEventHandler := eventhandlers .NewEnqueueRequestsForTLSRouteEvent (r .k8sClient , r .eventRecorder ,
537550 loggerPrefix .WithName ("TLSRoute" ))
538- svcEventHandler := eventhandlers .NewEnqueueRequestsForServiceEvent (nil , tcpRouteEventChan , udpRouteEventChan , tlsRouteEventChan , r .k8sClient , r .eventRecorder ,
551+ svcEventHandler := eventhandlers .NewEnqueueRequestsForServiceEvent (nil , nil , tcpRouteEventChan , udpRouteEventChan , tlsRouteEventChan , r .k8sClient , r .eventRecorder ,
539552 loggerPrefix .WithName ("Service" ), constants .NLBGatewayController )
540- refGrantHandler := eventhandlers .NewEnqueueRequestsForReferenceGrantEvent (nil , tcpRouteEventChan , udpRouteEventChan , tlsRouteEventChan , r .k8sClient , r .eventRecorder ,
553+ refGrantHandler := eventhandlers .NewEnqueueRequestsForReferenceGrantEvent (nil , nil , tcpRouteEventChan , udpRouteEventChan , tlsRouteEventChan , r .k8sClient , r .eventRecorder ,
541554 loggerPrefix .WithName ("ReferenceGrant" ))
542555 if err := ctrl .Watch (source .Channel (tbConfigEventChan , tgConfigEventHandler )); err != nil {
543556 return err
0 commit comments