We expect that this release candidate is quite close to the final v1.2.0 release. However, subsequent breaking API changes are still possible.
This release candidate is suitable for implementors, but we do not recommend shipping products based on a release candidate API due to the possibility of incompatible changes prior to the final release. The following represents the changes since v1.1.0:
Release Cycle changesThis was our first release using a new release cycle that is meant to make Gateway API releases more frequent and predictable.
There are now four phases:
For all the detail about this, please see the Release Cycle docs.
Relevant PRs:
Standard Channel Additions and ChangesThe Standard channel is Gateway API's set of maximally-stable install files. Only features with the best testing and support are added to the standard channel. This channel should be considered GA or stable, and future changes will be fully backwards compatible.
Infrastructure Labels and Annotations ๐GEP-1867 added an infrastructure
stanza to Gateway objects that is intended to carry infrastructure configuration specific to that Gateway object.
GEP-1762 adds a section for labels
and annotations
to this stanza that specifies labels and annotations to be annotated to all resources created to fulfill that Gateway request.
This feature can be used to affect the labels and annotations created on LoadBalancer Services by in-cluster implementations to fulfill the Gateway contract or by Cloud Load Balancing resources created by Cloud Providers.
This feature has graduated to Standard and is now considered GA or Stable.
This feature's name for conformance tests and GatewayClass status reporting is GatewayInfrastructurePropagation
.
This feature's status is Extended, meaning that it is optional for implementations to support. If you're using Experimental Channel, you can refer to the supportedFeatures
field in the status
of any GatewayClass.
Relevant PRs:
The HTTPRoute Timeouts
field on Route Rules has graduated to Standard and is now considered GA or Stable.
This field allows you to configure overall Request Timeouts as well as Backend Request Timeouts. For more information, refer to GEP 1742.
The relevant feature names this for conformance tests and GatewayClass status reporting are:
HTTPRouteRequestTimeout
for httproute.spec.rules[].timeouts.request
HTTPRouteBackendTimeout
for httproute.spec.rules[].timeouts.backendRequest
This feature's status is Extended, meaning that it is optional for implementations to support. If you're using Experimental Channel, you can refer to the supportedFeatures
field in the status
of any GatewayClass.
Relevant PRs:
The previous coordinated work across both Gateway API and upstream Kubernetes which defined 3 new values for the AppProtocol field on Service Ports has graduated to Standard and is now considered GA or Stable.
The values are:
kubernetes.io/h2c
- HTTP/2 over cleartext as described in RFC7540kubernetes.io/ws
- WebSocket over cleartext as described in RFC6445kubernetes.io/wss
- WebSocket over TLS as described in RFC6455These can now be used with Gateway API to describe the protocol to use for connections to Kubernetes Services. For more information, refer to GEP 1911.
The relevant feature names this for conformance tests and GatewayClass status reporting are:
HTTPRouteBackendProtocolH2C
for H2C support, when service.spec.ports[].appProtocol
is kubernetes.io/h2c
.HTTPRouteBackendProtocolWebSocket
for Websocket support, when service.spec.ports[].appProtocol
is kubernetes.io/ws
orkubernetes.io/wss
.This feature's status is Extended, meaning that it is optional for implementations to support. If you're using Experimental Channel, you can refer to the supportedFeatures
field in the status
of any GatewayClass.
Relevant PRs:
The Experimental Channel is Gateway API's channel for testing out changes and gaining confidence with them before allowing them to go to Standard.
This channel may include features that are changed or removed later!
BREAKING CHANGEThe Experimental supportedFeatures
field in GatewayClass status
has changed from being a list of strings to being a list of objects/structs with a name
field.
This is to allow addding in extra information to each entry at a later date.
Relevant PRs:
GEP-1731 described how to add configuration of retries on HTTPRoute objects, and in this release, this change has moved to Experimental.
Please see the GEP reference document or the API reference for the details.
This feature has graduated to Experimental amd should now be used for testing and verification purposes only. Experimental features may be changed or removed in a future version.
This feature does not currently have a feature name defined.
This feature's status is Extended, meaning that it is optional for implementations to support.
As there is no feature name or conformance tests available for this feature as yet, please see your implementation's documentation to see if it is supported.
Relevant PRs:
retry
stanza within HTTPRouteRule to configure retrying unsuccessful requests to backends before sending a response to a client by @mikemorris in #3199The existing Request Mirroring feature has been enhanced by allowing users to specify a percentage of requests they'd like mirrored. These changes are described in GEP-3171.
Please see the GEP reference document or the API reference for the details.
This feature has graduated to Experimental amd should now be used for testing and verification purposes only. Experimental features may be changed or removed in a future version.
This feature does not currently have a feature name defined.
This feature's status is Extended, meaning that it is optional for implementations to support.
As there is no feature name or conformance tests available for this feature as yet, please see your implementation's documentation to see if it is supported.
Relevant PRs:
Some changes have been made to Gateway API's support for configuring TLS connections between the Gateway and backends.
Gateway has a new Experimental field that contains configuration for the client certificate Gateways should use when connecting to Backends.
The existing BackendTLSPolicy object has had additions as well:
See GEP-3155 for all the details.
This feature has graduated to Experimental amd should now be used for testing and verification purposes only. Experimental features may be changed or removed in a future version.
This feature does not currently have a feature name defined.
This feature's status is Extended, meaning that it is optional for implementations to support.
As there is no feature name or conformance tests available for this feature as yet, please see your implementation's documentation to see if it is supported.
Relevant PRs:
All Route Rule types (GRPCRouteRule, HTTPRouteRule, TCPRouteRule, TLSRouteRule and UDPRouteRule) have had a new, optional name
field to support referencing individual rules by name.
This name, if present, may be used in status
and logging to indicate which route rule is being referenced in messages in a more readable way than an array index.
This feature has graduated to Experimental amd should now be used for testing and verification purposes only. Experimental features may be changed or removed in a future version.
This feature does not currently have a feature name defined.
This feature's status is Extended, meaning that it is optional for implementations to support.
As there is no feature name or conformance tests available for this feature as yet, please see your implementation's documentation to see if it is supported.
Relevant PRs:
In this release timeframe, Gateway API has been working on building our contributor pool and promoting more contributors up our contributor ladder.
Congratulations to @mlavacca on being promoted into the core Gateway API maintainer team!
Thanks to @keithmattix for all your work as one of the GAMMA leads, and congratulations to @mikemorris on being promoted into the GAMMA lead team.
We've added two new GEP Reviewers: @kflynn and @arkodg
Also promoted in the conformance team:
Last but most certainly not least, @guicassolato has become a reviewer for gwctl
.
Congratulations to everyone on the promotions, and thanks for your continued contributions to the Gateway API community!
Relevant PRs:
gwctl
In this release, gwctl is moving to a separate repo: kubernetes-sigs/gwctl. This will enable a more flexible and independent release process. Significant new updates are coming to gwctl, follow the new repo for the latest updates on that
project.
Although these changes won't be part of Gateway API v1.2 and will instead be part of the separate gwctl release, we're noting them as they were merged while the project was part of this repo:
--for
flag) by @gauravkghildiyal in #3068gwctl describe httproute <NAME>
now includes more details by @gauravkghildiyal in #3181Print
in BackendsPrinter with PrintTable
by @deszhou inRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4