fix(deps): update module sigs.k8s.io/gateway-api to v1.3.0 #532
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.1.0
->v1.3.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
kubernetes-sigs/gateway-api (sigs.k8s.io/gateway-api)
v1.3.0
Compare Source
Changes since v1.3.0-rc.2
Changes since v1.2.1
Noteworthy Changes for Implementors
This section is intended to be a guide for API changes that might inspire or require implementation changes.
None of these API changes represent breaking changes.
OverlappingTLSConfig for Connection Coalescing
A new
OverlappingTLSConfig
condition has been added to Gateway Listeners to indicate situations whereConnection Coalescing could be problematic. The Gateway specification for handling Hostname and SNI matching for HTTPS
requests has been clarified and now recommends that implementations return 421 HTTP code responses in certain cases.
Move
BackendTLSPolicy
SubjectAltNames
from Core to ExtendedSubjectAltNames
field ofBackendTLSPolicy
changed from Core to Extended feature. (#3591,@mlavacca)The
backendRef
filter must send traffic to the correct backends when weighted routing is configuredbackendRef
filters don't affect weighted routing. (#3604,@dprotaso)Clarify reasons for certain object status conditions
parametersRef
Accepted
condition whenparametersRef
is invalid. (#3579,@mlavacca)GatewayClassReasonInvalidParameters
reason description. (#3553,@mlavacca)BackendTLSPolicy
BackendTLSPolicy
. (#3496,@snorwin)GRPCRoute
GRPCRoute
match limit from 8 -> 64 (#3601,@EyalPazz)Gateway.Spec.Addresses changes
A new type
GatewaySpecAddress
replacesGatewayAddress
. InGatewayAddress
theValue
field was required. InGatewaySpecAddress
theValue
field is optional. When theValue
is unspecified, if an implementation supports that,it SHOULD automatically assign an address. If an implementation does not support an empty
Value
, it MUST set theProgrammed
condition in status to false with a reason of "AddressNotAssigned". TheAddresses
field inGateway.Spec
has changed from type[]GatewayAddress
to[]GatewaySpecAddress
.value
field inGateway.Spec.Addresses
array optional (#3616,@EyalPazz)Standard Channel Additions and Changes
The 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.
Percentage-Based Request Mirroring 🎉
This feature enhances the existing request mirroring feature
by allowing users to specify a percentage of requests to be mirrored in both
HTTPRoute
and
GRPCRoute
objects.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
HTTPRouteRequestPercentageMirror
.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 thestatus
of any GatewayClass.Relevant PRs:
Experimental Channel Additions and Changes
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!
New experimental resources now start with "X"
This release introduces 2 new experimental resources:
Both of these resources are described in more detail below. As you may notice,
these resource names start with
X
and are part of an effort to distinguishexperimental channel resources from standard channel resources.
In addition to the separate names, these resources are also part of the
x-k8s.io
API group instead ofk8s.io
, as a further effort to signal theexperimental nature of these resources.
In practice this means two things:
the standard channel names and API Group (both lacking the "x" prefix)
For more context on this change, refer to the related discussion.
CORS (Cross Origin Resource Sharing) Filter
GEP-1767 describes how to add
configuration of CORS filters 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 and 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 testing available for this feature
yet, please check your implementation's documentation to see if it is supported.
Relevant PRs:
HTTPRoute
(#3637,@robscott)HTTPRouteFilter.CORS.AllowCredentials
to expect a boolean and not a string (#3656,@EyalPazz)HTTPRouteFilterType
(#3668,@EyalPazz)XListenerSets (Standard Mechanism to Merge Gateways)
GEP-1713 defines a new mechanism to merge listeners into a single
Gateway, and in this release, this change has moved to Experimental. Following a new naming convention, an
experimental object name is prefaced with an X, thus
ListenerSet
has changed toXListenerSet
.The object group name has changed from
gateway.networking.k8s.io
togateway.networking.x-k8s.io
.Please see the GEP reference document or the API reference for the details.
This feature has graduated to Experimental and 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 testing available for this feature
yet, please check your implementation's documentation to see if it is supported.
Relevant PRs:
ListenerSet
s across namespaces (#3632,@dprotaso)ListenerSet
API & Generate Clients (in the group gateway.networking.k8s-x.io) (#3588,@dprotaso)ListenerSet
has been renamed toXListenerSet
. The ResourceBackendTrafficPolicy
has been renamed toXBackendTrafficPolicy
. (#3682,@mlavacca)XBackendTrafficPolicy (Retry Budgets)
GEP-3388
specifies the configuration of a "retry budget" across all endpoints of a destination service in order to prevent
additional client-side retries after reaching a configured threshold. The budget can be configured using a maximum
percentage of active requests, or an interval during which requests will be considered. In this release, this change has
moved to Experimental. Following a new naming convention, an experimental object name is prefaced with an X, thus
BackendTrafficPolicy
has changed toXBackendTrafficPolicy
. The object group name has changed fromgateway.networking.k8s.io
togateway.networking.x-k8s.io
.Please see the GEP reference document or the API reference for the details.
This feature has graduated to Experimental and 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 testing available for this feature
yet, please check your implementation's documentation to see if it is supported.
Relevant PRs:
BackendTrafficPolicy
with ability to configure budgeted retries (#3607,@ericdbishop)ListenerSet
has been renamed toXListenerSet
. The ResourceBackendTrafficPolicy
has been renamed toXBackendTrafficPolicy
. (#3682,@mlavacca)budgetPercent
andbudgetInterval
tobudget.percent
and
budget.interval
respectively. (#3695,@youngnick)BackendLBPolicy has been replaced by XBackendTrafficPolicy
In the interest of combining similar concepts in a single policy, we've decided
to merge the contents of BackendLBPolicy (session persistence) into
XBackendTrafficPolicy (retry budgets).
GEPs
Documentation
InvalidParameters
reason SHOULD be used with theAccepted
condition in case the object referenced does not exist, is of an unsupported kind, or is malformed. (#3579,@mlavacca)sessionPersistence.cookieConfig.lifetimeType
(#3540,@arkodg)(#3657,@blake),
(#3400,@jsoref),
(#3626,@zirain),
(#3565,@Vaniog),
(#3485,@fatsheep9146)
LocalObjectReference
(empty string infers core API group) (#3597,@EyalPazz)Cleanup
Bug or Regression
HTTPCORSFilter.AllowMethods
(#3667,@EyalPazz)
Dependencies
Added
Changed
fe59bbe
→8a7402a
04be3eb
→104605a
b8732ec
→ef43131
ddb44da
→5f5ef82
ddb44da
→1a7da9e
51d4e06
→2b36238
k8s.io/kube-openapi:
8948a66
→32ad38e
18e509b
→3ea5e8c
bc3834c
→9aa6b5e
Removed
9cce18d
v1.2.1
Compare Source
This is a patch release that fixes the backward incompatibility with the
SupportedFeatures
feature breaking change introduced in v1.2.0.Bug Fixes
v1.2.0
introduced a breaking change in theSupportedFeatures
field of theGatewayClass
API. That broke already existingGatewayClass
es using the previous version of the feature. The fix to introduce backward compatibility is in (#3454, @LiorLieberman).v1.2.0
Compare Source
On behalf of Kubernetes SIG Network, we are excited to announce the release of v1.2!
This release includes the graduation of 3 features to the standard channel and the introduction of 4 new features to the experimental channel, along with several improvements in many project areas.
Breaking Changes
GRPCRoute
andReferenceGrant
v1alpha2
removalAs per a previous deprecation notice, in this version, both Experimental
and Standard channel CRDs will no longer serve the
v1alpha2
versionsof
GRPCRoute
andReferenceGrant
.#3361
Upgrades
Before upgrading to Gateway API v1.2, you'll want to confirm that any
implementations of Gateway API have been upgraded to support the
v1
APIversion of these resources instead of the
v1alpha2
API version. Note thateven if you've been using
v1
in your YAML manifests, a controller may still beusing
v1alpha2
which would cause it to fail during this upgrade.Once you've confirmed that the implementations you're relying on have upgraded
to v1, it's time to install the v1.2 CRDs. In most cases, this will work without
any additional effort.
If you ran into issues installing these CRDs, it likely means that you have
v1alpha2
in thestoredVersions
of one or both of these CRDs. This field isused to indicate which API versions have ever been used to persist one of these
resources. Unfortunately, this field is not automatically pruned. To check these
values, you can run the following commands:
If either of these return a list that includes "v1alpha2", it means that we need
to manually remove that version from
storedVersions
.Before doing that, it would be good to ensure that all your ReferenceGrants and
GRPCRoutes have been updated to the latest storage version:
Now that all your ReferenceGrant and GRPCRoute resources have been updated to
use the latest storage version, you can patch the ReferenceGrant and GRPCRoute
CRDs:
With these steps complete, upgrading to the latest GRPCRoute and ReferenceGrant
should work well now.
Experimental Channel: GatewayClass Supported Features
The Experimental
supportedFeatures
field in GatewayClassstatus
has changedfrom being a list of strings to being a list of objects/structs with a
name
field.
This is to allow adding in extra information to each entry at a later date.
Relevant PRs:
objects by @LiorLieberman in
#3200
Changes since v1.2.0-rc2
There was one small change since RC2 - the Gateway Infrastructure conformance
test has been marked as provisional as we're not sure that the same-namespace
requirement imposed by this test is necessary. #3373
Release Cycle changes
This 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:
of features we want to include in the release. A key deliverable here is
ensuring that the Experimental channel does not get any bigger than it already
is; we want to ensure that features make their way to Standard or are removed.
solidify and meet graduation criteria for in-scope GEPs.
changes from GEPs into changes to both the API specification and
documentation.
required upstream reviews, get any further required changes in, and release
our release candidates so that implementations can get started with work on
the new features asap.
For all the detail about this, please see the Release Cycle
docs.
Relevant PRs:
#3063
Standard Channel Additions and Changes
The 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 carryinfrastructure configuration specific to that Gateway object.
GEP-1762 adds a section for
labels
andannotations
to this stanza that specifies labels and annotationsto 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 thestatus
of any GatewayClass.Relevant PRs:
#3272
@snorwin in #3284
HTTPRoute Timeouts and Durations 🎉
The HTTPRoute
Timeouts
field on Route Rules has graduated to Standard and isnow 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
forhttproute.spec.rules[].timeouts.request
HTTPRouteBackendTimeout
forhttproute.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 thestatus
of any GatewayClass.Relevant PRs:
#3210
#3271
BackendProtocol Support 🎉
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 inRFC7540
kubernetes.io/ws
- WebSocket over cleartext as described inRFC6445
kubernetes.io/wss
- WebSocket over TLS as described inRFC6455
These 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, whenservice.spec.ports[].appProtocol
iskubernetes.io/h2c
.HTTPRouteBackendProtocolWebSocket
for Websocket support, whenservice.spec.ports[].appProtocol
iskubernetes.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 thestatus
of any GatewayClass.Relevant PRs:
HTTPRoute Extended Conformance by @dprotaso in
#3108
Other Standard channel changes
#3205
GatewayClassConditionReason "InvalidParameters" should be preferred by
@mikemorris in
#3048
have any healthy endpoints by @dprotaso in
#3121
#2263
#3166
@gauravkghildiyal in
#3195
#3185
Experimental Channel Additions and Changes
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!
HTTPRoute Retry support
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:
#3301
retry
stanza within HTTPRouteRule to configure retrying unsuccessfulrequests to backends before sending a response to a client by @mikemorris in
#3199
Percentage-based request mirroring
The 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:
#3178
#3283
#3302
Improvements to backend TLS configuration
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:
#3180
#3304
Named Route Rules
All Route Rule types (GRPCRouteRule, HTTPRouteRule, TCPRouteRule, TLSRouteRule
and UDPRouteRule) have had a new, optional
name
field to support referencingindividual rules by name.
This name, if present, may be used in
status
and logging to indicate whichroute 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:
#2985
3299
Other specification changes
#3127
#3186
#3192
#3218
@sanposhiho in
#3215
#3227
by @mlavacca in
#3153
#3252
in #3257
#3073
#3083
Leadership changes
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:
in #3109
#3231
#3253
#3254
#3255
#3296
#3303
Testing
Name. The API Channel has been set as a field for such a struct in
#3287
#3095
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:
InheritedPolicies by @gauravkghildiyal in
#3198
(using the
--for
flag) by @gauravkghildiyal in#3068
#3051
gwctl describe httproute <NAME>
now includes more details by@gauravkghildiyal in
#3181
Print
inBackendsPrinter with
PrintTable
by @deszhou in#3129
methods of other resources @deszhou in
#3076
#3136
#3145
Documentation Changes
#3066
#3067
#3085
#3084
#3113
in #3114
#3107
#3105
#3135
#3126
#3163
#3202
#3236
#3238
#3240
#3179
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.