github kubernetes-sigs/gateway-api v0.7.0

latest releases: v1.1.1, v1.2.0, v1.2.0-rc2...
18 months ago

The v0.7.0 release focuses on refining and stabilizing existing APIs. This
included a focus on both conformance tests and clarifying ambiguous parts of the
API spec.

Features Graduating to Standard

In addition to those broad focuses, 2 features are graduating to the
standard channel:

GEPs

There are a lot of interesting GEPs in the pipeline right now, but only some of
these GEPs have made it to experimental status in time for v0.7.0. The GEPs
highlighted below are both in an experimental state and are either entirely new
(GEP-1748) or had significant new concepts introduced (GEP-713):

GEP-713: Policy Attachment

This GEP received a major update, splitting policy attachment into two
categories "Direct" and "Inherited". The new "Direct" mode enables a simplified
form of policy attachment for targeting a single resource (#1565, @youngnick).

GEP-1748: Gateway API Interaction with Multi-Cluster Services

A new GEP was introduced to define how Gateway API interacts with Multi-Cluster
Services. At a high level, this states that ServiceImports have "Extended"
support and can be used anywhere Services can throughout the API. There's a lot
more nuance here, so for the full details, refer to the GEP. (#1843, @robscott)

Other Changes by Kind

Status Changes

  • The "Ready" Gateway and Listener condition has been reserved for future use.
    (#1888, @howardjohn)
  • The UnsupportedAddress Listener condition reason has been moved to a Gateway
    condition reason. (#1888, @howardjohn)
  • The AddressNotAssigned Gateway condition reasons has moved from Accepted to
    Programmed. (#1888, @howardjohn)
  • The NoResources Gateway condition reasons has moved from Ready to Programmed.
    (#1888, @howardjohn)

Spec Cleanup

  • Clarification that port redirects should not add port number to Location
    header for HTTP and HTTPS requests on 80 and 443. (#1908, @robscott)
  • Port redirect when empty will depend on the configured Redirect scheme (#1880,
    @gauravkghildiyal)
  • Updated spec to clarify that Exact matches have precedence over Prefix matches
    and RegularExpression matches have implementation specific precedence. (#1855,
    @Xunzhuo)
  • The gateway-exists-finalizer.gateway.networking.k8s.io finalizer is no
    longer required and is now just recommended. (#1917, @howardjohn)

Validation Fixes

  • Removes GRPCRoute method match defaulting to allow for matching all requests,
    or matching only by header. (#1753, @skriss)
  • Update route validation to comply with RFC-3986 "p-char" characters. (#1644,
    @jackstine)
  • Illegal names like " " will be not allowed for query param name in
    HTTPQueryParamMatch. (#1796, @gyohuangxin)
  • Webhook: Port is now considered when validating that ParentRefs are unique
    (#1995, @howardjohn)

Conformance

  • No conformance tests run by default anymore, including tests for GatewayClass
    and Gateway. A new SupportGateway feature must be opted into in order to run
    those tests (similar to what we've done previously for ReferenceGrant and
    HTTPRoute). Also with this release, EnableAllSupportedFeatures enables all
    Gateway AND Mesh features (where previously that was just Gateway). (#1894,
    @shaneutt)
  • Gateways must publish the "Programmed" condition. (#1732, @robscott)
  • Add all-features flag to enable all supported feature conformance tests.
    (#1642, @gyohuangxin)
  • A new SkipTests field has been added to the conformance test options to
    opt-out of specific tests. (#1578, @mlavacca)
  • Added: conformance tests for http rewrite host and path filters. (#1622,
    @LiorLieberman)
  • In Conformance tests, when a Route references a gateway having no listener
    whose allowedRoutes criteria permit the route, the reason
    NotAllowedByListeners should be used for the accepted condition. (#1669,
    @mlavacca)
  • Support configurable timeout for GatewayObservedGenerationBump (#1887,
    @Xunzhuo)
  • The conformance test HTTPRouteInvalidCrossNamespaceParentRef now requires the
    HTTPRoute accepted condition to be failing with the ParentRefNotPermitted
    reason. (#1694, @mlavacca)
  • The conformance tests always check that the HTTPRoute ResolvedRefs condition
    is enforced, even when the status is true. (#1668, @mlavacca)
  • Checks for the NotAllowedByListeners reason on the HTTPRoute's Accepted: false
    condition in the HTTPRouteInvalidCrossNamespaceParentRef conformance test.
    (#1714, @skriss)
  • Added conformance test to verify that path matching precedence is
    implemented correctly. (#1855, @Xunzhuo)
  • Remove a test that only covered redirect status without any other changes.
    (#2007, @robscott)
  • Port redirect when empty will depend on the configured Redirect scheme (#1880,
    @gauravkghildiyal)
  • Fixes for mesh conformance tests (#2017, @keithmattix)

Documentation

  • Updated outdated content on list of resources in installation guide page.
    (#1857, @randmonkey)
  • Fix description of ReferenceGrant example in documentation by making it use
    the correct resources. (#1864, @matteoolivi)
  • Fix grammar mistake in ReferenceGrant implementation guidelines. (#1865,
    @matteoolivi)

Don't miss a new gateway-api release

NewReleases is sending notifications on new releases.