Skip to content

Commit 3eb2b73

Browse files
committed
update httproute spec and metadata on changes
1 parent 3b74e5f commit 3eb2b73

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

pkg/ingress/controller.go

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -344,19 +344,7 @@ func (c *Controller) syncHandler(ctx context.Context, key string) error {
344344
routeCopy.Spec = desiredRoute.Spec
345345
routeCopy.OwnerReferences = desiredRoute.OwnerReferences
346346

347-
// This avoids conflicts with the gateway-controller updating status.
348-
patch := map[string]interface{}{
349-
"spec": desiredRoute.Spec,
350-
"metadata": map[string]interface{}{
351-
"ownerReferences": desiredRoute.OwnerReferences,
352-
},
353-
}
354-
patchBytes, err := json.Marshal(patch)
355-
if err != nil {
356-
return fmt.Errorf("failed to marshal patch for HTTPRoute %s/%s: %w", desiredRoute.Namespace, desiredRoute.Name, err)
357-
}
358-
359-
_, updateErr := c.gwClientset.GatewayV1().HTTPRoutes(namespace).Patch(ctx, desiredRoute.Name, types.MergePatchType, patchBytes, metav1.PatchOptions{})
347+
_, updateErr := c.gwClientset.GatewayV1().HTTPRoutes(namespace).Update(ctx, routeCopy, metav1.UpdateOptions{})
360348
if updateErr != nil {
361349
klog.Errorf("Failed to update HTTPRoute %s/%s: %v", desiredRoute.Namespace, desiredRoute.Name, updateErr)
362350
return fmt.Errorf("failed to update HTTPRoute: %w", updateErr)
@@ -595,10 +583,12 @@ func (c *Controller) translateIngressPaths(ns string, paths []networkingv1.HTTPI
595583
backendRef := gatewayv1.HTTPBackendRef{
596584
BackendRef: gatewayv1.BackendRef{
597585
BackendObjectReference: gatewayv1.BackendObjectReference{
598-
Name: gatewayv1.ObjectName(ingressPath.Backend.Service.Name),
599-
Kind: ptr.To(gatewayv1.Kind("Service")),
600-
Port: &portPtr,
586+
Name: gatewayv1.ObjectName(ingressPath.Backend.Service.Name),
587+
Kind: ptr.To(gatewayv1.Kind("Service")),
588+
Group: ptr.To(gatewayv1.Group("")),
589+
Port: &portPtr,
601590
},
591+
Weight: ptr.To(int32(1)),
602592
},
603593
}
604594

@@ -630,6 +620,7 @@ func (c *Controller) generateDesiredHTTPRoutes(ingress *networkingv1.Ingress, ga
630620
Name: gatewayv1.ObjectName(gatewayName),
631621
Namespace: ptr.To(gatewayv1.Namespace(gatewayNamespace)),
632622
Kind: ptr.To(gatewayv1.Kind("Gateway")),
623+
Group: ptr.To(gatewayv1.Group(gatewayv1.GroupName)),
633624
}
634625

635626
var defaultPaths []networkingv1.HTTPIngressPath
@@ -702,10 +693,12 @@ func (c *Controller) generateDesiredHTTPRoutes(ingress *networkingv1.Ingress, ga
702693
{
703694
BackendRef: gatewayv1.BackendRef{
704695
BackendObjectReference: gatewayv1.BackendObjectReference{
705-
Name: gatewayv1.ObjectName(ingress.Spec.DefaultBackend.Service.Name),
706-
Kind: ptr.To(gatewayv1.Kind("Service")),
707-
Port: &portPtr,
696+
Name: gatewayv1.ObjectName(ingress.Spec.DefaultBackend.Service.Name),
697+
Kind: ptr.To(gatewayv1.Kind("Service")),
698+
Group: ptr.To(gatewayv1.Group("")),
699+
Port: &portPtr,
708700
},
701+
Weight: ptr.To(int32(1)),
709702
},
710703
},
711704
},

0 commit comments

Comments
 (0)