Open DerekTBrown opened 2 weeks ago
What would you like to be added:
HTTPRoute needs a way of explicitly specifying the controllerNames that should be responsible for implementing the route when parentRef is not a Gateway.
HTTPRoute
controllerNames
parentRef
Gateway
I propose this be added to the parentRef schema:
apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: http-app-1 spec: parentRefs: - group: "" kind: Service name: http-app port: 8080 controllers: - "istio.io/gateway-controller"
Alternatively, an annotation could be made on the Service resource to indicate the controller owner.
Service
Why this is needed:
HTTPRoutes
apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: http-app-1 spec: parentRefs: - group: "" kind: Service name: http-app port: 8080 hostnames: - "http-app.my-namespace.svc.cluster.local" rules: - backendRefs: - name: http-app-stable port: 8080 weight: 90 - name: http-app-stable port: 8080 weight: 10
Users might have multiple controllers capable of implementing this HTTPRoute.
This can lead to conflicts between controllers, that clobber owners references, statuses, etc.
Doesn't the status already include a "controller" field to distinguish multiple controllers writing a status about the same parent?
What would you like to be added:
HTTPRoute
needs a way of explicitly specifying thecontrollerNames
that should be responsible for implementing the route whenparentRef
is not aGateway
.I propose this be added to the
parentRef
schema:Alternatively, an annotation could be made on the
Service
resource to indicate the controller owner.Why this is needed:
HTTPRoutes
that useService
as aparentRef
(for instance, Istio).Users might have multiple controllers capable of implementing this
HTTPRoute
.This can lead to conflicts between controllers, that clobber owners references, statuses, etc.