Skip to content

Default Gateway hostname changes to avoid issues outlined in GEP-3567.#49

Merged
joshlreese merged 2 commits into
integration/proxy-updatesfrom
gateway-hostname-changes
Sep 19, 2025
Merged

Default Gateway hostname changes to avoid issues outlined in GEP-3567.#49
joshlreese merged 2 commits into
integration/proxy-updatesfrom
gateway-hostname-changes

Conversation

@joshlreese

@joshlreese joshlreese commented Sep 18, 2025

Copy link
Copy Markdown
Contributor

Before these changes, downstream gateways were being provisioned with listeners which are considered to have overlapping hostnames. This is a result of configuring the <uuid>.<targetDomain> hostname on a listener, along with the [v4|v6].<uuid>.<targetDomain> hostnames on listeners. When this occurs, Envoy Gateway will disable HTTP2 on the listeners, requiring explicit ALPN configuration via a ClientTrafficPolicy.

To make sure we provide users with gateways which support HTTP2 out of the box, the decision was made to no longer configure the gateway with the v4 or v6 prefixed hostnames. These addresses will remain in DNS, responding only with A or AAAA records.

In an effort to make it more clear to users which hostnames a gateway will accept, the system now injects default HTTP and HTTPS listeners into gateways created by the user which have the <uuid>.<targetDomain> hostname. The user may remove these listeners if they wish. All three DNS addresses will remain in the Status.Addresses field of the Gateway, which now makes this field more aligned with the intent defined in the spec.

The default listener names are now default-http and default-https, which will result in the reconfiguration of some gateway resources upon deployment - particularly those maintained via HTTPProxy resources.

See: https://gateway-api.sigs.k8s.io/geps/gep-3567/

Related work:

Before these changes, downstream gateways were being provisioned with listeners
which are considered to have overlapping hostnames. This is a result of
configuring the `<uuid>.<targetDomain>` hostname on a listener, along with the
`[v4|v6].<uuid>.<targetDomain>` hostnames on listeners. When this occurs, Envoy
Gateway will disable HTTP2 on the listeners, requiring explicit ALPN
configuration via a ClientTrafficPolicy.

To make sure we provide users with gateways which support HTTP2 out of the box,
the decision was made to no longer configure the gateway with the v4 or v6
prefixed hostnames. These addresses will remain in DNS, responding only with
A or AAAA records.

In an effort to make it more clear to users which hostnames a gateway will
accept, the system now injects default HTTP and HTTPS listeners into gateways
created by the user which have the `<uuid>.<targetDomain>` hostname. The user
may remove these listeners if they wish. All three DNS addresses will remain in
the `Status.Addresses` field of the Gateway, which now makes this field more
aligned with the intent defined in the spec.

The default listener names are now `default-http` and `default-https`,
which will result in the reconfiguration of some gateway resources upon
deployment - particularly those maintained via HTTPProxy resources.

See: https://gateway-api.sigs.k8s.io/geps/gep-3567/
…in the HTTPProxy reconciler, move the HTTPProxy reconciler to accumulate hostnames based on listeners and their status, instead of addresses.
Base automatically changed from gateway-api-upgrade to integration/proxy-updates September 19, 2025 15:21
@joshlreese
joshlreese merged commit 35b5af1 into integration/proxy-updates Sep 19, 2025
9 checks passed
@joshlreese
joshlreese deleted the gateway-hostname-changes branch October 3, 2025 00:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants