linkerd2
linkerd2 copied to clipboard
Linkerd implementation of Gateway API not follow GAMMA spec
What is the issue?
I am using Gateway API in Linkerd and find inconsistency between route behavior in Linkerd and GAMMA specification. In GEP, it says that GAMMA implementation should not infer any functionality from the hostnames
field on HTTPRoute. But actually, hostnames
in HTTPRoute makes effect in Linkerd.
How can it be reproduced?
For example, as configuration below, curl -H"host:www.bookinfo.com" http://back:80
can get correct service while curl -H"host:www.example.com" http://back:80
cannot.
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: hr-1
spec:
parentRefs:
- port: 80
group: ''
kind: Service
name: back
hostnames:
- www.bookinfo.com
rules:
- backendRefs:
- name: productpage
port: 9090
Logs, error output, etc
There are no specific logs.
output of linkerd check -o short
Status check results are √
Environment
- Kubernetes Version: 1.28.2
- Linkerd Version: stable-2.14.10
Possible solution
No response
Additional context
No response
Would you like to work on fixing this bug?
None
GAMMA is likely going to standardize on Linkerd's behavior being correct, since it's more parallel to the way HTTPRoutes work when bound to Gateways -- check out https://github.com/kubernetes-sigs/gateway-api/issues/2885. (I'll leave this open while that issue works its way through.)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.