envoyproxy / envoyproxy/gateway
Support GatewayInfrastructurePropagation in default mode
- Dominant language
- Go
- Stars
- 3k
- Forks
- 864
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 140
Description
*Description*:
Following up on #6000: the `GatewayInfrastructurePropagation` conformance feature is now supported in Gateway Namespace Mode, but it is still unsupported in the default mode, as shown in the [latest conformance report](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.5/envoy-gateway/experimental-v1.8.0-default-report.yaml)
The only missing piece is the standard `gateway.networking.k8s.io/gateway-name`
label on the generated resources, which is currently added only in Gateway Namespace Mode.
One open question is how to handle `mergeGateways`, where a single
proxy fleet is shared by multiple Gateways and no single gateway name applies.
There are two options (i think option 1 is better):
1. Skip the label when gateways are merged. A merged fleet belongs to the GatewayClass rather than to any single Gateway, and this is already expressed by the `owning-gatewayclass` label, so we shouldn't force a single gateway name on it.
2. Write a representative gateway name. This breaks the semantics of the label, so I'd rather avoid it.
It might take a little time, but I'd like to work on this. Let me know what you think.
[optional *Relevant Links*:]
- #6000
- https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-infrastructure.go
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with conformance/tests/gateway-infrastructure.go and the latest default-mode conformance report referenced in the issue, then trace how generated resources receive labels outside Gateway Namespace Mode. Verify GatewayInfrastructurePropagation passes in default mode and that merged gateways omit gateway-name while retaining the GatewayClass ownership label.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- api, infrastructure, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100