<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>gateway api</title>
    <link>/</link>
    <description>Recent content on gateway api</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>BackendTLSPolicy</title>
      <link>/reference/api-types/policy/backendtlspolicy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/policy/backendtlspolicy/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.4.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;BackendTLSPolicy&lt;/code&gt; resource is GA and has been part of the Standard&#xA;Channel since &lt;code&gt;v1.4.0&lt;/code&gt;. For more information on release channels, refer&#xA;to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#backendtlspolicy&#34;&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration&#xA;of the connection from the Gateway to a backend pod(s) via the Service API object.&lt;/p&gt;&#xA;&lt;p&gt;Implementations may also decide to support the usage of &lt;code&gt;BackendTLSPolicy&lt;/code&gt; for specifying the TLS configuration&#xA;of the connection from the Gateway to services not connected via HTTPRoute, and any&#xA;other kind of backend like &lt;a href=&#34;https://gateway-api-inference-extension.sigs.k8s.io/reference/spec/#inferencepool&#34;&gt;InferencePool&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Get Involved</title>
      <link>/contributing/get-involved/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contributing/get-involved/</guid>
      <description>&lt;p&gt;This page contains links to all of the meeting notes, design docs and related&#xA;discussions around the APIs. If you&amp;rsquo;re interested in working towards a formal&#xA;role in the project, refer to the &lt;a href=&#34;/contributing/contributor-ladder/&#34;&gt;Contributor&#xA;Ladder&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;feedback-and-questions&#34;&gt;Feedback and Questions&lt;/h2&gt;&#xA;&lt;p&gt;For general feedback, questions or to share ideas please feel free to &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/discussions/new&#34;&gt;create a&#xA;new discussion&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;bug-reports&#34;&gt;Bug Reports&lt;/h2&gt;&#xA;&lt;p&gt;Bug reports should be filed as &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/new/choose&#34;&gt;GitHub Issues&lt;/a&gt; on this repo.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: If you&amp;rsquo;re reporting a bug that applies to a specific implementation of&#xA;Gateway API and not the API specification itself, please check our&#xA;&lt;a href=&#34;/docs/implementations/list/&#34;&gt;implementations page&lt;/a&gt; to find links to the repositories where&#xA;you can get help with your specific implementation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementations</title>
      <link>/docs/implementations/list/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/list/</guid>
      <description>&lt;p&gt;This document tracks downstream implementations and integrations of Gateway API&#xA;and provides status and resource references for them.&lt;/p&gt;&#xA;&lt;p&gt;Implementors and integrators of Gateway API are encouraged to update this&#xA;document with status information about their implementations, the versions they&#xA;cover, and documentation to help users get started. This status information should&#xA;be no longer than a few paragraphs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;conformance-levels&#34;&gt;Conformance levels&lt;/h2&gt;&#xA;&lt;p&gt;There are three levels of Gateway API conformance:&lt;/p&gt;&#xA;&lt;h3 id=&#34;conformant-implementations&#34;&gt;Conformant implementations&lt;/h3&gt;&#xA;&lt;p&gt;These implementations have submitted at least one conformance report that has passes for:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gateway API for Service Mesh</title>
      <link>/docs/mesh/mesh-overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/mesh/mesh-overview/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.1.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;a href=&#34;/docs/mesh/gamma/&#34;&gt;GAMMA initiative&lt;/a&gt; work for supporting service mesh use&#xA;cases has been part of the Standard Channel since v1.1.0 and is considered&#xA;GA. For more information refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;The &amp;ldquo;&lt;a href=&#34;/docs/mesh/gamma/&#34;&gt;GAMMA initiative&lt;/a&gt;&amp;rdquo; refers to the group that is defining how&#xA;Gateway API can be used for Service Mesh. To date, this group has been able to&#xA;define service mesh support in the Gateway API with relatively small changes.&#xA;The most significant change that GAMMA has introduced to date is that, when&#xA;configuring a service mesh, individual route resources (such as &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute&lt;/a&gt;) are&#xA;&lt;a href=&#34;/docs/mesh/mesh-overview/#gateway-api-for-mesh&#34;&gt;associated directly with Service resources&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gateway Enhancement Proposal (GEP)</title>
      <link>/geps/overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/overview/</guid>
      <description>&lt;p&gt;Gateway Enhancement Proposals (GEPs) serve a similar purpose to the &lt;a href=&#34;https://github.com/kubernetes/enhancements&#34;&gt;KEP&lt;/a&gt;&#xA;process for the main Kubernetes project:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Ensure that changes to the API follow a known process and discussion&#xA;in the OSS community.&lt;/li&gt;&#xA;&lt;li&gt;Make changes and proposals discoverable (current and future).&lt;/li&gt;&#xA;&lt;li&gt;Document design ideas, tradeoffs, decisions that were made for&#xA;historical reference.&lt;/li&gt;&#xA;&lt;li&gt;Record the results of larger community discussions.&lt;/li&gt;&#xA;&lt;li&gt;Record changes to the GEP process itself.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;process&#34;&gt;Process&lt;/h2&gt;&#xA;&lt;p&gt;This diagram shows the state diagram of the GEP process at a high level, but the details are below.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Standard</title>
      <link>/geps/by-state/standard/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/by-state/standard/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-91/&#34;&gt;GEP-91: Client Certificate Validation for TLS terminating at the Gateway Listener&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-709/&#34;&gt;GEP-709: Cross Namespace References from Routes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-718/&#34;&gt;GEP-718: Rework forwardTo segment in routes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-724/&#34;&gt;GEP-724: Refresh Route-Gateway Binding&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-726/&#34;&gt;GEP-726: Add Path Redirects and Rewrites&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-746/&#34;&gt;GEP-746: Replace Cert Refs on HTTPRoute with Cross Namespace Refs from Gateway&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-820/&#34;&gt;GEP-820: Drop extension points from Route matches&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-851/&#34;&gt;GEP-851: Allow Multiple Certificate Refs per Gateway Listener&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-957/&#34;&gt;GEP-957: Destination Port Matching&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-995/&#34;&gt;GEP-995: Named route rules&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1016/&#34;&gt;GEP-1016: GRPCRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1294/&#34;&gt;GEP-1294: xRoutes Mesh Binding&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1323/&#34;&gt;GEP-1323: Response Header Filter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1364/&#34;&gt;GEP-1364: Status and Conditions Update&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1686/&#34;&gt;GEP-1686: Mesh conformance testing plan&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1709/&#34;&gt;GEP-1709: Conformance Profiles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1713/&#34;&gt;GEP-1713: ListenerSets (Standard Mechanism to Merge Gateways)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1742/&#34;&gt;GEP-1742: HTTPRoute Timeouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1762/&#34;&gt;GEP-1762: In Cluster Gateway Deployments&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1767/&#34;&gt;GEP-1767: CORS Filter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1867/&#34;&gt;GEP-1867: Per-Gateway Infrastructure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1897/&#34;&gt;GEP-1897: BackendTLSPolicy - Explicit Backend TLS Connection Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1911/&#34;&gt;GEP-1911: Backend Protocol Selection&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-2162/&#34;&gt;GEP-2162: Supported features in GatewayClass Status&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-2257/&#34;&gt;GEP-2257: Gateway API Duration Format&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-2643/&#34;&gt;GEP-2643: TLS based passthrough Route / TLSRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3155/&#34;&gt;GEP-3155: Complete Backend mutual TLS Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3171/&#34;&gt;GEP-3171: Percentage-based Request Mirroring&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3567/&#34;&gt;GEP-3567: Gateway TLS Updates for HTTP/2 Connection Coalescing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>BackendTrafficPolicy</title>
      <link>/reference/api-types/policy/backendtrafficpolicy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/policy/backendtrafficpolicy/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Experimental Channel since v1.3.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource is a part of the Experimental Channel&#xA;since &lt;code&gt;v1.3.0&lt;/code&gt;. For more information on release channels, refer to our&#xA;&lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;a href=&#34;/reference/api-spec/main/specx/#xbackendtrafficpolicy&#34;&gt;BackendTrafficPolicy&lt;/a&gt; is a Gateway API type to configure&#xA;the behavior of clients when targeting a valid backend resource.&lt;/p&gt;&#xA;&lt;h2 id=&#34;background&#34;&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is used to configure the behavior of clients when making&#xA;requests targeting a backend, a grouping of like endpoints. Currently, this&#xA;policy includes the ability to configure a &lt;code&gt;RetryConstraint&lt;/code&gt;, which can&#xA;dynamically limit the number of active retries targeting the specified backend,&#xA;by defining a &amp;ldquo;retry budget&amp;rdquo;. Additional features may be added in the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Guide</title>
      <link>/contributing/devguide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contributing/devguide/</guid>
      <description>&lt;h2 id=&#34;project-management&#34;&gt;Project Management&lt;/h2&gt;&#xA;&lt;p&gt;We are using the GitHub issues and project dashboard to manage the list of TODOs&#xA;for this project:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues&#34;&gt;Open issues&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/projects&#34;&gt;Project dashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Issues labeled &lt;code&gt;good first issue&lt;/code&gt; and &lt;code&gt;help wanted&lt;/code&gt; are especially good for a&#xA;first contribution.&lt;/p&gt;&#xA;&lt;p&gt;We use &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/milestones&#34;&gt;milestones&lt;/a&gt; to track our progress towards releases.&#xA;These milestones are generally labeled according to the &lt;a href=&#34;https://semver.org/&#34;&gt;semver&lt;/a&gt;&#xA;release version tag that they represent, meaning that in general we only focus&#xA;on the next release in the sequence until it is closed and the release is&#xA;finished. Only Gateway API maintainers are able to create and attach issues to&#xA;milestones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The GAMMA Initiative (Gateway API for Service Mesh)</title>
      <link>/docs/mesh/gamma/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/mesh/gamma/</guid>
      <description>&lt;p&gt;Gateway API was originally designed to manage traffic from clients outside the&#xA;cluster to services inside the cluster &amp;ndash; the &lt;em&gt;ingress&lt;/em&gt; or&#xA;&lt;a href=&#34;/docs/glossary/#northsouth-traffic&#34;&gt;&lt;em&gt;north/south&lt;/em&gt;&lt;/a&gt; case. Over time, though, interest from&#xA;&lt;a href=&#34;/docs/glossary/#service-mesh&#34;&gt;service mesh&lt;/a&gt; users prompted the creation of the GAMMA (&lt;strong&gt;G&lt;/strong&gt;ateway &lt;strong&gt;A&lt;/strong&gt;PI for&#xA;&lt;strong&gt;M&lt;/strong&gt;esh &lt;strong&gt;M&lt;/strong&gt;anagement and &lt;strong&gt;A&lt;/strong&gt;dministration) initiative in 2022 to define how&#xA;Gateway API could also be used for inter-service or &lt;a href=&#34;/docs/glossary/#eastwest-traffic&#34;&gt;&lt;em&gt;east/west&lt;/em&gt;&#xA;traffic&lt;/a&gt; within the same cluster.&lt;/p&gt;&#xA;&lt;p&gt;The GAMMA initiative is a dedicated workstream within the Gateway API&#xA;subproject, shepherded by the &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/blob/main/OWNERS_ALIASES#L23&#34;&gt;GAMMA leads&lt;/a&gt;, rather than being a separate&#xA;subproject. GAMMA’s goal is to define how Gateway API can be used to configure&#xA;a service mesh, with the intention of making minimal changes to Gateway API and&#xA;always preserving the &lt;a href=&#34;/docs/concepts/roles-and-personas/&#34;&gt;role-oriented&lt;/a&gt; nature of Gateway API. Additionally, we&#xA;strive to advocate for consistency between implementations of Gateway API by&#xA;service mesh projects, regardless of their technology stack or proxy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gateway</title>
      <link>/reference/api-types/gateway/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/gateway/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v0.5.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;Gateway&lt;/code&gt; resource is GA and has been part of the Standard Channel since&#xA;&lt;code&gt;v0.5.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.&#xA;When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is&#xA;provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;&#xA;controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other&#xA;resources in this API are configuration snippets until a Gateway has been&#xA;created to link the resources together.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP routing</title>
      <link>/guides/user-guides/http-routing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-routing/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; allows you to match on HTTP traffic and&#xA;direct it to Kubernetes backends. This guide shows how the HTTPRoute matches&#xA;traffic on host, header, and path fields and forwards it to different&#xA;Kubernetes Services.&lt;/p&gt;&#xA;&lt;p&gt;The following diagram describes a required traffic flow across three different&#xA;Services:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Traffic to &lt;code&gt;foo.example.com/login&lt;/code&gt; is forwarded to &lt;code&gt;foo-svc&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Traffic to &lt;code&gt;bar.example.com/*&lt;/code&gt; with a &lt;code&gt;env: canary&lt;/code&gt; header is forwarded&#xA;to &lt;code&gt;bar-svc-canary&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Traffic to &lt;code&gt;bar.example.com/*&lt;/code&gt; without the header is forwarded to &lt;code&gt;bar-svc&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/images/http-routing.png&#34; alt=&#34;HTTP Routing&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting started with Gateway API</title>
      <link>/guides/getting-started/introduction/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/getting-started/introduction/</guid>
      <description>&lt;p&gt;Welcome to the Gateway API! This page is the best place to start, whether you&amp;rsquo;re a new user or migrating from another ingress solution.&lt;/p&gt;&#xA;&lt;h2 id=&#34;for-new-users&#34;&gt;For New Users&lt;/h2&gt;&#xA;&lt;p&gt;If you are new to Gateway API, we recommend the following path:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;1. Install Gateway API CRDs and a Controller&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can either &lt;a href=&#34;/guides/getting-started/introduction/#installing-a-gateway-controller&#34;&gt;install a Gateway controller&lt;/a&gt; which often installs the CRDs for you, or &lt;a href=&#34;/guides/getting-started/introduction/#installing-gateway-api&#34;&gt;install the Gateway API CRDs manually&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;2. Try out the guides&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Memorandum</title>
      <link>/geps/by-state/memorandum/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/by-state/memorandum/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-713/&#34;&gt;GEP-713: Metaresources and Policy Attachment&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-917/&#34;&gt;GEP-917: Gateway API Conformance Testing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-922/&#34;&gt;GEP-922: Gateway API Versioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1324/&#34;&gt;GEP-1324: Service Mesh in Gateway API&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-2722/&#34;&gt;GEP-2722: Goals and UX for gwctl&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-2907/&#34;&gt;GEP-2907: TLS Configuration Placement and Terminology&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Deploying a simple Gateway</title>
      <link>/guides/getting-started/simple-gateway/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/getting-started/simple-gateway/</guid>
      <description>&lt;p&gt;This guide is a great place to start if you are new to Gateway API. It shows the simplest possible deployment: a Gateway and Route resource deployed together by the same owner. This represents a similar kind of model used for Ingress. In this guide, a Gateway and HTTPRoute are deployed which match all HTTP traffic and directs it to a single Service named &lt;code&gt;foo-svc&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/images/single-service-gateway.png&#34; alt=&#34;Simple Gateway&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;apiVersion&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;gateway.networking.k8s.io/v1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;kind&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Gateway&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;metadata&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;prod-web&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;spec&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;gatewayClassName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;example&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;listeners&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;protocol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;HTTP&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;prod-web-gw&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;allowedRoutes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;namespaces&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;from&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Same&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Gateway represents the instantiation of a logical load balancer and the&#xA;GatewayClass defines the load balancer template when users create a Gateway.&#xA;The example Gateway is templated from a hypothetical &lt;code&gt;example&lt;/code&gt;&#xA;GatewayClass, which is meant to be a placeholder and substituted by users. Here&#xA;is a list of available&#xA;&lt;a href=&#34;/docs/implementations/list/&#34;&gt;Gateway Implementation&lt;/a&gt; that&#xA;can be used to determine the correct GatewayClass based on the specific&#xA;infrastructure provider.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Documentation Style Guide</title>
      <link>/contributing/style-guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contributing/style-guide/</guid>
      <description>&lt;p&gt;Gateway API aims to adhere to the upstream &lt;a href=&#34;https://kubernetes.io/docs/contribute/style/style-guide/&#34;&gt;Kubernetes Documentation Style&#xA;Guide&lt;/a&gt; wherever&#xA;possible. This guide should be considered an extension of that guide. Whenever&#xA;there is conflicting guidance, the information contained in this guide has&#xA;precedence for Gateway API documentation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;name-of-the-project&#34;&gt;Name of the Project&lt;/h2&gt;&#xA;&lt;p&gt;This project is named &amp;ldquo;Gateway API&amp;rdquo;, not &amp;ldquo;the Gateway API&amp;rdquo;. As such, the only&#xA;time it is acceptable to use &amp;ldquo;the Gateway API&amp;rdquo; is when it is part of a broader&#xA;term, such as &amp;ldquo;the Gateway API maintainers&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Experimental</title>
      <link>/geps/by-state/experimental/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/by-state/experimental/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1494/&#34;&gt;GEP-1494: HTTP Auth in Gateway API&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1619/&#34;&gt;GEP-1619: Session Persistence&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1731/&#34;&gt;GEP-1731: HTTPRoute Retries&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1748/&#34;&gt;GEP-1748: Gateway API Interaction with Multi-Cluster Services&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3388/&#34;&gt;GEP-3388: Retry Budgets&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>GatewayClass</title>
      <link>/reference/api-types/gatewayclass/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/gatewayclass/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v0.5.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;GatewayClass&lt;/code&gt; resource is GA and has been part of the Standard Channel since&#xA;&lt;code&gt;v0.5.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#gatewayclass&#34;&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the&#xA;infrastructure provider. This resource represents a class of Gateways that can&#xA;be instantiated.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Note: GatewayClass serves the same function as the&#xA;&lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class&#34;&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;kind&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;GatewayClass&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;metadata&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;cluster-gateway&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;spec&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;controllerName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We expect that one or more &lt;code&gt;GatewayClasses&lt;/code&gt; will be created by the&#xA;infrastructure provider for the user. It allows decoupling of which mechanism&#xA;(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an&#xA;infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and&#xA;&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal&#xA;applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP path redirects and rewrites</title>
      <link>/guides/user-guides/http-redirect-rewrite/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-redirect-rewrite/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resources&lt;/a&gt; can issue redirects to&#xA;clients or rewrite paths sent upstream using&#xA;&lt;a href=&#34;/reference/api-types/httproute/#filters-optional&#34;&gt;filters&lt;/a&gt;. This guide shows how&#xA;to use these features.&lt;/p&gt;&#xA;&lt;p&gt;Note that redirect and rewrite filters are mutually incompatible. Rules cannot&#xA;use both filter types at once.&lt;/p&gt;&#xA;&lt;h2 id=&#34;redirects&#34;&gt;Redirects&lt;/h2&gt;&#xA;&lt;p&gt;Redirects return HTTP 3XX responses to a client, instructing it to retrieve a&#xA;different resource. &lt;a href=&#34;/reference/api-spec/main/spec/#httprequestredirectfilter&#34;&gt;&lt;code&gt;RequestRedirect&lt;/code&gt; rule&#xA;filters&lt;/a&gt;&#xA;instruct Gateways to emit a redirect response to requests matching a filtered&#xA;HTTPRoute rule.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Different Facets of a Service</title>
      <link>/docs/mesh/service-facets/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/mesh/service-facets/</guid>
      <description>&lt;p&gt;The Kubernetes &lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/service/&#34;&gt;Service&lt;/a&gt; resource is considerably more complex than people&#xA;often realize. When you create a Service, typically the cluster machinery will:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Allocate a cluster-wide IP address for the Service itself (its &lt;em&gt;cluster IP&lt;/em&gt;);&lt;/li&gt;&#xA;&lt;li&gt;Allocate a DNS name for the Service, resolving to the cluster IP (its &lt;em&gt;DNS name&lt;/em&gt;);&lt;/li&gt;&#xA;&lt;li&gt;Collect the separate cluster-wide IP addresses assigned to each Pod matched&#xA;by the Service&amp;rsquo;s selector (the &lt;em&gt;endpoint IPs&lt;/em&gt;) into the Service&amp;rsquo;s Endpoints&#xA;or EndpointSlices.&lt;/li&gt;&#xA;&lt;li&gt;Configure the network such that traffic to the cluster IP will be&#xA;load-balanced across all the endpoint IPs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Unfortunately, these implementation details become very important when&#xA;considering how Gateway API can work for service meshes!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enhancement Requests</title>
      <link>/contributing/enhancement-requests/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contributing/enhancement-requests/</guid>
      <description>&lt;p&gt;Inspired by &lt;a href=&#34;https://github.com/kubernetes/enhancements&#34;&gt;Kubernetes enhancements&lt;/a&gt;, Gateway API provides a process for&#xA;introducing new functionality or considerable changes to the project. The&#xA;enhancement process will evolve over time as the project matures.&lt;/p&gt;&#xA;&lt;p&gt;Enhancements provides the basis of a community roadmap. Enhancements may be&#xA;filed by anyone, but require approval from a maintainer to accept the&#xA;enhancement into the project.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-considered-an-enhancement&#34;&gt;What is Considered an Enhancement?&lt;/h2&gt;&#xA;&lt;p&gt;An enhancement is generally anything that:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Introduces changes to an API.&lt;/li&gt;&#xA;&lt;li&gt;Needs significant effort to implement.&lt;/li&gt;&#xA;&lt;li&gt;Requires documentation to utilize.&lt;/li&gt;&#xA;&lt;li&gt;Impacts how a system is operated including addition or removal of significant&#xA;capabilities.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It is unlikely to require an enhancement if it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>GRPCRoute</title>
      <link>/reference/api-types/grpcroute/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/grpcroute/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.1.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;GRPCRoute&lt;/code&gt; resource is GA and has been part of the Standard Channel since&#xA;&lt;code&gt;v1.1.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#grpcroute&#34;&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior&#xA;of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;&#xA;&lt;h2 id=&#34;background&#34;&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree&#xA;CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP Header Modifiers</title>
      <link>/guides/user-guides/http-header-modifier/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-header-modifier/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resources&lt;/a&gt; can modify the headers of HTTP requests and the HTTP responses from clients.&#xA;There are two types of &lt;a href=&#34;/reference/api-types/httproute/#filters-optional&#34;&gt;filters&lt;/a&gt; available to meet these requirements: &lt;code&gt;RequestHeaderModifier&lt;/code&gt; and &lt;code&gt;ResponseHeaderModifier&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This guide shows how to use these features.&lt;/p&gt;&#xA;&lt;p&gt;Note that these features are compatible. HTTP headers of the incoming requests and the headers of their responses can both be modified using a single &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;http-request-header-modifier&#34;&gt;HTTP Request Header Modifier&lt;/h2&gt;&#xA;&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: HTTPRouteBackendRequestHeaderModification&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;HTTP header modification is the process of adding, removing, or modifying HTTP headers in incoming requests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementable</title>
      <link>/geps/by-state/implementable/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/by-state/implementable/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3779/&#34;&gt;GEP-3779: Identity Based Authz for east-west traffic&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3793/&#34;&gt;GEP-3793: Default Gateways&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3949/&#34;&gt;GEP-3949: Mesh Resource&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Migrating from Ingress</title>
      <link>/guides/getting-started/migrating-from-ingress/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/getting-started/migrating-from-ingress/</guid>
      <description>&lt;p&gt;Gateway API is the successor to the &lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/ingress/&#34;&gt;Ingress API&lt;/a&gt;. This guide provides a general overview for migrating from any Ingress implementation to Gateway API. It focuses on the core concepts, differences, and feature mappings between Ingress and Gateway API, and provides a manual conversion example.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Are you an Ingress-NGINX user?&lt;/h4&gt;&#xA;&lt;p&gt;If you are specifically using Ingress-NGINX, we recommend also checking out the &lt;a href=&#34;/guides/getting-started/migrating-from-ingress-nginx/&#34;&gt;Ingress-NGINX Migration Guide&lt;/a&gt; for more tailored advice and resources.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP traffic splitting</title>
      <link>/guides/user-guides/traffic-splitting/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/traffic-splitting/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; allows you to specify&#xA;weights to shift traffic between different backends. This is useful for&#xA;splitting traffic during rollouts, canarying changes, or for emergencies.&#xA;The HTTPRoute&lt;code&gt;spec.rules.backendRefs&lt;/code&gt; accepts a list of backends that a route&#xA;rule will send traffic to. The relative weights of these backends define&#xA;the split of traffic between them. The following YAML snippet shows how two&#xA;Services are listed as backends for a single route rule. This route rule&#xA;will split traffic 90% to &lt;code&gt;foo-v1&lt;/code&gt; and 10% to &lt;code&gt;foo-v2&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTPRoute</title>
      <link>/reference/api-types/httproute/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/httproute/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v0.5.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;HTTPRoute&lt;/code&gt; resource is GA and has been part of the Standard Channel since&#xA;&lt;code&gt;v0.5.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#httproute&#34;&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior&#xA;of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;&#xA;&lt;h2 id=&#34;spec&#34;&gt;Spec&lt;/h2&gt;&#xA;&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#parentreference&#34;&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached&#xA;to.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#hostname&#34;&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for&#xA;matching the Host header of HTTP requests.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#httprouterule&#34;&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against&#xA;matching HTTP requests. Each rule consists of &lt;a href=&#34;/reference/api-spec/main/spec/#httproutematch&#34;&gt;matches&lt;/a&gt;,&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#httproutefilter&#34;&gt;filters&lt;/a&gt; (optional), &lt;a href=&#34;/reference/api-spec/main/spec/#httpbackendref&#34;&gt;backendRefs&lt;/a&gt; (optional),&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#httproutetimeouts&#34;&gt;timeouts&lt;/a&gt; (optional), and &lt;a href=&#34;/reference/api-spec/main/spec/#sectionname&#34;&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:&#xA;&lt;img src=&#34;/images/httproute-basic-example.svg&#34; alt=&#34;httproute-basic-example&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Controller Matching Wizard</title>
      <link>/docs/implementations/wizard/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/wizard/</guid>
      <description>&lt;div id=&#34;wizard-iframe-container&#34;&gt;&#xA;  &lt;iframe id=&#34;wizard-iframe&#34; src=&#34;/wizard/&#34; title=&#34;Controller matching wizard&#34; style=&#34;width: 100%; min-height: 400px; border: none; display: block;&#34;&gt;&lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;script&gt;&#xA;(function() {&#xA;  var iframe = document.getElementById(&#39;wizard-iframe&#39;);&#xA;  if (!iframe) return;&#xA;  function setHeight(h) {&#xA;    iframe.style.height = (typeof h === &#39;number&#39; ? h : 400) + &#39;px&#39;;&#xA;  }&#xA;  window.addEventListener(&#39;message&#39;, function(event) {&#xA;    if (event.data &amp;&amp; event.data.type === &#39;wizard-height&#39; &amp;&amp; typeof event.data.height === &#39;number&#39;) {&#xA;      setHeight(event.data.height);&#xA;    }&#xA;  });&#xA;  setHeight(400);&#xA;})();&#xA;&lt;/script&gt;</description>
    </item>
    <item>
      <title>A Welcome Guide for Ingress-NGINX Users</title>
      <link>/guides/getting-started/migrating-from-ingress-nginx/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/getting-started/migrating-from-ingress-nginx/</guid>
      <description>&lt;p&gt;Welcome! If you&amp;rsquo;re an Ingress-NGINX user, you&amp;rsquo;re in the right place. This page is a central hub of resources for those considering or actively migrating to Gateway API. We aim to continue to build out this page to be more comprehensive over time. If you&amp;rsquo;re looking for a general overview of migrating from Ingress, please refer to our &lt;a href=&#34;/guides/getting-started/migrating-from-ingress/&#34;&gt;Migrating from Ingress guide&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We understand that migrations can be complex, and our goal is to provide you with the information and tools you need for a smooth transition.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Release Cycle</title>
      <link>/contributing/release-cycle/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contributing/release-cycle/</guid>
      <description>&lt;p&gt;In Gateway API 1.2+, we will be following a more structured and predictable&#xA;release cycle that is inspired by the &lt;a href=&#34;https://kubernetes.io/releases/release/&#34;&gt;upstream Kubernetes release&#xA;cycle&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure a predictable release schedule that enables 2-3 releases a year&lt;/li&gt;&#xA;&lt;li&gt;Minimize the amount of time required from upstream API approvers and make it&#xA;more predictable&lt;/li&gt;&#xA;&lt;li&gt;Avoid last minute additions to the scope of a release&lt;/li&gt;&#xA;&lt;li&gt;Prevent experimental channel from growing by requiring GEPs to leave or&#xA;graduate before new ones can be added&lt;/li&gt;&#xA;&lt;li&gt;Ensure that SIG-Network TLs are in the loop throughout the process, and have a&#xA;meaningful opportunity to review changes before a release&lt;/li&gt;&#xA;&lt;li&gt;Provide more advance notice to everyone (SIG-Network TLs, Docs Reviewers,&#xA;Implementations, etc)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;phases&#34;&gt;Phases&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-scoping&#34;&gt;1. Scoping&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Timeline:&lt;/strong&gt; 4-6 weeks&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contributor Ladder</title>
      <link>/contributing/contributor-ladder/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contributing/contributor-ladder/</guid>
      <description>&lt;p&gt;Within the Kubernetes community, the concept of a contributor ladder has been&#xA;developed to define how individuals can earn formal roles within the project.&#xA;The Gateway API contributor ladder largely follows the &lt;a href=&#34;https://github.com/kubernetes/community/blob/master/community-membership.md&#34;&gt;roles defined by the&#xA;broader Kubernetes&#xA;community&lt;/a&gt;,&#xA;though there are some aspects that are unique to this community.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;We hope that this doc will provide an initial step towards the following goals:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure the long term health of the Gateway API community&lt;/li&gt;&#xA;&lt;li&gt;Encourage new contributors to work towards formal roles and responsibilities&#xA;in the project&lt;/li&gt;&#xA;&lt;li&gt;Clearly define the path towards leadership roles&lt;/li&gt;&#xA;&lt;li&gt;Develop a strong leadership pipeline so we have great candidates to fill&#xA;project leadership roles&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;scope&#34;&gt;Scope&lt;/h2&gt;&#xA;&lt;p&gt;The following repositories are covered by this doc:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP request mirroring</title>
      <link>/guides/user-guides/http-request-mirroring/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-request-mirroring/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: HTTPRouteRequestMirror&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; can be used to mirror&#xA;requests to multiple backends. This is useful for testing new services with&#xA;production traffic.&lt;/p&gt;&#xA;&lt;p&gt;Mirrored requests will only be sent to one single destination endpoint&#xA;within this backendRef, and responses from this backend MUST be ignored by&#xA;the Gateway.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Provisional</title>
      <link>/geps/by-state/provisional/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/by-state/provisional/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-1651/&#34;&gt;GEP-1651: Gateway Routability&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-2627/&#34;&gt;GEP-2627: DNS configuration for Gateway API&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-3792/&#34;&gt;GEP-3792: Out-of-Cluster Gateways&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/geps/gep-4152/&#34;&gt;GEP-4152: Extending TLS Validation in BackendTLSPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>HTTP query parameter matching</title>
      <link>/guides/user-guides/http-query-param-matching/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-query-param-matching/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: HTTPRouteQueryParamMatching&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; can be used to match&#xA;requests based on query parameters. This guide shows how to use this&#xA;functionality.&lt;/p&gt;&#xA;&lt;h2 id=&#34;matching-requests-based-on-a-single-query-parameter&#34;&gt;Matching requests based on a single query parameter&lt;/h2&gt;&#xA;&lt;p&gt;The following &lt;code&gt;HTTPRoute&lt;/code&gt; splits traffic between two backends based on the&#xA;value of the &lt;code&gt;animal&lt;/code&gt; query parameter:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP method matching</title>
      <link>/guides/user-guides/http-method-matching/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-method-matching/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: HTTPRouteMethodMatching&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; can be used to match&#xA;requests based on the HTTP method. This guide shows how to use this&#xA;functionality.&lt;/p&gt;&#xA;&lt;h2 id=&#34;matching-requests-based-on-the-http-method&#34;&gt;Matching requests based on the HTTP method&lt;/h2&gt;&#xA;&lt;p&gt;The following &lt;code&gt;HTTPRoute&lt;/code&gt; splits traffic between two backends based on the&#xA;HTTP method of the request:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ReferenceGrant</title>
      <link>/reference/api-types/referencegrant/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/referencegrant/</guid>
      <description>&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v0.6.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;ReferenceGrant&lt;/code&gt; resource is Beta and part of the&#xA;Standard Channel since &lt;code&gt;v0.6.0&lt;/code&gt;. For more information on release&#xA;channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;&#xA;&lt;p&gt;This resource was originally named &amp;ldquo;ReferencePolicy&amp;rdquo;. It was renamed&#xA;to &amp;ldquo;ReferenceGrant&amp;rdquo; to avoid any confusion with policy attachment.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;A ReferenceGrant can be used to enable cross namespace references within&#xA;Gateway API. In particular, Routes may forward traffic to backends in other&#xA;namespaces, or Gateways may refer to Secrets in another namespace.&#xA;&lt;p&gt;&lt;img src=&#34;/images/referencegrant-simple.svg&#34; alt=&#34;Reference Grant&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP timeouts</title>
      <link>/guides/user-guides/http-timeouts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-timeouts/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: HTTPRouteRequestTimeout&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; can be used to configure&#xA;timeouts for HTTP requests. This is useful for preventing long-running requests&#xA;from consuming resources and for providing a better user experience.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;timeouts&lt;/code&gt; field in an &lt;code&gt;HTTPRouteRule&lt;/code&gt; can be used to specify a request&#xA;timeout.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setting-a-request-timeout&#34;&gt;Setting a request timeout&lt;/h2&gt;&#xA;&lt;p&gt;The following &lt;code&gt;HTTPRoute&lt;/code&gt; sets a request timeout of 500 milliseconds for all&#xA;requests with a path prefix of &lt;code&gt;/request-timeout&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>TLSRoute</title>
      <link>/reference/api-types/tlsroute/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/tlsroute/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.5.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;TLSRoute&lt;/code&gt; resource is GA and has been part of the Standard Channel since&#xA;&lt;code&gt;v1.5.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;a href=&#34;/reference/api-spec/main/spec/#tlsroute&#34;&gt;TLSRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior&#xA;of TLS requests from a client to an API object, i.e. Service. It allows to&#xA;route traffic to specific backend based on the &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc6066#section-3&#34;&gt;Server Name Indication (SNI)&lt;/a&gt;&#xA;hostname provided during the TLS handshake.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cross-Origin Resource Sharing (CORS)</title>
      <link>/guides/user-guides/http-cors/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/http-cors/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: HTTPRouteCORS&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support, and requires your implementation to support the feature &lt;code&gt;HTTPRouteCORS&lt;/code&gt;. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.5.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;HTTPRouteCORS&lt;/code&gt; feature has been part of the Standard Channel since&#xA;&lt;code&gt;v1.5.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;The &lt;a href=&#34;/reference/api-types/httproute/&#34;&gt;HTTPRoute resource&lt;/a&gt; can be used to configure&#xA;Cross-Origin Resource Sharing (CORS). CORS is a security feature that allows&#xA;or denies web applications running at one domain to make requests for resources&#xA;from a different domain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ListenerSet</title>
      <link>/reference/api-types/listenerset/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-types/listenerset/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.5.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    The &lt;code&gt;ListenerSet&lt;/code&gt; resource is GA and has been part of the Standard Channel since&#xA;&lt;code&gt;v1.5.0&lt;/code&gt;. For more information on release channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&#xA;guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;A &lt;code&gt;ListenerSet&lt;/code&gt; is a Gateway API type for specifying additional listeners for a Gateway.&#xA;It decouples network listener configurations—such as ports, hostnames, and TLS&#xA;termination—from the central Gateway resource.&lt;/p&gt;&#xA;&lt;h2 id=&#34;background&#34;&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;ListenerSets allow teams to independently define and attach groups of listeners to a central,&#xA;shared Gateway. This enables self-service TLS configuration, improves multi-tenancy by allowing&#xA;decentralized listener management, and allows scaling beyond the 64-listener limit of a single&#xA;Gateway resource.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Reference</title>
      <link>/reference/api-spec/1.4/spec/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-spec/1.4/spec/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#gatewaynetworkingk8siov1&#34;&gt;gateway.networking.k8s.io/v1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#gatewaynetworkingk8siov1alpha2&#34;&gt;gateway.networking.k8s.io/v1alpha2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#gatewaynetworkingk8siov1alpha3&#34;&gt;gateway.networking.k8s.io/v1alpha3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#gatewaynetworkingk8siov1beta1&#34;&gt;gateway.networking.k8s.io/v1beta1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gatewaynetworkingk8siov1&#34;&gt;gateway.networking.k8s.io/v1&lt;/h2&gt;&#xA;&lt;p&gt;Package v1 contains API Schema definitions for the gateway.networking.k8s.io&#xA;API group.&lt;/p&gt;&#xA;&lt;h3 id=&#34;resource-types&#34;&gt;Resource Types&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#backendtlspolicy&#34;&gt;BackendTLSPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#grpcroute&#34;&gt;GRPCRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#gateway&#34;&gt;Gateway&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#gatewayclass&#34;&gt;GatewayClass&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/spec/#httproute&#34;&gt;HTTPRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;absoluteuri&#34;&gt;AbsoluteURI&lt;/h4&gt;&#xA;&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The AbsoluteURI MUST NOT be a relative URI, and it MUST follow the URI syntax and&#xA;encoding rules specified in RFC3986.  The AbsoluteURI MUST include both a&#xA;scheme (e.g., &amp;ldquo;http&amp;rdquo; or &amp;ldquo;spiffe&amp;rdquo;) and a scheme-specific-part.  URIs that&#xA;include an authority MUST include a fully qualified domain name or&#xA;IP address as the host.&#xA;&lt;a href=&#34;#ZgotmplZ&#34;&gt;gateway:util:excludeFromCRD&lt;/a&gt; The below regex is taken from the regex section in RFC 3986 with a slight modification to enforce a full URI and not relative. &amp;lt;/gateway:util:excludeFromCRD&amp;gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Reference</title>
      <link>/reference/api-spec/1.5/spec/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-spec/1.5/spec/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#gatewaynetworkingk8siov1&#34;&gt;gateway.networking.k8s.io/v1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#gatewaynetworkingk8siov1alpha2&#34;&gt;gateway.networking.k8s.io/v1alpha2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#gatewaynetworkingk8siov1alpha3&#34;&gt;gateway.networking.k8s.io/v1alpha3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#gatewaynetworkingk8siov1beta1&#34;&gt;gateway.networking.k8s.io/v1beta1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gatewaynetworkingk8siov1&#34;&gt;gateway.networking.k8s.io/v1&lt;/h2&gt;&#xA;&lt;p&gt;Package v1 contains API Schema definitions for the gateway.networking.k8s.io&#xA;API group.&lt;/p&gt;&#xA;&lt;h3 id=&#34;resource-types&#34;&gt;Resource Types&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#backendtlspolicy&#34;&gt;BackendTLSPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#grpcroute&#34;&gt;GRPCRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#gateway&#34;&gt;Gateway&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#gatewayclass&#34;&gt;GatewayClass&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#httproute&#34;&gt;HTTPRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#listenerset&#34;&gt;ListenerSet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#referencegrant&#34;&gt;ReferenceGrant&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/spec/#tlsroute&#34;&gt;TLSRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;absoluteuri&#34;&gt;AbsoluteURI&lt;/h4&gt;&#xA;&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The AbsoluteURI MUST NOT be a relative URI, and it MUST follow the URI syntax and&#xA;encoding rules specified in RFC3986.  The AbsoluteURI MUST include both a&#xA;scheme (e.g., &amp;ldquo;http&amp;rdquo; or &amp;ldquo;spiffe&amp;rdquo;) and a scheme-specific-part.  URIs that&#xA;include an authority MUST include a fully qualified domain name or&#xA;IP address as the host.&#xA;&lt;a href=&#34;#ZgotmplZ&#34;&gt;gateway:util:excludeFromCRD&lt;/a&gt; The below regex is taken from the regex section in RFC 3986 with a slight modification to enforce a full URI and not relative. &amp;lt;/gateway:util:excludeFromCRD&amp;gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Reference</title>
      <link>/reference/api-spec/main/spec/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-spec/main/spec/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#gatewaynetworkingk8siov1&#34;&gt;gateway.networking.k8s.io/v1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#gatewaynetworkingk8siov1alpha2&#34;&gt;gateway.networking.k8s.io/v1alpha2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#gatewaynetworkingk8siov1alpha3&#34;&gt;gateway.networking.k8s.io/v1alpha3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#gatewaynetworkingk8siov1beta1&#34;&gt;gateway.networking.k8s.io/v1beta1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gatewaynetworkingk8siov1&#34;&gt;gateway.networking.k8s.io/v1&lt;/h2&gt;&#xA;&lt;p&gt;Package v1 contains API Schema definitions for the gateway.networking.k8s.io&#xA;API group.&lt;/p&gt;&#xA;&lt;h3 id=&#34;resource-types&#34;&gt;Resource Types&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#backendtlspolicy&#34;&gt;BackendTLSPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#grpcroute&#34;&gt;GRPCRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#gateway&#34;&gt;Gateway&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#gatewayclass&#34;&gt;GatewayClass&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#httproute&#34;&gt;HTTPRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#listenerset&#34;&gt;ListenerSet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#referencegrant&#34;&gt;ReferenceGrant&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/spec/#tlsroute&#34;&gt;TLSRoute&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;absoluteuri&#34;&gt;AbsoluteURI&lt;/h4&gt;&#xA;&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The AbsoluteURI MUST NOT be a relative URI, and it MUST follow the URI syntax and&#xA;encoding rules specified in RFC3986.  The AbsoluteURI MUST include both a&#xA;scheme (e.g., &amp;ldquo;http&amp;rdquo; or &amp;ldquo;spiffe&amp;rdquo;) and a scheme-specific-part.  URIs that&#xA;include an authority MUST include a fully qualified domain name or&#xA;IP address as the host.&#xA;&lt;a href=&#34;#ZgotmplZ&#34;&gt;gateway:util:excludeFromCRD&lt;/a&gt; The below regex is taken from the regex section in RFC 3986 with a slight modification to enforce a full URI and not relative. &amp;lt;/gateway:util:excludeFromCRD&amp;gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>v1.5</title>
      <link>/docs/implementations/versions/v_one_five/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/versions/v_one_five/</guid>
      <description>&lt;p&gt;The following tables are populated from the conformance reports &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports&#34;&gt;uploaded by project implementations&lt;/a&gt;. They are separated into the extended features that each project supports listed in their reports.&#xA;Implementations only appear in this page if they pass Core conformance for the resource type, and the features listed should be Extended features. Implementations that submit conformance reports with skipped tests won&amp;rsquo;t appear in the tables.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;&#xA;&lt;p&gt;This page is under active development and is not in its final form, especially for the project name and the names of the features. However, as it is based on submitted conformance reports, the information is correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cross-Namespace routing</title>
      <link>/guides/user-guides/multiple-ns/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/multiple-ns/</guid>
      <description>&lt;p&gt;Gateway API has core support for cross Namespace routing. This is useful&#xA;when more than one user or team is sharing the underlying networking&#xA;infrastructure, yet control and configuration must be segmented to minimize&#xA;access and fault domains.&lt;/p&gt;&#xA;&lt;p&gt;Gateways and Routes can be deployed into different Namespaces and Routes  can&#xA;attach to Gateways across Namespace boundaries. This allows user access&#xA;control to be applied differently across Namespaces for Routes and Gateways,&#xA;effectively segmenting access and control to different parts of the&#xA;cluster-wide  routing configuration. The ability for Routes to attach to&#xA;Gateways across Namespace boundaries are governed by &lt;a href=&#34;/guides/user-guides/multiple-ns/#cross-namespace-route-attachment&#34;&gt;&lt;em&gt;Route Attachment&lt;/em&gt;&lt;/a&gt;. Route attachment is explored&#xA;in this guide and demonstrates how independent teams can safely share the same&#xA;Gateway.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TLS Configuration</title>
      <link>/guides/user-guides/tls/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/tls/</guid>
      <description>&lt;p&gt;Gateway API allows for a variety of ways to configure TLS. This document lays&#xA;out various TLS settings and gives general guidelines on how to use them&#xA;effectively.&lt;/p&gt;&#xA;&lt;p&gt;Although this doc covers the most common forms of TLS configuration with Gateway&#xA;API, some implementations may also offer implementation-specific extensions that&#xA;allow for different or more advanced forms of TLS configuration. In addition to&#xA;this documentation, it&amp;rsquo;s worth reading the TLS documentation for whichever&#xA;implementation(s) you&amp;rsquo;re using with Gateway API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TLS routing</title>
      <link>/guides/user-guides/tls-routing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/tls-routing/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;/reference/api-types/tlsroute/&#34;&gt;TLSRoute resource&lt;/a&gt; allows you to match on TLS&#xA;metadata and direct it to Kubernetes backends. This guide shows how the TLSRoute&#xA;matches traffic on hostname and forwards it to different Kubernetes Services,&#xA;using either &lt;code&gt;Passthrough&lt;/code&gt; or &lt;code&gt;Terminate&lt;/code&gt; TLS modes on the Gateway.&lt;/p&gt;&#xA;&lt;p&gt;In order to receive traffic from a &lt;a href=&#34;/reference/api-spec/main/spec/#gateway&#34;&gt;Gateway&lt;/a&gt; a TLSRoute resource&#xA;must be configured with &lt;code&gt;ParentRefs&lt;/code&gt; which reference the parent gateway(s) that it&#xA;should be attached to. The following example shows how the combination&#xA;of Gateway and TLSRoute would be configured to serve TLS traffic using both&#xA;&lt;code&gt;Passthrough&lt;/code&gt; and &lt;code&gt;Terminate&lt;/code&gt; modes (when supported by the Gateway API&#xA;implementation):&lt;/p&gt;</description>
    </item>
    <item>
      <title>TCP routing</title>
      <link>/guides/user-guides/tcp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/tcp/</guid>
      <description>&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Experimental Channel&lt;/h4&gt;&#xA;&lt;p&gt;The &lt;code&gt;TCPRoute&lt;/code&gt; resource described below is currently only included in the&#xA;&amp;ldquo;Experimental&amp;rdquo; channel of Gateway API. For more information on release&#xA;channels, refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning guide&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;Gateway API is designed to work with multiple protocols and [TCPRoute][tcproute]&#xA;is one such route which allows for managing [TCP][tcp] traffic.&#xA;&lt;p&gt;In this example, we have one Gateway resource and two TCPRoute resources that&#xA;distribute the traffic with the following rules:&lt;/p&gt;</description>
    </item>
    <item>
      <title>gRPC routing</title>
      <link>/guides/user-guides/grpc-routing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/grpc-routing/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;/reference/api-types/grpcroute/&#34;&gt;GRPCRoute resource&lt;/a&gt; allows you to match on gRPC traffic and&#xA;direct it to Kubernetes backends. This guide shows how the GRPCRoute matches&#xA;traffic on host, header, and service, and method fields and forwards it to different&#xA;Kubernetes Services.&lt;/p&gt;&#xA;&lt;p&gt;The following diagram describes a required traffic flow across three different&#xA;Services:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Traffic to &lt;code&gt;foo.example.com&lt;/code&gt; for the &lt;code&gt;com.Example.Login&lt;/code&gt; method is forwarded to &lt;code&gt;foo-svc&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Traffic to &lt;code&gt;bar.example.com&lt;/code&gt; with an &lt;code&gt;env: canary&lt;/code&gt; header is forwarded&#xA;to &lt;code&gt;bar-svc-canary&lt;/code&gt; for all services and methods&lt;/li&gt;&#xA;&lt;li&gt;Traffic to &lt;code&gt;bar.example.com&lt;/code&gt; without the header is forwarded to &lt;code&gt;bar-svc&lt;/code&gt; for&#xA;all services and methods&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;!--- Editable source available at site-src/images/grpc-routing.png --&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/images/grpc-routing.png&#34; alt=&#34;gRPC Routing&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Backend Protocol</title>
      <link>/guides/user-guides/backend-protocol/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/backend-protocol/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Features: HTTPRouteBackendProtocolH2C, HTTPRouteBackendProtocolWebSocket&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    These features are part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Standard Channel since v1.2.0&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This concept has been part of the Standard Channel since &lt;code&gt;v1.2.0&lt;/code&gt;.&#xA;For more information on release channels, refer to our&#xA;&lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;Not all implementations of Gateway API support automatic protocol selection. In some cases protocols are disabled without an explicit opt-in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gateway infrastructure labels and annotations</title>
      <link>/guides/user-guides/infrastructure/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/infrastructure/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: GatewayInfrastructurePropagation&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;Gateway API implementations are responsible for creating the backing&#xA;infrastructure needed to make each Gateway work. For example, implementations&#xA;running in a Kubernetes cluster often create &lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/service/&#34;&gt;Services&lt;/a&gt; and&#xA;&lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/controllers/deployment/&#34;&gt;Deployments&lt;/a&gt;, while cloud-based implementations may create cloud&#xA;load balancer resources. In many cases, it can be helpful to be able to&#xA;propagate labels or annotations to these generated resources.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ListenerSet</title>
      <link>/guides/user-guides/listener-set/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/guides/user-guides/listener-set/</guid>
      <description>&lt;p&gt;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Extended Support Feature: ListenerSet&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    This feature is part of extended support. For more information on support levels, refer to our &lt;a href=&#34;/docs/concepts/conformance/&#34;&gt;conformance guide&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/details&gt;&#xA;ListenerSets allow teams to define ports, hostnames, and TLS certificates in separate resources&#xA;rather than cramming everything into one giant Gateway object which has a limit of 64 listeners.&#xA;This enables a delegated management model suitable for high-scale, multi-tenant environments.&lt;/p&gt;&#xA;&lt;p&gt;As such, you might use ListenerSets for the following advantages:&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Reference</title>
      <link>/reference/api-spec/1.4/specx/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-spec/1.4/specx/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#gatewaynetworkingx-k8siov1alpha1&#34;&gt;gateway.networking.x-k8s.io/v1alpha1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gatewaynetworkingx-k8siov1alpha1&#34;&gt;gateway.networking.x-k8s.io/v1alpha1&lt;/h2&gt;&#xA;&lt;p&gt;Package v1alpha1 contains API Schema definitions for the gateway.networking.k8s-x.io&#xA;API group.&lt;/p&gt;&#xA;&lt;h3 id=&#34;resource-types&#34;&gt;Resource Types&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#xbackendtrafficpolicy&#34;&gt;XBackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#xlistenerset&#34;&gt;XListenerSet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#xmesh&#34;&gt;XMesh&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;backendtrafficpolicyspec&#34;&gt;BackendTrafficPolicySpec&lt;/h4&gt;&#xA;&lt;p&gt;BackendTrafficPolicySpec define the desired state of BackendTrafficPolicy&#xA;Note: there is no Override or Default policy configuration.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#xbackendtrafficpolicy&#34;&gt;XBackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Field&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Validation&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;targetRefs&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#localpolicytargetreference&#34;&gt;LocalPolicyTargetReference&lt;/a&gt; array&lt;/em&gt;&lt;/td&gt;&#xA;          &lt;td&gt;TargetRefs identifies API object(s) to apply this policy to.&lt;br /&gt;Currently, Backends (A grouping of like endpoints such as Service,&lt;br /&gt;ServiceImport, or any implementation-specific backendRef) are the only&lt;br /&gt;valid API target references.&lt;br /&gt;Currently, a TargetRef can not be scoped to a specific port on a&lt;br /&gt;Service.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;MaxItems: 16 &lt;br /&gt;MinItems: 1 &lt;br /&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;retryConstraint&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#retryconstraint&#34;&gt;RetryConstraint&lt;/a&gt;&lt;/em&gt;&lt;br /&gt; :warning: &lt;strong&gt;Experimental&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;RetryConstraint defines the configuration for when to allow or prevent&lt;br /&gt;further retries to a target backend, by dynamically calculating a &amp;lsquo;retry&lt;br /&gt;budget&amp;rsquo;. This budget is calculated based on the percentage of incoming&lt;br /&gt;traffic composed of retries over a given time interval. Once the budget&lt;br /&gt;is exceeded, additional retries will be rejected.&lt;br /&gt;For example, if the retry budget interval is 10 seconds, there have been&lt;br /&gt;1000 active requests in the past 10 seconds, and the allowed percentage&lt;br /&gt;of requests that can be retried is 20% (the default), then 200 of those&lt;br /&gt;requests may be composed of retries. Active requests will only be&lt;br /&gt;considered for the duration of the interval when calculating the retry&lt;br /&gt;budget. Retrying the same original request multiple times within the&lt;br /&gt;retry budget interval will lead to each retry being counted towards&lt;br /&gt;calculating the budget.&lt;br /&gt;Configuring a RetryConstraint in BackendTrafficPolicy is compatible with&lt;br /&gt;HTTPRoute Retry settings for each HTTPRouteRule that targets the same&lt;br /&gt;backend. While the HTTPRouteRule Retry stanza can specify whether a&lt;br /&gt;request will be retried, and the number of retry attempts each client&lt;br /&gt;may perform, RetryConstraint helps prevent cascading failures such as&lt;br /&gt;retry storms during periods of consistent failures.&lt;br /&gt;After the retry budget has been exceeded, additional retries to the&lt;br /&gt;backend MUST return a 503 response to the client.&lt;br /&gt;Additional configurations for defining a constraint on retries MAY be&lt;br /&gt;defined in the future.&lt;br /&gt;Support: Extended&lt;br /&gt;&lt;a href=&#34;#ZgotmplZ&#34;&gt;gateway:experimental&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;sessionPersistence&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/1.4/specx/#sessionpersistence&#34;&gt;SessionPersistence&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;&#xA;          &lt;td&gt;SessionPersistence defines and configures session persistence&lt;br /&gt;for the backend.&lt;br /&gt;Support: Extended&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h4 id=&#34;budgetdetails&#34;&gt;BudgetDetails&lt;/h4&gt;&#xA;&lt;p&gt;BudgetDetails specifies the details of the budget configuration, like&#xA;the percentage of requests in the budget, and the interval between&#xA;checks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Reference</title>
      <link>/reference/api-spec/1.5/specx/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-spec/1.5/specx/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#gatewaynetworkingx-k8siov1alpha1&#34;&gt;gateway.networking.x-k8s.io/v1alpha1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gatewaynetworkingx-k8siov1alpha1&#34;&gt;gateway.networking.x-k8s.io/v1alpha1&lt;/h2&gt;&#xA;&lt;p&gt;Package v1alpha1 contains API Schema definitions for the gateway.networking.k8s-x.io&#xA;API group.&lt;/p&gt;&#xA;&lt;h3 id=&#34;resource-types&#34;&gt;Resource Types&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#xbackendtrafficpolicy&#34;&gt;XBackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#xmesh&#34;&gt;XMesh&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;backendtrafficpolicyspec&#34;&gt;BackendTrafficPolicySpec&lt;/h4&gt;&#xA;&lt;p&gt;BackendTrafficPolicySpec define the desired state of BackendTrafficPolicy&#xA;Note: there is no Override or Default policy configuration.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#xbackendtrafficpolicy&#34;&gt;XBackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Field&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Validation&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;targetRefs&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#localpolicytargetreference&#34;&gt;LocalPolicyTargetReference&lt;/a&gt; array&lt;/em&gt;&lt;/td&gt;&#xA;          &lt;td&gt;TargetRefs identifies API object(s) to apply this policy to.&lt;br /&gt;Currently, Backends (A grouping of like endpoints such as Service,&lt;br /&gt;ServiceImport, or any implementation-specific backendRef) are the only&lt;br /&gt;valid API target references.&lt;br /&gt;Currently, a TargetRef cannot be scoped to a specific port on a&lt;br /&gt;Service.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;MaxItems: 16 &lt;br /&gt;MinItems: 1 &lt;br /&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;retryConstraint&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#retryconstraint&#34;&gt;RetryConstraint&lt;/a&gt;&lt;/em&gt;&lt;br /&gt; :warning: &lt;strong&gt;Experimental&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;RetryConstraint defines the configuration for when to allow or prevent&lt;br /&gt;further retries to a target backend, by dynamically calculating a &amp;lsquo;retry&lt;br /&gt;budget&amp;rsquo;. This budget is calculated based on the percentage of incoming&lt;br /&gt;traffic composed of retries over a given time interval. Once the budget&lt;br /&gt;is exceeded, additional retries will be rejected.&lt;br /&gt;For example, if the retry budget interval is 10 seconds, there have been&lt;br /&gt;1000 active requests in the past 10 seconds, and the allowed percentage&lt;br /&gt;of requests that can be retried is 20% (the default), then 200 of those&lt;br /&gt;requests may be composed of retries. Active requests will only be&lt;br /&gt;considered for the duration of the interval when calculating the retry&lt;br /&gt;budget. Retrying the same original request multiple times within the&lt;br /&gt;retry budget interval will lead to each retry being counted towards&lt;br /&gt;calculating the budget.&lt;br /&gt;Configuring a RetryConstraint in BackendTrafficPolicy is compatible with&lt;br /&gt;HTTPRoute Retry settings for each HTTPRouteRule that targets the same&lt;br /&gt;backend. While the HTTPRouteRule Retry stanza can specify whether a&lt;br /&gt;request will be retried, and the number of retry attempts each client&lt;br /&gt;may perform, RetryConstraint helps prevent cascading failures such as&lt;br /&gt;retry storms during periods of consistent failures.&lt;br /&gt;After the retry budget has been exceeded, additional retries to the&lt;br /&gt;backend MUST return a 503 response to the client.&lt;br /&gt;Additional configurations for defining a constraint on retries MAY be&lt;br /&gt;defined in the future.&lt;br /&gt;Support: Extended&lt;br /&gt;&lt;a href=&#34;#ZgotmplZ&#34;&gt;gateway:experimental&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;sessionPersistence&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/1.5/specx/#sessionpersistence&#34;&gt;SessionPersistence&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;&#xA;          &lt;td&gt;SessionPersistence defines and configures session persistence&lt;br /&gt;for the backend.&lt;br /&gt;Support: Extended&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h4 id=&#34;budgetdetails&#34;&gt;BudgetDetails&lt;/h4&gt;&#xA;&lt;p&gt;BudgetDetails specifies the details of the budget configuration, like&#xA;the percentage of requests in the budget, and the interval between&#xA;checks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Reference</title>
      <link>/reference/api-spec/main/specx/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/api-spec/main/specx/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#gatewaynetworkingx-k8siov1alpha1&#34;&gt;gateway.networking.x-k8s.io/v1alpha1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gatewaynetworkingx-k8siov1alpha1&#34;&gt;gateway.networking.x-k8s.io/v1alpha1&lt;/h2&gt;&#xA;&lt;p&gt;Package v1alpha1 contains API Schema definitions for the gateway.networking.k8s-x.io&#xA;API group.&lt;/p&gt;&#xA;&lt;h3 id=&#34;resource-types&#34;&gt;Resource Types&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#xbackendtrafficpolicy&#34;&gt;XBackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#xmesh&#34;&gt;XMesh&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;backendtrafficpolicyspec&#34;&gt;BackendTrafficPolicySpec&lt;/h4&gt;&#xA;&lt;p&gt;BackendTrafficPolicySpec define the desired state of BackendTrafficPolicy&#xA;Note: there is no Override or Default policy configuration.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#xbackendtrafficpolicy&#34;&gt;XBackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Field&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Validation&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;targetRefs&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#localpolicytargetreference&#34;&gt;LocalPolicyTargetReference&lt;/a&gt; array&lt;/em&gt;&lt;/td&gt;&#xA;          &lt;td&gt;TargetRefs identifies API object(s) to apply this policy to.&lt;br /&gt;Currently, Backends (A grouping of like endpoints such as Service,&lt;br /&gt;ServiceImport, or any implementation-specific backendRef) are the only&lt;br /&gt;valid API target references.&lt;br /&gt;Currently, a TargetRef cannot be scoped to a specific port on a&lt;br /&gt;Service.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;MaxItems: 16 &lt;br /&gt;MinItems: 1 &lt;br /&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;retryConstraint&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#retryconstraint&#34;&gt;RetryConstraint&lt;/a&gt;&lt;/em&gt;&lt;br /&gt; :warning: &lt;strong&gt;Experimental&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;RetryConstraint defines the configuration for when to allow or prevent&lt;br /&gt;further retries to a target backend, by dynamically calculating a &amp;lsquo;retry&lt;br /&gt;budget&amp;rsquo;. This budget is calculated based on the percentage of incoming&lt;br /&gt;traffic composed of retries over a given time interval. Once the budget&lt;br /&gt;is exceeded, additional retries will be rejected.&lt;br /&gt;For example, if the retry budget interval is 10 seconds, there have been&lt;br /&gt;1000 active requests in the past 10 seconds, and the allowed percentage&lt;br /&gt;of requests that can be retried is 20% (the default), then 200 of those&lt;br /&gt;requests may be composed of retries. Active requests will only be&lt;br /&gt;considered for the duration of the interval when calculating the retry&lt;br /&gt;budget. Retrying the same original request multiple times within the&lt;br /&gt;retry budget interval will lead to each retry being counted towards&lt;br /&gt;calculating the budget.&lt;br /&gt;Configuring a RetryConstraint in BackendTrafficPolicy is compatible with&lt;br /&gt;HTTPRoute Retry settings for each HTTPRouteRule that targets the same&lt;br /&gt;backend. While the HTTPRouteRule Retry stanza can specify whether a&lt;br /&gt;request will be retried, and the number of retry attempts each client&lt;br /&gt;may perform, RetryConstraint helps prevent cascading failures such as&lt;br /&gt;retry storms during periods of consistent failures.&lt;br /&gt;After the retry budget has been exceeded, additional retries to the&lt;br /&gt;backend MUST return a 503 response to the client.&lt;br /&gt;Additional configurations for defining a constraint on retries MAY be&lt;br /&gt;defined in the future.&lt;br /&gt;Support: Extended&lt;br /&gt;&lt;a href=&#34;#ZgotmplZ&#34;&gt;gateway:experimental&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;sessionPersistence&lt;/code&gt; &lt;em&gt;&lt;a href=&#34;/reference/api-spec/main/specx/#sessionpersistence&#34;&gt;SessionPersistence&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;&#xA;          &lt;td&gt;SessionPersistence defines and configures session persistence&lt;br /&gt;for the backend.&lt;br /&gt;Support: Extended&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h4 id=&#34;budgetdetails&#34;&gt;BudgetDetails&lt;/h4&gt;&#xA;&lt;p&gt;BudgetDetails specifies the details of the budget configuration, like&#xA;the percentage of requests in the budget, and the interval between&#xA;checks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>v1.4</title>
      <link>/docs/implementations/versions/v_one_four/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/versions/v_one_four/</guid>
      <description>&lt;p&gt;The following tables are populated from the conformance reports &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports&#34;&gt;uploaded by project implementations&lt;/a&gt;. They are separated into the extended features that each project supports listed in their reports.&#xA;Implementations only appear in this page if they pass Core conformance for the resource type, and the features listed should be Extended features. Implementations that submit conformance reports with skipped tests won&amp;rsquo;t appear in the tables.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;&#xA;&lt;p&gt;This page is under active development and is not in its final form, especially for the project name and the names of the features. However, as it is based on submitted conformance reports, the information is correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Overview</title>
      <link>/docs/concepts/api-overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/api-overview/</guid>
      <description>&lt;p&gt;Gateway API is a complex API, solving a complex problem.&#xA;The designers of Gateway API have done our best to try to meet the dual demands of configuration flexibility and high usability.&lt;/p&gt;&#xA;&lt;p&gt;In order to do that, we&amp;rsquo;ve needed to create a number of new ideas and concepts, while still echoing ideas from the rest of Kubernetes.&#xA;This page goes through the most important things to learn when you are starting out in Gateway API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting and Status</title>
      <link>/docs/concepts/troubleshooting/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/troubleshooting/</guid>
      <description>&lt;p&gt;One of the biggest problems when using any Kubernetes object is how to know if the state requested by that object (generally encoded in its &lt;code&gt;spec&lt;/code&gt; stanza) has been accepted, and when the state has been achieved.&#xA;The current status of most Kubernetes objects is stored in the &lt;code&gt;status&lt;/code&gt; subresource and stanza, but in Gateway API, we&amp;rsquo;ve needed to lean hard into emphasizing the use of &lt;code&gt;status&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;One of the driving rules for Gateway API object design has been to try to ensure that, when a user creates an object, they can see as much as possible of the state of the system in the status of that object.&#xA;And, if that is not possible, that there is a way to find out what other objects are relevant.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Conformance</title>
      <link>/docs/concepts/conformance/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/conformance/</guid>
      <description>&lt;p&gt;This API covers a broad set of features and use cases and has been implemented&#xA;widely. This combination of both a large feature set and variety of&#xA;implementations requires clear conformance definitions and tests to ensure the&#xA;API provides a consistent experience wherever it is used.&lt;/p&gt;&#xA;&lt;p&gt;When considering Gateway API conformance, there are three important concepts:&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-release-channels&#34;&gt;1. Release Channels&lt;/h2&gt;&#xA;&lt;p&gt;Within Gateway API, release channels are used to indicate the stability of a&#xA;field or resource. The &amp;ldquo;standard&amp;rdquo; channel of the API includes fields and&#xA;resources that have graduated to &amp;ldquo;beta&amp;rdquo;. The &amp;ldquo;experimental&amp;rdquo; channel of the API&#xA;includes everything in the &amp;ldquo;standard&amp;rdquo; channel, along with experimental fields&#xA;and resources that may still be changed in breaking ways &lt;strong&gt;or removed&#xA;altogether&lt;/strong&gt;. For more information on this concept, refer to our&#xA;&lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;versioning&lt;/a&gt; documentation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Roles and Personas</title>
      <link>/docs/concepts/roles-and-personas/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/roles-and-personas/</guid>
      <description>&lt;h2 id=&#34;background&#34;&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;In the original design of Kubernetes, Ingress and Service resources were based&#xA;on a usage model in which the developers who create Services and Ingresses&#xA;controlled all aspects of defining and exposing their applications to their&#xA;users.&lt;/p&gt;&#xA;&lt;p&gt;In practice, though, clusters and their infrastructure tend to be shared,&#xA;which the original Ingress model doesn&amp;rsquo;t capture very well. A critical factor&#xA;is that when infrastructure is shared, not everyone using the infrastructure&#xA;has the same concerns, and to be successful, an infrastructure project needs&#xA;to address the needs of all the users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Security</title>
      <link>/docs/concepts/security/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/security/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API has been designed to enable granular authorization for each role in&#xA;a typical organization.&lt;/p&gt;&#xA;&lt;h2 id=&#34;resources&#34;&gt;Resources&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API has 3 primary API resources:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;GatewayClass&lt;/strong&gt; defines a set of gateways with a common configuration and&#xA;behavior.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Gateway&lt;/strong&gt; requests a point where traffic can be translated to Services&#xA;within the cluster.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Routes&lt;/strong&gt; describe how traffic coming via the Gateway maps to the Services.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;roles-and-personas&#34;&gt;Roles and personas&lt;/h2&gt;&#xA;&lt;p&gt;There are 3 primary roles in Gateway API, as described in &lt;a href=&#34;/docs/concepts/roles-and-personas/&#34;&gt;roles and personas&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tools</title>
      <link>/docs/concepts/tooling/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/tooling/</guid>
      <description>&lt;p&gt;Gateway API has tooling to facilitate interacting with the resources.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ingress2gateway&#34;&gt;&lt;code&gt;ingress2gateway&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Interested in seeing what your ingress resources will look like in Gateway API? &lt;code&gt;ingress2gateway&lt;/code&gt; provides an easy manner to translate provider-specific resources to Gateway API resources. Managed by the Gateway API SIG-Network subproject.&lt;/p&gt;&#xA;&lt;p&gt;Get started with &lt;a href=&#34;https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation&#34;&gt;kubernetes-sigs/ingress2gateway: installation&lt;/a&gt;!&lt;/p&gt;&#xA;&lt;h2 id=&#34;gwctl&#34;&gt;&lt;code&gt;gwctl&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A command line tool for managing your Gateway API resources. Explore your policies, xRoutes, and interact with your resources.&lt;/p&gt;&#xA;&lt;p&gt;Get started with &lt;a href=&#34;https://github.com/kubernetes-sigs/gwctl?tab=readme-ov-file#installation&#34;&gt;kubernetes-sigs/gwctl: installation&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use cases</title>
      <link>/docs/concepts/use-cases/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/use-cases/</guid>
      <description>&lt;p&gt;Gateway API covers a &lt;em&gt;very&lt;/em&gt; wide range of use cases (which is both a&#xA;strength and a weakness!). This page is emphatically &lt;em&gt;not&lt;/em&gt; meant to be an&#xA;exhaustive list of these use cases: rather, it is meant to provide some&#xA;examples that can be helpful to demonstrate how the API can be used.&lt;/p&gt;&#xA;&lt;p&gt;In all cases, it&amp;rsquo;s very important to bear in mind the &lt;a href=&#34;/docs/concepts/roles-and-personas/&#34;&gt;roles and personas&lt;/a&gt;&#xA;used in Gateway API. The use cases presented here are deliberately&#xA;described in terms of &lt;a href=&#34;/docs/concepts/roles-and-personas/#key-roles-and-personas&#34;&gt;Ana&lt;/a&gt;, &lt;a href=&#34;/docs/concepts/roles-and-personas/#key-roles-and-personas&#34;&gt;Chihiro&lt;/a&gt;, and &lt;a href=&#34;/docs/concepts/roles-and-personas/#key-roles-and-personas&#34;&gt;Ian&lt;/a&gt;: they are the ones for whom&#xA;the API must be usable. (It&amp;rsquo;s also important to remember that even though&#xA;these roles might be filled by the same person, especially in smaller&#xA;organizations, they all have distinct concerns that we need to consider&#xA;separately.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Versioning</title>
      <link>/docs/concepts/versioning/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/versioning/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;Each new release of Gateway API is defined with a &amp;ldquo;bundle version&amp;rdquo; that&#xA;represents the Git tag of a release, such as v1.0.0. This contains the&#xA;following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API Types (Go bindings for the resources)&lt;/li&gt;&#xA;&lt;li&gt;CRDs (Kubernetes definitions of the resources)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;release-channels&#34;&gt;Release Channels&lt;/h3&gt;&#xA;&lt;p&gt;Release channels are used to indicate feature stability within Gateway API. All&#xA;new features and resources start in the Experimental release channel. From that&#xA;point, these may graduate to the Standard release channel or be dropped from the&#xA;API entirely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Traffic Matching</title>
      <link>/docs/concepts/traffic-matching/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/traffic-matching/</guid>
      <description>&lt;h2 id=&#34;listener-selection&#34;&gt;Listener selection&lt;/h2&gt;&#xA;&lt;p&gt;When Routes attach, the process can be thought of as a negotiation between the Listeners designated by the Route in its &lt;code&gt;parentRef&lt;/code&gt;, and the settings on those Listeners that restrict what Routes can attach.&lt;/p&gt;&#xA;&lt;p&gt;When considering the &lt;code&gt;parentRef&lt;/code&gt; of a Route, the set of Listeners that the Route &lt;em&gt;may&lt;/em&gt; attach to is called the set of &lt;strong&gt;relevant&lt;/strong&gt; Listeners.&lt;/p&gt;&#xA;&lt;p&gt;A Route that specifies a &lt;code&gt;parentRef&lt;/code&gt; of a Gateway that contains multiple Listeners is effectively attempting to attach to &lt;em&gt;all&lt;/em&gt; Listeners on that Gateway, and &lt;em&gt;all&lt;/em&gt; Listeners are &lt;strong&gt;relevant&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hostnames in Gateway API</title>
      <link>/docs/concepts/hostnames/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/concepts/hostnames/</guid>
      <description>&lt;h2 id=&#34;introductionpurpose-of-this-document&#34;&gt;Introduction/Purpose of this document&lt;/h2&gt;&#xA;&lt;p&gt;This document is intended to help both users of Gateway API and integrators who build systems that programmatically interact with Gateway API objects to better understand how Gateway API uses hostnames, and what are the most important things to know about these usages.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-and-how-can-you-configure-a-hostname&#34;&gt;Where and how can you configure a hostname?&lt;/h2&gt;&#xA;&lt;p&gt;Hostnames are used to assert whether a Route can attach to a Gateway or Listener via &lt;strong&gt;hostname intersection&lt;/strong&gt;, as well as to choose which Listener and Route should accept a particular request, determined through &lt;strong&gt;routing discrimination&lt;/strong&gt;. Both &lt;strong&gt;hostname intersection&lt;/strong&gt; and &lt;strong&gt;routing discrimination&lt;/strong&gt; are defined later in this document.&lt;/p&gt;</description>
    </item>
    <item>
      <title>v1.3</title>
      <link>/docs/implementations/versions/v_one_three/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/versions/v_one_three/</guid>
      <description>&lt;p&gt;The following tables are populated from the conformance reports &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports&#34;&gt;uploaded by project implementations&lt;/a&gt;. They are separated into the extended features that each project supports listed in their reports.&#xA;Implementations only appear in this page if they pass Core conformance for the resource type, and the features listed should be Extended features. Implementations that submit conformance reports with skipped tests won&amp;rsquo;t appear in the tables.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;&#xA;&lt;p&gt;This page is under active development and is not in its final form, especially for the project name and the names of the features. However, as it is based on submitted conformance reports, the information is correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>v1.2</title>
      <link>/docs/implementations/versions/v_one_two/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/versions/v_one_two/</guid>
      <description>&lt;p&gt;The following tables are populated from the conformance reports &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports&#34;&gt;uploaded by project implementations&lt;/a&gt;. They are separated into the extended features that each project supports listed in their reports.&#xA;Implementations only appear in this page if they pass Core conformance for the resource type, and the features listed should be Extended features. Implementations that submit conformance reports with skipped tests won&amp;rsquo;t appear in the tables.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;&#xA;&lt;p&gt;This page is under active development and is not in its final form, especially for the project name and the names of the features. However, as it is based on submitted conformance reports, the information is correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>v1.1</title>
      <link>/docs/implementations/versions/v_one_one/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/versions/v_one_one/</guid>
      <description>&lt;p&gt;The following tables are populated from the conformance reports &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports&#34;&gt;uploaded by project implementations&lt;/a&gt;. They are separated into the extended features that each project supports listed in their reports.&#xA;Implementations only appear in this page if they pass Core conformance for the resource type, and the features listed should be Extended features. Implementations that submit conformance reports with skipped tests won&amp;rsquo;t appear in the tables.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;&#xA;&lt;p&gt;This page is under active development and is not in its final form, especially for the project name and the names of the features. However, as it is based on submitted conformance reports, the information is correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>v1.0</title>
      <link>/docs/implementations/versions/v_one_zero/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/implementations/versions/v_one_zero/</guid>
      <description>&lt;p&gt;The following tables are populated from the conformance reports &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports&#34;&gt;uploaded by project implementations&lt;/a&gt;. They are separated into the extended features that each project supports listed in their reports.&#xA;Implementations only appear in this page if they pass Core conformance for the resource type, and the features listed should be Extended features. Implementations that submit conformance reports with skipped tests won&amp;rsquo;t appear in the tables.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;&#xA;&lt;p&gt;This page is under active development and is not in its final form, especially for the project name and the names of the features. However, as it is based on submitted conformance reports, the information is correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Metaresources and Policy Attachment</title>
      <link>/reference/policy-attachment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/reference/policy-attachment/</guid>
      <description>&lt;p&gt;Gateway API defines a Kubernetes object that &lt;em&gt;augments&lt;/em&gt; the behavior of an object&#xA;in a standard way as a &lt;em&gt;Metaresource&lt;/em&gt;. ReferenceGrant&#xA;is an example of this general type of metaresource, but it is far from the only&#xA;one.&lt;/p&gt;&#xA;&lt;p&gt;Gateway API also defines a pattern called &lt;em&gt;Policy Attachment&lt;/em&gt;, which augments&#xA;the behavior of an object to add additional settings that can&amp;rsquo;t be described&#xA;within the spec of that object.&lt;/p&gt;&#xA;&lt;p&gt;A &amp;ldquo;Policy Attachment&amp;rdquo; is a specific type of &lt;em&gt;metaresource&lt;/em&gt; that can affect specific&#xA;settings across either one object (this is &amp;ldquo;Direct Policy Attachment&amp;rdquo;), or objects&#xA;in a hierarchy (this is &amp;ldquo;Inherited Policy Attachment&amp;rdquo;).&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1016/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1016/</guid>
      <description>&lt;h1 id=&#34;gep-1016-grpcroute&#34;&gt;GEP-1016: GRPCRoute&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1016&#34;&gt;#1016&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This GEP is exempt from the &lt;a href=&#34;/geps/overview/#probationary-period&#34;&gt;Probationary Period&lt;/a&gt; rules of&#xA;our GEP overview as it existed before those rules did, and so it has been&#xA;explicitly grandfathered in.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;goal&#34;&gt;Goal&lt;/h2&gt;&#xA;&lt;p&gt;Add an idiomatic GRPCRoute for routing gRPC traffic.&lt;/p&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;p&gt;While certain gRPC implementations support multiple transports and multiple&#xA;interface definition languages (IDLs), this proposal limits itself to&#xA;&lt;a href=&#34;https://developers.google.com/web/fundamentals/performance/http2&#34;&gt;HTTP/2&lt;/a&gt; as&#xA;the transport and &lt;a href=&#34;https://developers.google.com/protocol-buffers&#34;&gt;Protocol Buffers&lt;/a&gt;&#xA;as the IDL, which makes up the vast majority of gRPC traffic in the wild.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1282/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1282/</guid>
      <description>&lt;h1 id=&#34;gep-1282-describing-backend-properties&#34;&gt;GEP-1282: Describing Backend Properties&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1282&#34;&gt;#1282&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Declined&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;explanation-for-declined-status&#34;&gt;Explanation for Declined status&lt;/h2&gt;&#xA;&lt;p&gt;This GEP is declined because, after spending a lot of time discussing it, we felt that it was too large, and had too many crosscutting concerns.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s superseded for TLS Backend Properties by &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1897&#34;&gt;GEP-1897&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;End-user feedback of Gateway API has presented a trend: some types of configuration requested by users are more about defining functionality that describes &lt;em&gt;capabilities of the backend&lt;/em&gt; more than the &lt;em&gt;route you take to get to the backend&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1294/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1294/</guid>
      <description>&lt;h1 id=&#34;gep-1294-xroutes-mesh-binding&#34;&gt;GEP-1294: xRoutes Mesh Binding&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1294&#34;&gt;#1294&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;Similar to how &lt;code&gt;xRoutes&lt;/code&gt; bind to &lt;code&gt;Gateways&lt;/code&gt; and manage North/South traffic flows in Gateway API’s ingress use-case, it would be natural to adopt a similar model for traffic routing concerns in service mesh deployments. The purpose of this GEP is to add a mechanism to the Gateway API spec for the purpose of associating the various &lt;code&gt;xRoute&lt;/code&gt; types to a service mesh and offering a model for service owners to manage traffic splitting configurations.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1323/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1323/</guid>
      <description>&lt;h1 id=&#34;gep-1323-response-header-filter&#34;&gt;GEP 1323: Response Header Filter&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1323&#34;&gt;#1323&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This GEP is exempt from the &lt;a href=&#34;/geps/overview/#probationary-period&#34;&gt;Probationary Period&lt;/a&gt; rules of&#xA;our GEP overview as it existed before those rules did, and so it has been&#xA;explicitly grandfathered in.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Similar to how we have &lt;code&gt;RequestHeaderModifier&lt;/code&gt; in &lt;code&gt;HTTPRouteFilter&lt;/code&gt;, which lets users modify request headers before the request is forwarded to a backend (or a group of backends), it’d be helpful to have a &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; field which would let users modify response headers before they are returned to the client.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1324/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1324/</guid>
      <description>&lt;h1 id=&#34;gep-1324-service-mesh-in-gateway-api&#34;&gt;GEP-1324: Service Mesh in Gateway API&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1324&#34;&gt;#1324&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Memorandum&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This GEP is exempt from the &lt;a href=&#34;/geps/overview/#probationary-period&#34;&gt;Probationary Period&lt;/a&gt; rules&#xA;of our GEP overview as it existed before those rules did, and so it has been&#xA;explicitly grandfathered in.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API represents the next generation of traffic routing APIs in Kubernetes. While most of the current work for Gateway API is focused on the ingress use-case, support for service mesh implementations within the spec would be advantageous to the greater community. Therefore, this GEP serves as the genesis for developing common patterns for using Gateway API for east/west traffic within a mesh implementation.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1364/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1364/</guid>
      <description>&lt;h1 id=&#34;gep-1364-status-and-conditions-update&#34;&gt;GEP-1364: Status and Conditions Update&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1364&#34;&gt;#1364&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;The status, particularly the Conditions, across the whole Gateway API have very much&#xA;grown organically, and so have many inconsistencies and odd behaviors.&#xA;This GEP covers doing a review and consolidation to make Condition behavior consistent&#xA;across the whole API.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Update Conditions design to be consistent across Gateway API resources&lt;/li&gt;&#xA;&lt;li&gt;Provide a model and guidelines for Conditions for future new resources&lt;/li&gt;&#xA;&lt;li&gt;Specify changes to conformance required for Condition updates&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define the full set of Conditions that will ever be used with Gateway API&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API currently has a lot of issues related to status, especially that&#xA;status is inconsistent (&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1111&#34;&gt;#1111&lt;/a&gt;), that names are hard to understand (&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1110&#34;&gt;#1110&lt;/a&gt;),&#xA;and that Reasons aren&amp;rsquo;t explained properly (&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1362&#34;&gt;#1362&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1494/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1494/</guid>
      <description>&lt;h1 id=&#34;gep-1494-http-auth-in-gateway-api&#34;&gt;GEP-1494: HTTP Auth in Gateway API&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1494&#34;&gt;#1494&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Experimental&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Provide a method for configuring &lt;strong&gt;Gateway API implementations&lt;/strong&gt; to add HTTP Authentication for north-south traffic. The method may also include Authorization config if practical. At the time of writing, this authentication is only for ingress traffic to the Gateway.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;(Using the &lt;a href=&#34;/docs/concepts/roles-and-personas/&#34;&gt;Gateway API Personas&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A way for Ana the Application Developer to configure a Gateway API implementation to perform Authentication (at least), with optional Authorization.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1619/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1619/</guid>
      <description>&lt;h1 id=&#34;gep-1619-session-persistence-via-backendlbpolicy&#34;&gt;GEP-1619: Session Persistence via BackendLBPolicy&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1619&#34;&gt;#1619&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Experimental&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;graduation-criteria&#34;&gt;Graduation Criteria&lt;/h2&gt;&#xA;&lt;h3 id=&#34;implementable&#34;&gt;Implementable&lt;/h3&gt;&#xA;&lt;p&gt;This GEP was accidentally merged as Provisional before the required approval&#xA;from 2 maintainers had been received. Before this graduates to implementable,&#xA;we need to get at least one of @robscott or @youngnick to also approve this GEP.&lt;/p&gt;&#xA;&lt;p&gt;Before this GEP graduates to Implementable, we must fulfill the following criteria:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Should we leave room in this policy to add additional concepts in the future&#xA;such as Session Affinity? If so, how would we adjust the naming and overall&#xA;scope of this policy?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Answer&lt;/strong&gt;: Yes. We adjusted the API to use &lt;code&gt;BackendLBPolicy&lt;/code&gt;. See &lt;a href=&#34;/geps/gep-1619/#api&#34;&gt;API&lt;/a&gt; for more details.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Should we leave room for configuring different forms of Session Persistence?&#xA;If so, what would that look like?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Answer&lt;/strong&gt;: Yes. See the &lt;a href=&#34;/geps/gep-1619/#backendlbpolicy-api&#34;&gt;BackendLBPolicy API&lt;/a&gt; and &lt;a href=&#34;/geps/gep-1619/#api-granularity&#34;&gt;API Granularity&lt;/a&gt;&#xA;sections for more details.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;What name appropriately describe the API responsible for configuring load-balancing options for backend traffic?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Answer&lt;/strong&gt;: We decided on &lt;code&gt;BackendLBPolicy&lt;/code&gt; since it is aligned with &lt;code&gt;BackendTLSPolicy&lt;/code&gt;, describes configuration&#xA;related to load balancing, and isn&amp;rsquo;t too long.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Finish designing the &lt;a href=&#34;/geps/gep-1619/#route-rule-api&#34;&gt;Route Rule API&lt;/a&gt; and document edge cases in &lt;a href=&#34;/geps/gep-1619/#edge-case-behavior&#34;&gt;Edge Case Behavior&lt;/a&gt;&#xA;for configuring session persistence on both &lt;code&gt;BackendLBPolicy&lt;/code&gt; and route rules.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Answer&lt;/strong&gt;: Yes. See &lt;a href=&#34;/geps/gep-1619/#route-rule-api&#34;&gt;Route Rule API&lt;/a&gt; and &lt;a href=&#34;/geps/gep-1619/#edge-case-behavior&#34;&gt;Edge Case Behavior&lt;/a&gt; for more details.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;standard&#34;&gt;Standard&lt;/h3&gt;&#xA;&lt;p&gt;Before this GEP graduates to the Standard channel, we must fulfill the following criteria:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1651/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1651/</guid>
      <description>&lt;h1 id=&#34;gep-1651-gateway-routability&#34;&gt;GEP-1651: Gateway Routability&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1651&#34;&gt;#1651&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Provisional&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Allow users to configure a Gateway so that it is only routable within&#xA;a specific scope (ie. public/private/cluster)&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define a mechanic to set the routability on a Gateway&lt;/li&gt;&#xA;&lt;li&gt;Provide a default set of routability options&lt;/li&gt;&#xA;&lt;li&gt;Provide a way for vendors to support custom options&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Per-request/route scope&lt;/li&gt;&#xA;&lt;li&gt;Not a lightweight service mesh&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;One of the early feature requests for Knative was the ability to deploy an&#xA;application using Knative&amp;rsquo;s HTTP routing support, but make it only available&#xA;within the cluster. I want to be able to specify both the &amp;ldquo;cluster&amp;rdquo;&#xA;(service.namespace.svc) and &amp;ldquo;external&amp;rdquo; (service.namespace.example.com).&#xA;Gateways using the same GatewayClass on the cluster, but ensure that the&#xA;&amp;ldquo;cluster&amp;rdquo; service is only routable within the cluster. This would greatly&#xA;simplify deployment for users over the instructions we have today.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1686/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1686/</guid>
      <description>&lt;h1 id=&#34;gep-1686-mesh-conformance-testing-plan&#34;&gt;GEP-1686: Mesh conformance testing plan&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1686&#34;&gt;#1686&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This testing plan specifies a new set of tests to define a &amp;ldquo;Mesh&amp;rdquo; &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1709&#34;&gt;conformance profile&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define a strategy for segmenting GAMMA tests from the existing conformance test suite&lt;/li&gt;&#xA;&lt;li&gt;Define a set of test scenarios to capture conformance with the GAMMA spec&lt;/li&gt;&#xA;&lt;li&gt;Rely on existing tests for non-GAMMA-specific Gateway API conformance&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;focus&#34;&gt;Focus&lt;/h2&gt;&#xA;&lt;p&gt;Currently the GAMMA spec consists of two Gateway API GEPs &lt;a href=&#34;/geps/gep-1324/&#34;&gt;defining terminology and goals of Gateway API for service meshes&lt;/a&gt;&#xA;and specifically &lt;a href=&#34;/geps/gep-1294/&#34;&gt;how route resources work in a service mesh context&lt;/a&gt;.&#xA;The goal of the initial conformance testing is to check the essential behavior as defined by GEP-1426, as it differs from the wider Gateway API spec. This GEP focuses on using a &lt;code&gt;Service&lt;/code&gt; object as an &lt;code&gt;xRoute&lt;/code&gt; &lt;code&gt;parentRef&lt;/code&gt; to control how the GAMMA implementation directs traffic to the endpoints specified by the &lt;code&gt;Services&lt;/code&gt; in &lt;code&gt;backendRefs&lt;/code&gt; and how the traffic is filtered and modified.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1709/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1709/</guid>
      <description>&lt;h1 id=&#34;gep-1709-conformance-profiles&#34;&gt;GEP-1709: Conformance Profiles&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1709&#34;&gt;#1709&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;important-notes&#34;&gt;Important Notes&lt;/h2&gt;&#xA;&lt;p&gt;Unlike our APIs, CRDs, or &lt;code&gt;gwctl&lt;/code&gt; conformance profiles and their reports are&#xA;not user facing in the traditional sense. As trends in Gateway API utilization&#xA;grow and change, it may make sense to adjust how profiles work to align better&#xA;with what implementations are doing. As such conformance profiles (that is,&#xA;the test suite and the reports) might be subject to backwards incompatible&#xA;changes at times in ways the rest of the API wouldn&amp;rsquo;t be (e.g. significant&#xA;features may need to be added or removed on a profile).&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1713/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1713/</guid>
      <description>&lt;h1 id=&#34;gep-1713-listenersets---standard-mechanism-to-merge-multiple-gateways&#34;&gt;GEP-1713: ListenerSets - Standard Mechanism to Merge Multiple Gateways&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1713&#34;&gt;#1713&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;code&gt;Gateway&lt;/code&gt; Resource is a point of contention since it is the only place to attach listeners with certificates. We propose a new resource called &lt;code&gt;ListenerSet&lt;/code&gt; to allow a shared list of listeners to be attached to a single &lt;code&gt;Gateway&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define a mechanism to merge listeners into a single &lt;code&gt;Gateway&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Attaching listeners to &lt;code&gt;Gateways&lt;/code&gt; in different namespaces&lt;/li&gt;&#xA;&lt;li&gt;Standardize merging multiple lists of Listeners together (&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/pull/1863&#34;&gt;#1863&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Increase the number of Gateway Listeners that are supported (&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2869&#34;&gt;#2869&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;future-potential-goals-beyond-the-gep&#34;&gt;Future Potential Goals (Beyond the GEP)&lt;/h2&gt;&#xA;&lt;p&gt;From &lt;a href=&#34;https://docs.google.com/document/d/1qj7Xog2t2fWRuzOeTsWkabUaVeOF7_2t_7appe8EXwA/edit#heading=h.w311n4l5qmwk&#34;&gt;Gateway Hierarchy Brainstorming&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1731/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1731/</guid>
      <description>&lt;h1 id=&#34;gep-1731-httproute-retries&#34;&gt;GEP-1731: HTTPRoute Retries&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1731&#34;&gt;#1731&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Experimental&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;To allow configuration of a Gateway to retry unsuccessful requests to backends before sending a response to a client request.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To allow specification of &lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc9110#name-overview-of-status-codes&#34;&gt;HTTP status codes&lt;/a&gt; for which a request should be retried.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of the maximum number of times to retry a request.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of the minimum backoff interval between retry attempts.&lt;/li&gt;&#xA;&lt;li&gt;To define any interaction with configured HTTPRoute &lt;a href=&#34;/geps/gep-1742/&#34;&gt;timeouts&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Retry configuration must be applicable to most known Gateway API implementations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;future-goals&#34;&gt;Future Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To allow specification of a retry &lt;a href=&#34;https://finagle.github.io/blog/2016/02/08/retry-budgets/&#34;&gt;&amp;ldquo;budget&amp;rdquo;&lt;/a&gt; to determine whether a request should be retried, and any shared configuration or interaction with max count retry configuration.&lt;/li&gt;&#xA;&lt;li&gt;Define more precise semantics for retry configuration on &amp;ldquo;consumer&amp;rdquo; vs &amp;ldquo;producer&amp;rdquo; routes for mesh implementations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To allow more granular control of the backoff strategy than many dataplanes allow customizing, such as whether to use an exponential backoff interval between retry attempts, add jitter, or cap the backoff interval to a maximum duration.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of a default retry policy for all routes in a given namespace or attached to a particular Gateway.&lt;/li&gt;&#xA;&lt;li&gt;A standard API for approaches for retry logic other than max count or &amp;ldquo;budget&amp;rdquo;, such as interaction with rate limiting headers.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of gRPC status codes for which a request should be retried (this should be covered in a separate GEP).&lt;/li&gt;&#xA;&lt;li&gt;Support for streaming or bidirectional APIs (these could be covered by a future GEP).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;A Gateway API implementation should be able to retry failed HTTP requests to backends before delivering a response to a client for several reasons:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1742/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1742/</guid>
      <description>&lt;h1 id=&#34;gep-1742-httproute-timeouts&#34;&gt;GEP-1742: HTTPRoute Timeouts&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1742&#34;&gt;#1742&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Create some sort of design so that Gateway API objects can be used to configure&#xA;timeouts for different types of connection.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create some method to configure some timeouts.&lt;/li&gt;&#xA;&lt;li&gt;Timeout config must be applicable to most if not all Gateway API implementations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A standard API for every possible timeout that implementations may support.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;In talking about Gateway API objects, particularly HTTPRoute, we&amp;rsquo;ve mentioned&#xA;timeout configuration many times in the past as &amp;ldquo;too hard&amp;rdquo; to find the common&#xA;ground necessary to make more generic configuration. This GEP intends firstly&#xA;to make this process less difficult, then to find common timeouts that we can&#xA;build into Gateway API.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1748/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1748/</guid>
      <description>&lt;h1 id=&#34;gep-1748-gateway-api-interaction-with-multi-cluster-services&#34;&gt;GEP-1748: Gateway API Interaction with Multi-Cluster Services&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1748&#34;&gt;#1748&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Experimental&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;details class=&#34;mb-3&#34;&gt;&#xA;  &lt;summary class=&#34;text-primary&#34; style=&#34;cursor: pointer;&#34;&gt;&#xA;    &lt;strong&gt;Prolonged Experimental Phase&lt;/strong&gt;&#xA;  &lt;/summary&gt;&#xA;  &lt;div class=&#34;p-3 mt-2 border-start border-primary bg-light&#34;&gt;&#xA;    &lt;p&gt;This GEP will be in the &amp;ldquo;Experimental&amp;rdquo; channel for a prolonged period of&#xA;time. This explores the interaction of Gateway API with the Multi-Cluster&#xA;Services API. Until the MCS API is also GA, it will be impossible for this&#xA;GEP to graduate beyond &amp;ldquo;Experimental&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;This GEP is also exempt from the [Probationary Period][expprob] rules as it&#xA;predated them.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1762/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1762/</guid>
      <description>&lt;h1 id=&#34;gep-1762-in-cluster-gateway-deployments&#34;&gt;GEP-1762: In Cluster Gateway Deployments&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API provides a common abstraction over different implementations, whether they are implemented by cloud load balancers, in-cluster deployments, or other mechanisms. However, many in-cluster implementations have solved some of the same problems in different ways.&lt;/p&gt;&#xA;&lt;p&gt;Related discussions:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/discussions/1247&#34;&gt;Support cluster-local Gateways&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/discussions/1355&#34;&gt;Scaling Gateway Resources&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1687&#34;&gt;Manual deployments&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/pull/1863/&#34;&gt;Merging Gateways&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/pull/1757&#34;&gt;Per-Gateway Infrastructure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Provide prescriptive guidance for how in-cluster implementations should behave.&lt;/li&gt;&#xA;&lt;li&gt;Provide requirements for how in-cluster implementations should behave.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Note that some changes will be suggestions, while others will be requirements.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1767/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1767/</guid>
      <description>&lt;h1 id=&#34;gep-1767-cors-filter&#34;&gt;GEP 1767: CORS Filter&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1767&#34;&gt;#1767&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Cross-origin resource sharing (CORS) is an HTTP-header based mechanism that allows a web page to access restricted resources from a server on an origin (domain, scheme, or port) different than the domain that served the web page.&#xA;It&amp;rsquo;s helpful to have a &lt;code&gt;HTTPCorsFilter&lt;/code&gt; field in &lt;code&gt;HTTPRouteFilter&lt;/code&gt; to handle the cross-origin requests before the response is sent to the client.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support CORS filter in a &lt;code&gt;HTTPRoute&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;The CORS protocol is the current specification to support secure cross-origin requests and data transfers between clients and servers.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1867/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1867/</guid>
      <description>&lt;h1 id=&#34;gep-1867-per-gateway-infrastructure&#34;&gt;GEP-1867: Per-Gateway Infrastructure&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1867&#34;&gt;#1867&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Gateway&lt;/code&gt;s represent a piece of infrastructure implemented by cloud load balancers, in-cluster deployments, or other mechanisms.&#xA;These often need vendor-specific configuration outside the scope of existing APIs (e.g. &amp;ldquo;size&amp;rdquo; or &amp;ldquo;version&amp;rdquo; of the infrastructure to provision).&lt;/p&gt;&#xA;&lt;p&gt;Today &lt;code&gt;GatewayClass.spec.parametersRef&lt;/code&gt; is available to attach arbitrary configuration to a &lt;code&gt;GatewayClass&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This GEP will explain why that is not sufficient to meet common use cases, and introduce a new field - &lt;code&gt;infrastructure&lt;/code&gt; - to address these cases.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1897/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1897/</guid>
      <description>&lt;h1 id=&#34;gep-1897-backendtlspolicy---explicit-backend-tls-connection-configuration&#34;&gt;GEP-1897: BackendTLSPolicy - Explicit Backend TLS Connection Configuration&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1897&#34;&gt;#1897&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This document specifically addresses the topic of conveying HTTPS from the Gateway&#xA;dataplane to the backend (backend TLS termination), and intends to satisfy the single&#xA;use case “As a client implementation of Gateway API, I need to know how to connect to&#xA;a backend pod that has its own certificate”. TLS configuration can be a nebulous topic,&#xA;so in order to drive resolution this GEP focuses only on this single piece of functionality.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-1911/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-1911/</guid>
      <description>&lt;h1 id=&#34;gep-1911-backend-protocol-selection&#34;&gt;GEP-1911: Backend Protocol Selection&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1911&#34;&gt;#1911&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Not all implementations support automatic protocol selection. Even in some cases protocols are disabled without an explicit opt-in (eg. websockets with Contour &amp;amp; NGINX). Thus application developers need the ability to specify the protocol(s) that their application supports.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support protocols that can have a Gateway &lt;code&gt;*Route&lt;/code&gt; resource as a frontend&lt;/li&gt;&#xA;&lt;li&gt;Standardize Gateway API implementations on the protocols &amp;amp; constants defined by the Kubernetes &lt;a href=&#34;https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/3726-standard-application-protocols&#34;&gt;Standard Application Protocols (KEP-3726)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Support backends with multiple protocols on the same port (ie. tcp/udp)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Backend TLS (covered in &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1897&#34;&gt;GEP-1897&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Additional protocol specific configuration&lt;/li&gt;&#xA;&lt;li&gt;Disabling Protocols&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Since Kubernetes 1.20 the &lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/service/&#34;&gt;&lt;code&gt;core/v1.Service&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/&#34;&gt;&lt;code&gt;core/v1.EndpointSlice&lt;/code&gt;&lt;/a&gt; resource has a stable &lt;code&gt;appProtocol&lt;/code&gt; field. It&amp;rsquo;s purpose is to allow end-users to specify an application protocol (L7) for each service port.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2162/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2162/</guid>
      <description>&lt;h1 id=&#34;gep-2162-supported-features-in-gatewayclass-status&#34;&gt;GEP-2162: Supported features in GatewayClass Status&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2162&#34;&gt;#2162&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP proposes to enhance the &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/blob/f2cd9bb92b4ff392416c40d6148ff7f76b30e649/apis/v1beta1/gatewayclass_types.go#L185&#34;&gt;GatewayClassStatus&lt;/a&gt; to include a list of Gateway API features supported by the installed GatewayClass.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Improve UX by enabling users to easily see what features the implementation (GatewayClass) support.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Standardize features and conformance tests names.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Automatically run conformance tests based on the supported features populated in GatewayClass status.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Provide foundation for tools to block or warn when unsupported features are used.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2257/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2257/</guid>
      <description>&lt;h1 id=&#34;gep-2257-gateway-api-duration-format&#34;&gt;GEP-2257: Gateway API Duration Format&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2257&#34;&gt;#2257&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;p&gt;As we extend the Gateway API to have more functionality, we need a standard&#xA;way to represent duration values. The first instance is the &lt;a href=&#34;/geps/gep-1742/&#34;&gt;HTTPRoute&#xA;Timeouts GEP&lt;/a&gt;; doubtless others will arise.&lt;/p&gt;&#xA;&lt;h2 id=&#34;gateway-api-duration-format&#34;&gt;Gateway API Duration Format&lt;/h2&gt;&#xA;&lt;p&gt;The key words &amp;ldquo;MUST&amp;rdquo;, &amp;ldquo;MUST NOT&amp;rdquo;, &amp;ldquo;REQUIRED&amp;rdquo;, &amp;ldquo;SHALL&amp;rdquo;, &amp;ldquo;SHALL NOT&amp;rdquo;, &amp;ldquo;SHOULD&amp;rdquo;,&#xA;&amp;ldquo;SHOULD NOT&amp;rdquo;, &amp;ldquo;RECOMMENDED&amp;rdquo;, &amp;ldquo;MAY&amp;rdquo;, and &amp;ldquo;OPTIONAL&amp;rdquo; in this document are to be&#xA;interpreted as described in &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc8174&#34;&gt;RFC 8174&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2627/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2627/</guid>
      <description>&lt;h1 id=&#34;gep-2627-dns-configuration-within-gateway-api&#34;&gt;GEP-2627: DNS configuration within Gateway API&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2627&#34;&gt;#2627&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Provisional&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;For gateway infrastructure to be valuable we need to be able to connect clients to these gateways. A common way to achieve this is to use domain names/hostnames and DNS. The guidelines for DNS configuration are a critical piece of service networking, but this is currently not expressible as part of Gateway API. Instead of leaving this unspecified and having implementations likely to do this in different ways, the purpose of this proposal is to provide a standard way to specify DNS for Gateways.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2643/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2643/</guid>
      <description>&lt;h1 id=&#34;gep-2643-tlssni-based-routing--tlsroute&#34;&gt;GEP-2643: TLS/SNI based routing / TLSRoute&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2643&#34;&gt;#2643&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP documents the implementation of a route type that uses the Server Name&#xA;Indication attribute (aka SNI) of a TLS handshake to chose the route destination.&lt;/p&gt;&#xA;&lt;p&gt;While this feature is also known sometimes as TLS passthrough, where after the&#xA;server name is identified, the gateway does a full encrypted passthrough of the&#xA;communication, this GEP will also cover cases where a TLS communication is&#xA;terminated on the Gateway before being passed to a backend.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2648/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2648/</guid>
      <description>&lt;h1 id=&#34;gep-2648-direct-policy-attachment&#34;&gt;GEP-2648: Direct Policy Attachment&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2648&#34;&gt;#2648&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Declined&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;&lt;p&gt;This GEP has been merged back into &lt;a href=&#34;/geps/gep-713/&#34;&gt;GEP-713&lt;/a&gt;&#xA;and now it&amp;rsquo;s now obsolete. Please refer the original specification of Metaresources&#xA;and Policy Attachment for the current state of the pattern.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Describe and specify a design pattern for a class of metaresource that can&#xA;affect specific settings across a single target object.&lt;/p&gt;&#xA;&lt;p&gt;This is a strict subset of all Policy objects that meet a set of criteria&#xA;designed to be easier to understand for users than Inherited Policy, and so to&#xA;not require solving the much harder problem of communicating Inherited Policy&#xA;to users.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2649/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2649/</guid>
      <description>&lt;h1 id=&#34;gep-2649-inherited-policy-attachment&#34;&gt;GEP-2649: Inherited Policy Attachment&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2649&#34;&gt;#2649&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Declined&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;&#xA;&lt;p&gt;This GEP has been merged back into &lt;a href=&#34;/geps/gep-713/&#34;&gt;GEP-713&lt;/a&gt;&#xA;and now it&amp;rsquo;s now obsolete. Please refer the original specification of Metaresources&#xA;and Policy Attachment for the current state of the pattern.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Describe and specify a design pattern for a class of metaresource that can&#xA;affect specific settings across a multiple target objects.&lt;/p&gt;&#xA;&lt;p&gt;This is a design for a &lt;em&gt;pattern&lt;/em&gt;, not an API field or new object.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2659/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2659/</guid>
      <description>&lt;h1 id=&#34;gep-2659-document-and-improve-the-gep-process&#34;&gt;GEP-2659: Document and improve the GEP process&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2659&#34;&gt;#2659&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Type: Memorandum&lt;/li&gt;&#xA;&lt;li&gt;Status: Accepted&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP clarifies some details about GEPs, and adds relationships and a new&#xA;status.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Enumerate how we should use RFC2119 language&lt;/li&gt;&#xA;&lt;li&gt;Add relationships between GEPs&lt;/li&gt;&#xA;&lt;li&gt;Add a metadata YAML schema for GEPs, including the new relationships&lt;/li&gt;&#xA;&lt;li&gt;Add a new status to cover some only recently noticed cases&lt;/li&gt;&#xA;&lt;li&gt;Update existing documentation outside this GEP to support the new material&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;As part of preparing for work to split up GEP-713, we (the Gateway API and GAMMA&#xA;maintainers) have noticed a few shortcomings in our GEP process.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2722/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2722/</guid>
      <description>&lt;h1 id=&#34;gep-2722-goals-and-ux-for-gwctl&#34;&gt;GEP-2722: Goals and UX for gwctl&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2722&#34;&gt;#2722&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Memorandum&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;TLDR: This GEP proposes &lt;code&gt;gwctl&lt;/code&gt;, a new command line tool designed to streamline&#xA;the experience of working with Gateway API resources. It offers a familiar&#xA;kubectl-like interface for viewing resources while providing more detailed and&#xA;informative output that is specifically focused on the Gateway API. For&#xA;advanced filtering and other in-depth features, &lt;code&gt;gwctl&lt;/code&gt; can be effectively&#xA;used alongside &lt;code&gt;kubectl&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;motivations&#34;&gt;Motivations&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Limited kubectl customizability for CRDs:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;kubectl&amp;rsquo;s customization capabilities for CRDs (through&#xA;&lt;code&gt;additionalPrinterColumns&lt;/code&gt;) is constrained, limiting the ability to create&#xA;optimal views for Gateway API resources.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Complex policy attachment management:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;As described in &lt;a href=&#34;/geps/gep-713/&#34;&gt;GEP-713&lt;/a&gt;,&#xA;policies present a valuable mechanism for expanding the capabilities of&#xA;Gateway API resources. However, discoverability poses a challenge due to&#xA;the absence of a clear connection between resources and their associated&#xA;policies. There have been growing questions around suitability of policies&#xA;as a means to provide extensions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Challenging multi-resource model navigation:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Comprehending the relationships between multiple Gateway API resources can&#xA;be challenging within kubectl.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Greater control over output formatting and presentation:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Offer greater control over output formatting and presentation, enhancing&#xA;visibility and understanding of Gateway API resources.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Improved policy discoverability, increasing adoption and usability:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Make policies easily discoverable, aiding in the adoption and fostering&#xA;broader acceptance of policies as an extension mechanism.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Simplified multi-resource model navigation:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Facilitate navigation of the multi-resource model by making connections&#xA;between Gateway API resources explicit, aiding in configuration,&#xA;troubleshooting, and issue identification.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Proactive error detection and reporting:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Leverage native understanding of resource relationships to proactively&#xA;detect and report on potential configuration errors, further simplifying&#xA;issue identification and resolution. This would complement the ability of&#xA;users to readily pinpoint configuration problems themselves.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Provide incentive for policy implementations that are consistent across cloud&#xA;providers:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Encourage the adoption of consistent policy implementations across&#xA;different Gateway API providers, promoting interoperability and&#xA;predictability.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;commands-specification&#34;&gt;Commands Specification&lt;/h2&gt;&#xA;&lt;h3 id=&#34;milestone-1&#34;&gt;Milestone 1&lt;/h3&gt;&#xA;&lt;h4 id=&#34;supported-commands&#34;&gt;Supported Commands:&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;get&lt;/strong&gt;: Retrieves information about specified resources without including&#xA;additional information from related resources.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;describe&lt;/strong&gt;: Provides detailed information about specified resources,&#xA;including augmented information from related resources.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;supported-resources&#34;&gt;Supported Resources:&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gatewayclass&lt;/li&gt;&#xA;&lt;li&gt;gateways&lt;/li&gt;&#xA;&lt;li&gt;httproutes&lt;/li&gt;&#xA;&lt;li&gt;namespaces&lt;/li&gt;&#xA;&lt;li&gt;backends (not a native k8s resource)&lt;/li&gt;&#xA;&lt;li&gt;policycrds (not a native k8s resource)&lt;/li&gt;&#xA;&lt;li&gt;policies (not a native k8s resource)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;filtering-options&#34;&gt;Filtering Options:&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-n&lt;/code&gt; &lt;strong&gt;Namespace&lt;/strong&gt;: Filters resources by namespace. Applicable to all&#xA;resources except cluster-scoped resources.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-l&lt;/code&gt; &lt;strong&gt;Labels&lt;/strong&gt;: Filters resources by labels. Applicable to all resources.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-A&lt;/code&gt; &lt;strong&gt;All Namespaces&lt;/strong&gt;: Fetches resources across all namespaces (redundant&#xA;for cluster-scoped resources).&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-t&lt;/code&gt; &lt;strong&gt;Target Resource&lt;/strong&gt;: Filters policies based on the target resource type&#xA;they apply to. Applicable only to the policies resource.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Syntax: &lt;code&gt;-t &amp;lt;key1&amp;gt;=&amp;lt;value1&amp;gt;,&amp;lt;key2&amp;gt;=&amp;lt;value2&amp;gt;,...&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Supported keys:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;kind: Resource kind (e.g., &amp;ldquo;httproute&amp;rdquo;, &amp;ldquo;gateway&amp;rdquo;)&lt;/li&gt;&#xA;&lt;li&gt;namespace: Resource namespace&lt;/li&gt;&#xA;&lt;li&gt;name: Resource name&lt;/li&gt;&#xA;&lt;li&gt;group: Resource API group&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;output-formats&#34;&gt;Output Formats:&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;describe&lt;/strong&gt;: Fixed format, not customizable. Shows comprehensive resource&#xA;information with details from related resources.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-2907/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-2907/</guid>
      <description>&lt;h1 id=&#34;gep-2907-tls-configuration-placement-and-terminology&#34;&gt;GEP-2907: TLS Configuration Placement and Terminology&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/2907&#34;&gt;#2907&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Memorandum&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP aims to define high level TLS terminology and structure within Gateway&#xA;API to ensure that all our independent proposals related to TLS result in a&#xA;coherent set of APIs. This will result in some adjustments to provisional and&#xA;experimental TLS-related GEPs, specifically &lt;a href=&#34;/geps/gep-1897/&#34;&gt;BackendTLSPolicy&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Define high-level terminology for how we refer to TLS in Gateway API.&lt;/li&gt;&#xA;&lt;li&gt;Define top level fields where TLS configuration can live for all below cases:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Client to Gateway (Frontend) TLS configuration.&lt;/li&gt;&#xA;&lt;li&gt;Gateway to Client TLS configuration (Client Certificate Validation)&lt;/li&gt;&#xA;&lt;li&gt;Gateway to backend (Gateway Client Certificate)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Document how to use &lt;code&gt;BackendTLSPolicy&lt;/code&gt; to support Gateway to Backend TLS configuration.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add or change fields directly. (This may inspire changes in other GEPs&#xA;though).&lt;/li&gt;&#xA;&lt;li&gt;Commit to including specific parts of TLS configuration in Gateway API. (This&#xA;is merely to provide space for future configuration, not a commitment that we&#xA;will add it to the API.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;out-of-scope&#34;&gt;Out of Scope&lt;/h2&gt;&#xA;&lt;p&gt;There are a variety of related TLS concepts in Gateway API that are not currently&#xA;in scope for this GEP. In the future, this GEP may be expanded to include:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3155/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3155/</guid>
      <description>&lt;h1 id=&#34;gep-3155-complete-backend-mutual-tls-configuration&#34;&gt;GEP-3155: Complete Backend mutual TLS Configuration&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3155&#34;&gt;#3155&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP aims to complete the configuration required for Backend mutual TLS in Gateway&#xA;API. This includes the following new capabilities:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Configuration for the client certificate Gateways should use when connecting&#xA;to Backends&lt;/li&gt;&#xA;&lt;li&gt;Ability to specify SANs on BackendTLSPolicy&lt;/li&gt;&#xA;&lt;li&gt;Add TLS options to BackendTLSPolicy to mirror TLS config on Gateways&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add sufficient configuration that basic mutual TLS is possible between Gateways and&#xA;Backends&lt;/li&gt;&#xA;&lt;li&gt;Enable the optional use of SPIFFE for Backend mutual TLS&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define how automatic mTLS should be implemented with Gateway API&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;This is a wide ranging GEP intending to cover three additions to the API that all&#xA;have a shared goal - enabling backend mutual TLS with Gateway API. Although this&#xA;specific GEP focuses on manual configuration across the board, the hope is that&#xA;it will also enable higher level automation to simplify this process for users.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3171/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3171/</guid>
      <description>&lt;h1 id=&#34;gep-3171-percentage-based-request-mirroring&#34;&gt;GEP-3171: Percentage-based Request Mirroring&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3171&#34;&gt;#3171&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Enhance the existing &lt;a href=&#34;/guides/user-guides/http-request-mirroring/&#34;&gt;Request Mirroring&lt;/a&gt; feature by allowing users to specify a percentage of requests they&amp;rsquo;d like mirrored.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;Enable percentage-based request mirroring with Gateway and Gateway for mesh APIs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;scope&#34;&gt;Scope&lt;/h2&gt;&#xA;&lt;!-- TODO(https://github.com/kubernetes-sigs/gateway-api/issues/3514) Add GRPCRoute supportedFeatures and coverage --&gt;&#xA;&lt;p&gt;The scope of this GEP is to add support for this feature in both HTTPRoute and GRPCRoute&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/guides/user-guides/http-request-mirroring/&#34;&gt;Request Mirroring&lt;/a&gt; is a feature that allows a user to mirror requests going to some backend A along to some other specified backend B. Right now Request Mirroring is an all or nothing feature – either 100% of request are mirrored, or 0% are. Percentage-based Request Mirroring will allow users to specify a percentage of requests they&amp;rsquo;d like mirrored as opposed to every single request.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3388/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3388/</guid>
      <description>&lt;h1 id=&#34;gep-3388-retry-budgets&#34;&gt;GEP-3388: Retry Budgets&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3388&#34;&gt;#3388&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Experimental&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;To allow configuration of a &amp;ldquo;retry budget&amp;rdquo; across all endpoints of a destination service, preventing additional client-side retries when the percentage of the active request load consisting of retries reaches a certain threshold.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To allow specification of a retry &lt;a href=&#34;https://finagle.github.io/blog/2016/02/08/retry-budgets/&#34;&gt;&amp;ldquo;budget&amp;rdquo;&lt;/a&gt; to determine whether a request should be retried, and any shared configuration or interaction with configuration of a static retry limit within HTTPRoute.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of a percentage of active requests, or recently active requests, that should be able to be retried concurrently.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of a &lt;em&gt;minimum&lt;/em&gt; number of retries that should be allowed per second or concurrently, such that the budget for retries never goes below this minimum value.&lt;/li&gt;&#xA;&lt;li&gt;To define a standard for retry budgets that reconciles the known differences in current retry budget functionality between Gateway API data plane implementations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To allow specifying a default retry budget policy across a namespace or attached to a specific gateway.&lt;/li&gt;&#xA;&lt;li&gt;To allow configuration of a back-off strategy or timeout window within the retry budget spec.&lt;/li&gt;&#xA;&lt;li&gt;To allow specifying inclusion of specific HTTP status codes and responses within the retry budget spec.&lt;/li&gt;&#xA;&lt;li&gt;To allow specification of more than one retry budget for a given service, or for specific subsets of its traffic.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Multiple data plane proxies offer optional configuration for budgeted retries, in order to create a dynamic limit on the amount of a service&amp;rsquo;s active request load that is comprised of retries from across its clients. In the case of Linkerd, retry budgets are the default retry policy configuration for HTTP retries within the &lt;a href=&#34;https://linkerd.io/2.12/reference/service-profiles/&#34;&gt;ServiceProfile CRD&lt;/a&gt;, with static max retries being a &lt;a href=&#34;https://linkerd.io/2024/08/13/announcing-linkerd-2.16/&#34;&gt;fairly recent addition&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3567/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3567/</guid>
      <description>&lt;h1 id=&#34;gep-3567-gateway-tls-updates-for-http2-connection-coalescing&#34;&gt;GEP-3567: Gateway TLS Updates for HTTP/2 Connection Coalescing&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3567&#34;&gt;#3567&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Experimental&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;As described in the &lt;a href=&#34;https://docs.google.com/document/d/1g_TNN8eOaVDC3xesO9JFdvQbPFdSTHp1vb70TD3-Vrs/edit?tab=t.0#heading=h.qiz1tfw67tbp&#34;&gt;previous&#xA;doc&lt;/a&gt;,&#xA;the current state of TLS configuration on Gateways can lead to confusing&#xA;behavior when combined with HTTP/2 connection coalescing. This GEP proposes a&#xA;series of changes to the API to address these problems.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Take steps that will make it less likely for users to encounter these problems&lt;/li&gt;&#xA;&lt;li&gt;Warn when users have configuration that is prone to these issues&lt;/li&gt;&#xA;&lt;li&gt;Provide central source of documentation explaining both the problem and&#xA;potential solutions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Breaking or significantly disruptive changes to the existing API surface&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API creates situations where clients might be able to send requests&#xA;through a Listener that, according to the Gateway’s configuration, is not&#xA;supposed to receive these requests. This can cause requests to be apparently&#xA;mis-routed.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3779/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3779/</guid>
      <description>&lt;h1 id=&#34;gep-3779-identity-based-authz-for-east-west-traffic&#34;&gt;GEP-3779: Identity Based Authz for East-West Traffic&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3779&#34;&gt;#3779&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Implementable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Provide a method for configuring Gateway API Mesh implementations to enforce east-west identity-based Authorization controls. At the time of writing this we leave Authentication for specific implementation and outside of this proposal scope.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;(Using the &lt;a href=&#34;/docs/concepts/roles-and-personas/&#34;&gt;Gateway API Personas&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A way for Ana the Application Developer to configure a Gateway API for Mesh implementation to enforce authorization policy that &lt;strong&gt;allows&lt;/strong&gt; identity or multiple identities to talk with some set (could be namespace or more granular) of the workloads she controls.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3792/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3792/</guid>
      <description>&lt;h1 id=&#34;gep-3792-out-of-cluster-gateways&#34;&gt;GEP-3792: Out-of-Cluster Gateways&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3792&#34;&gt;#3792&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Provisional&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;user-story&#34;&gt;User Story&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;/docs/concepts/roles-and-personas/#chihiro&#34;&gt;Chihiro&lt;/a&gt; and &lt;a href=&#34;/docs/concepts/roles-and-personas/#ian&#34;&gt;Ian&lt;/a&gt; want a way for out-of-cluster Gateways to be able to&#xA;usefully participate in a GAMMA-compliant in-cluster service mesh.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Historically, API gateways and ingress controllers have often been implemented&#xA;using a Service of type LoadBalancer fronting a Kubernetes pod running a&#xA;proxy. This is simple to reason about, easy to manage for sidecar meshes, and&#xA;will presumably be an important implementation mechanism for the foreseeable&#xA;future. Some cloud providers, though, are moving the proxy outside of the&#xA;cluster, for various reasons which are out of the scope of this GEP. Chihiro&#xA;and Ian want to be able to use these out-of-cluster proxies effectively and&#xA;safely, though they recognize that this may require additional configuration.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3793/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3793/</guid>
      <description>&lt;h1 id=&#34;gep-3793-default-gateways&#34;&gt;GEP-3793: Default Gateways&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3793&#34;&gt;#3793&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Implementable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;The key words &amp;ldquo;MUST&amp;rdquo;, &amp;ldquo;MUST NOT&amp;rdquo;, &amp;ldquo;REQUIRED&amp;rdquo;, &amp;ldquo;SHALL&amp;rdquo;, &amp;ldquo;SHALL NOT&amp;rdquo;, &amp;ldquo;SHOULD&amp;rdquo;,&#xA;&amp;ldquo;SHOULD NOT&amp;rdquo;, &amp;ldquo;RECOMMENDED&amp;rdquo;, &amp;ldquo;NOT RECOMMENDED&amp;rdquo;, &amp;ldquo;MAY&amp;rdquo;, and &amp;ldquo;OPTIONAL&amp;rdquo; in this&#xA;document are to be interpreted as described in BCP 14 (&lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc8174&#34;&gt;RFC8174&lt;/a&gt;) when, and&#xA;only when, they appear in all capitals, as shown here.&lt;/p&gt;&#xA;&lt;h2 id=&#34;user-story&#34;&gt;User Story&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;/docs/concepts/roles-and-personas/#ana&#34;&gt;Ana&lt;/a&gt; wants a concept of a default Gateway.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Gateway API currently requires every north/south Route object to explicitly&#xA;specify its parent Gateway. This is helpful in that it removes ambiguity, but&#xA;it&amp;rsquo;s less helpful in that &lt;a href=&#34;/docs/concepts/roles-and-personas/#ana&#34;&gt;Ana&lt;/a&gt; is stuck constantly explicitly configuring a&#xA;thing that she probably doesn&amp;rsquo;t care much about: in a great many cases, Ana&#xA;just wants to create a Route that &amp;ldquo;works from the outside world&amp;rdquo; and she&#xA;really doesn&amp;rsquo;t care what the Gateway is called.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3798/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3798/</guid>
      <description>&lt;h1 id=&#34;gep-3798-client-ip-based-session-persistence&#34;&gt;GEP-3798: Client IP-Based Session Persistence&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3798&#34;&gt;#3798&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Deferred&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;notes-and-disclaimers&#34;&gt;Notes and Disclaimers&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;DEFERRED&lt;/strong&gt;: This originally targeted release as &lt;code&gt;Experimental&lt;/code&gt; in &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/milestone/22&#34;&gt;v1.4.0&lt;/a&gt;.&#xA;Notably (in &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/pull/3844&#34;&gt;PR#3844&lt;/a&gt;) there was concern that it may be difficult to get&#xA;multiple implementations to support this. During the release cycle, this GEP&#xA;was not able to meet the timeline requirements to progress, so it is now&#xA;considered deferred. If anyone is interested in picking this back up, it will&#xA;need to be re-submitted for consideration in a future release with a written&#xA;plan about how it will achieve implementation from multiple implementations.&#xA;If this remains in deferred state for a prolonged period, it may eventually&#xA;be moved to &lt;code&gt;Withdrawn&lt;/code&gt;, or moved into the alternatives considered for&#xA;&lt;a href=&#34;/geps/gep-1619/&#34;&gt;GEP-1619&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;h3 id=&#34;what&#34;&gt;What&lt;/h3&gt;&#xA;&lt;p&gt;This GEP proposes the addition of Client IP-based session persistence to the Gateway API. This feature will allow Gateway API implementations to ensure that requests originating from a specific client IP address (or a subnet defined by an IP mask) are consistently routed to the same backend endpoint for a configurable duration. This aims to provide a standardized and centralized mechanism for client IP persistence across various Gateway API implementations.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-3949/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-3949/</guid>
      <description>&lt;h1 id=&#34;gep-3949-mesh-resource&#34;&gt;GEP-3949: Mesh Resource&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/3949&#34;&gt;#3949&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Implementable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;The key words &amp;ldquo;MUST&amp;rdquo;, &amp;ldquo;MUST NOT&amp;rdquo;, &amp;ldquo;REQUIRED&amp;rdquo;, &amp;ldquo;SHALL&amp;rdquo;, &amp;ldquo;SHALL NOT&amp;rdquo;, &amp;ldquo;SHOULD&amp;rdquo;,&#xA;&amp;ldquo;SHOULD NOT&amp;rdquo;, &amp;ldquo;RECOMMENDED&amp;rdquo;, &amp;ldquo;NOT RECOMMENDED&amp;rdquo;, &amp;ldquo;MAY&amp;rdquo;, and &amp;ldquo;OPTIONAL&amp;rdquo; in this&#xA;document are to be interpreted as described in BCP 14 (&lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc8174&#34;&gt;RFC8174&lt;/a&gt;) when, and&#xA;only when, they appear in all capitals, as shown here.&lt;/p&gt;&#xA;&lt;h2 id=&#34;user-story&#34;&gt;User Story&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;/docs/concepts/roles-and-personas/#chihiro&#34;&gt;Chihiro&lt;/a&gt; and &lt;a href=&#34;/docs/concepts/roles-and-personas/#ian&#34;&gt;Ian&lt;/a&gt; would like a Mesh resource,&#xA;parallel to the Gateway resource,&#xA;that allows them to&#xA;supply mesh-wide configuration&#xA;and&#xA;shows what features&#xA;a given mesh implementation supports.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-4152/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-4152/</guid>
      <description>&lt;h1 id=&#34;gep-4152-extending-tls-validation-in-backendtlspolicy&#34;&gt;GEP-4152: Extending TLS Validation in BackendTLSPolicy&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/4152&#34;&gt;#4152&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Provisional&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;The ability for the &lt;code&gt;BackendTLSPolicy&lt;/code&gt; to skip TLS verification or to validate&#xA;certificates based on their fingerprint or public key hash.&lt;/p&gt;&#xA;&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;&#xA;&lt;p&gt;The current &lt;code&gt;BackendTLSPolicy&lt;/code&gt; follows a secure-by-default approach that requires&#xA;users to provide a trusted CA certificate bundle or rely on the system’s default&#xA;certificate store (which typically includes root CAs) to validate backend server&#xA;certificates. However, real-world deployments include cases where strict&#xA;certificate validation may not be possible or practical, e.g., Development and&#xA;testing environments that use self-signed certificates generated dynamically at&#xA;runtime.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-696/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-696/</guid>
      <description>&lt;h1 id=&#34;gep-696-gep-template&#34;&gt;GEP-696: GEP template&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/696&#34;&gt;#696&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Provisional|Prototyping|Implementable|Experimental|Standard|Completed|Memorandum|Deferred|Declined|Withdrawn&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;status definitions&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;(1-2 sentence summary of the proposal)&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;(Primary goals of this proposal.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;longer-term-goals-optional&#34;&gt;Longer Term Goals (optional)&lt;/h2&gt;&#xA;&lt;p&gt;(goals that are not covered initially on this proposal but may be considered long term)&lt;/p&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;p&gt;(What is out of scope for this proposal.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;introductionoverview&#34;&gt;Introduction/Overview&lt;/h2&gt;&#xA;&lt;p&gt;(Can link to external doc &amp;ndash; but we should bias towards copying&#xA;the content into the GEP as online documents are easier to lose&#xA;&amp;ndash; e.g. owner messes up the permissions, accidental deletion)&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-709/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-709/</guid>
      <description>&lt;h1 id=&#34;gep-709-cross-namespace-references-from-routes&#34;&gt;GEP-709: Cross Namespace References from Routes&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/709&#34;&gt;#709&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;alert alert-note&#34; role=&#34;alert&#34;&gt;&#xA;&lt;p&gt;This resource was originally named &amp;ldquo;ReferencePolicy&amp;rdquo;. It was renamed to&#xA;&amp;ldquo;ReferenceGrant&amp;rdquo; to avoid any confusion with policy attachment.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP attempts to enable cross namespace forwarding from Routes and provide a&#xA;way to simplify adding Route inclusion (Routes including other Routes) in the&#xA;future. These are closely related concepts that can be solved with a new&#xA;ReferenceGrant resource that enables app admins to describe where they trust&#xA;references from.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-713/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-713/</guid>
      <description>&lt;h1 id=&#34;gep-713-metaresources-and-policy-attachment&#34;&gt;GEP-713: Metaresources and Policy Attachment&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/713&#34;&gt;#713&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Memorandum&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See status definitions &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;here&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP aims to standardize terminology and processes around &amp;ldquo;metaresources&amp;rdquo;, i.e., using one Kubernetes object to modify the functions of one or more other objects.&lt;/p&gt;&#xA;&lt;p&gt;It lays out guidelines for Gateway API implementations and other stakeholders for the design and/or handling of custom resources in compliance with a pattern known as Policy Attachment.&lt;/p&gt;&#xA;&lt;p&gt;This GEP specifies a &lt;em&gt;pattern&lt;/em&gt;, not an API field or new object. It defines some terms, including &lt;em&gt;Metaresource&lt;/em&gt;, &lt;em&gt;Policies&lt;/em&gt; and &lt;em&gt;Policy Attachment&lt;/em&gt;, and their related concepts.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-718/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-718/</guid>
      <description>&lt;h1 id=&#34;gep-718-rework-forwardto-segment-in-routes&#34;&gt;GEP-718: Rework forwardTo segment in routes&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/718&#34;&gt;#718&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;&#xA;&lt;h3 id=&#34;complications-due-to-the-servicename-shortcut&#34;&gt;Complications due to the &lt;code&gt;serviceName&lt;/code&gt; shortcut&lt;/h3&gt;&#xA;&lt;p&gt;Within &lt;code&gt;RouteForwardTo&lt;/code&gt; (and &lt;code&gt;HTTPRouteForwardTo&lt;/code&gt; by extension) there exists&#xA;two mechanisms to specify the upstream network endpoint where the traffic should&#xA;be forwarded to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;ServiceName&lt;/code&gt;: the name of the Kubernetes Service&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;BackendRef&lt;/code&gt;: a LocalObjectReference to a resource, this is an extension point in the API&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;While working on &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/pull/685&#34;&gt;#685&lt;/a&gt;,&#xA;it came to light that:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;BackendRef&lt;/code&gt; itself could be used to point to a Kubernetes Service&lt;/li&gt;&#xA;&lt;li&gt;With &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/pull/711&#34;&gt;GEP-709&lt;/a&gt;,&#xA;there will be a need to introduce a new &lt;code&gt;namespace&lt;/code&gt; field which will enable use-cases to forward&#xA;traffic to a services and backends located in different namespaces&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;While (1) can be fixed with more validation and documentation, it only solves for&#xA;the specific case. (2) requires adding two fields: &lt;code&gt;serviceNamespace&lt;/code&gt;&#xA;and &lt;code&gt;BackendRef.Namespace&lt;/code&gt; - something we would like to avoid since the &lt;code&gt;serviceName&lt;/code&gt;&#xA;field was introduced only as a shortcut and adding more service-specific fields&#xA;defeats the original purpose.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-724/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-724/</guid>
      <description>&lt;h1 id=&#34;gep-724-refresh-route-gateway-binding&#34;&gt;GEP-724: Refresh Route-Gateway Binding&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/724&#34;&gt;#724&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP proposes changes to Route-Gateway binding that will result in Routes&#xA;attaching to Gateways with direct references. When supporting Routes in multiple&#xA;namespaces, Gateways will need to specify the namespaces they trust Routes in.&#xA;These changes will slightly simplify the Route-Gateway relationship and make way&#xA;for the future addition of Route inclusion (Routes including other Routes).&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;Refactor cross-namespace Route-Gateway binding to:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-726/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-726/</guid>
      <description>&lt;h1 id=&#34;gep-726-add-path-redirects-and-rewrites&#34;&gt;GEP-726: Add Path Redirects and Rewrites&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/726&#34;&gt;#726&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP proposes adding support for path redirects and rewrites in addition to&#xA;host rewrites. This would augment the existing host redirection capabilities.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Implement path redirects.&lt;/li&gt;&#xA;&lt;li&gt;Implement the most portable and simple forms of path rewrites.&lt;/li&gt;&#xA;&lt;li&gt;Describe how more advanced rewrite and redirect and redirect capabilities&#xA;could be added in the future.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api&#34;&gt;API&lt;/h2&gt;&#xA;&lt;p&gt;Although many implementations support very advanced rewrite and redirect&#xA;capabilities, the following are the most &lt;a href=&#34;/geps/gep-726/#portability&#34;&gt;portable&lt;/a&gt; concepts that&#xA;are not already supported by the Gateway API:&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-735/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-735/</guid>
      <description>&lt;h1 id=&#34;gep-735-tcp-and-udp-addresses-matching&#34;&gt;GEP-735: TCP and UDP addresses matching&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/735&#34;&gt;#735&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Declined&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;notes-about-declined-status&#34;&gt;Notes about declined status&lt;/h2&gt;&#xA;&lt;p&gt;At one point before the release of &lt;code&gt;v0.5.0&lt;/code&gt; we did have an implementation&#xA;of this GEP in &lt;code&gt;main&lt;/code&gt;, but we decided to pull back on it for multiple&#xA;reasons:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;operated too much like WAF/firewall functionality, which is not in scope&lt;/li&gt;&#xA;&lt;li&gt;no implementations championing the use case&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It should also be noted that the maintainers have at least considered the&#xA;idea of an &lt;code&gt;IPRoute&lt;/code&gt; API which would help differentiate this from firewall&#xA;functionality, however there haven&amp;rsquo;t been any strong champions for such a&#xA;use case for this either.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-746/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-746/</guid>
      <description>&lt;h1 id=&#34;gep-746-replace-cert-refs-on-httproute-with-cross-namespace-refs-from-gateway&#34;&gt;GEP-746: Replace Cert Refs on HTTPRoute with Cross Namespace Refs from Gateway&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/746&#34;&gt;#746&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP proposes that we should remove TLS Certificate references from&#xA;HTTPRoute and replace them with Cross Namespace Certificate references from&#xA;Gateways. Although that is not a complete replacement on its own, this GEP shows&#xA;how a controller could provide the rest of the functionality with this approach.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Remove a confusing and underspecified part of the API - cert refs on&#xA;HTTPRoute.&lt;/li&gt;&#xA;&lt;li&gt;Add the ability to reference certificates in other namespaces from Gateways&#xA;to replace much of the functionality that was enabled by cert refs on&#xA;HTTPRoute.&lt;/li&gt;&#xA;&lt;li&gt;Describe how a controller could automate self service cert attachment to&#xA;Gateway listeners.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Actually provide a core implementation of a controller that can enable self&#xA;service cert attachment. This may be worth considering at a later point, but&#xA;is out of scope for this GEP.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;TLS Certificate references on HTTPRoute have always been a confusing part of the&#xA;Gateway API. In the v1alpha2 release, we should consider removing this feature&#xA;while we still can. This GEP proposes an alternative that is simpler to work&#xA;with and understand, while also leaving sufficient room to enable all the same&#xA;capabilities that certificate references on HTTPRoute enabled.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-820/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-820/</guid>
      <description>&lt;h1 id=&#34;gep-820-drop-extension-points-from-route-matches&#34;&gt;GEP-820: Drop extension points from Route matches&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/820&#34;&gt;#820&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Drop extension points within Route match block. These extension points are&#xA;not well understood.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Drop the extension points within Route match block.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Figure out a replacement solution for the use-case that these extension&#xA;points addressed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;As the API moves towards &lt;code&gt;v1alpha2&lt;/code&gt;, the maintainers intend to make the API&#xA;standard and forward compatible for the foreseeable future. To that end,&#xA;maintainers intend to minimize (eliminate if possible) breaking changes post&#xA;&lt;code&gt;v1alpha2&lt;/code&gt;. This GEP is part of that initiative.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-851/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-851/</guid>
      <description>&lt;h1 id=&#34;gep-851-allow-multiple-certificate-refs-per-gateway-listener&#34;&gt;GEP-851: Allow Multiple Certificate Refs per Gateway Listener&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/851&#34;&gt;#851&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Replace &lt;code&gt;CertificateRef&lt;/code&gt; field with a &lt;code&gt;CertificateRefs&lt;/code&gt; field in Gateway&#xA;Listeners.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;p&gt;Provide a path for implementations to support:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;RSA and ECDSA certs on the same Listener.&lt;/li&gt;&#xA;&lt;li&gt;Referencing certificates for different hostnames from the same Listener (maybe&#xA;as part of a self-service TLS approach).&lt;/li&gt;&#xA;&lt;li&gt;Including new and old certificates as part of renewal process.&lt;/li&gt;&#xA;&lt;li&gt;Certificate pinning: enable implementations that require certain certificates&#xA;for legacy clients while exposing a &amp;ldquo;normal&amp;rdquo; certificate to non-legacy&#xA;clients.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define how implementations should support these features. Many implementations&#xA;have limited control as far as how certs are handled. Some implementations&#xA;just pass certs directly to the dataplane and rely on that implementation&#xA;specific behavior to determine which certs are used for a given request. That&#xA;makes it difficult to define any truly portable handling of multiple&#xA;certificates.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;As described above, there are a number of potential use cases for attaching&#xA;multiple certificates to a Gateway Listener. The most straightforward reason for&#xA;that involves attaching RSA and ECDSA certs. Although this is not a very common&#xA;use case, it is a clearly understood and broadly supported example of why this&#xA;change would be helpful. This change will enable implementations to support&#xA;these more advanced use cases while still providing a portable core.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-91/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-91/</guid>
      <description>&lt;h1 id=&#34;gep-91-client-certificate-validation-for-tls-terminating-at-the-gateway&#34;&gt;GEP-91: Client Certificate Validation for TLS terminating at the Gateway&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/91&#34;&gt;#91&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(See definitions in &lt;a href=&#34;/geps/overview/#gep-states&#34;&gt;GEP States&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP proposes a way to validate the TLS certificate presented by the frontend client to the server&#xA;(Gateway in this case) during a &lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc5246#section-7.4&#34;&gt;TLS Handshake Protocol&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;connection-coalescing-security-issue&#34;&gt;Connection coalescing security issue&lt;/h2&gt;&#xA;&lt;p&gt;Gateway API standard defines a &lt;code&gt;Listener&lt;/code&gt; as &amp;ldquo;the concept of a logical endpoint where a Gateway accepts network connections.&amp;rdquo; This statement is incorrect because once the connection is established (this applies to both HTTP and TLS traffic) it can be reused across multiple listeners sharing the same port. This might lead to bypassing client certificate validation configuration for a given &lt;code&gt;Listener&lt;/code&gt;. Those concerns were raised in &lt;a href=&#34;/geps/gep-3567/&#34;&gt;GEP-3567&lt;/a&gt;. To provide the best experience for gateway users and secure their applications, client certificate configuration needs to be introduced with finer granularity per-port (binding to TCP connection).&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-917/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-917/</guid>
      <description>&lt;h1 id=&#34;gep-917-gateway-api-conformance-testing&#34;&gt;GEP-917: Gateway API Conformance Testing&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/917&#34;&gt;#917&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Memorandum&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;This GEP outlines the principles and overarching structure that Gateway API&#xA;conformance tests will be built with.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Record why we are doing conformance and what we hope to achieve with it&lt;/li&gt;&#xA;&lt;li&gt;Record the success criteria for the conformance process and associated artifacts&lt;/li&gt;&#xA;&lt;li&gt;Provide a set of guidelines for conformance test structure&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Designing the conformance testing framework or implementation&lt;/li&gt;&#xA;&lt;li&gt;Designing the process for implementations to prove they are conformant&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;h3 id=&#34;what-is-conformance&#34;&gt;What is Conformance&lt;/h3&gt;&#xA;&lt;p&gt;Conformance is the creation of a process that allows everyone, implementors and&#xA;users alike, to check that an implementation conforms to the defined spec.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-922/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-922/</guid>
      <description>&lt;h1 id=&#34;gep-922-gateway-api-versioning&#34;&gt;GEP-922: Gateway API Versioning&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/922&#34;&gt;#922&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Memorandum&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;alert alert-note&#34; role=&#34;alert&#34;&gt;&#xA;&lt;p&gt;Although this GEP serves as a reference for how we developed the Gateway API&#xA;versioning model, it is not meant to be the current source of truth.&#xA;Instead, please refer to our &lt;a href=&#34;/docs/concepts/versioning/&#34;&gt;official Versioning&#xA;Policy&lt;/a&gt; for the most up-to-date guidelines.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Each Gateway API release will be represented by a bundle version that represents&#xA;that specific combination of CRDs, API versions, and validating webhook. To&#xA;enable experimental fields, future releases of the API will include standard and&#xA;experimental CRD tracks. Users will be able to access experimental features by&#xA;installing the experimental CRDs. A cluster can contain either an experimental&#xA;or standard CRD for any resource at a given time.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-957/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-957/</guid>
      <description>&lt;h1 id=&#34;gep-957-destination-port-matching&#34;&gt;GEP-957: Destination Port Matching&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/957&#34;&gt;#957&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Add a new &lt;code&gt;port&lt;/code&gt; field to ParentRef to support port matching in Routes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support port matching in routes based on the destination port number of the&#xA;request.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support port matching based on port name.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Port matching is a common service mesh use case where traffic policies/rules&#xA;need to be applied to traffic to certain destination ports. For ingress, while&#xA;the API today already supports attaching a route to a specific listener, it may&#xA;be useful to support attaching routes to listener(s) on a specified port. This&#xA;allows route authors to apply networking behaviors on a fixed port.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/geps/gep-995/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/geps/gep-995/</guid>
      <description>&lt;h1 id=&#34;gep-995-named-route-rules&#34;&gt;GEP-995: Named route rules&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Issue: &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/995&#34;&gt;#995&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Status: Standard&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TLDR&lt;/h2&gt;&#xA;&lt;p&gt;Add a new optional &lt;code&gt;name&lt;/code&gt; field to the route rule types (&lt;a href=&#34;/reference/api-spec/main/spec/#grpcrouterule&#34;&gt;GRPCRouteRule&lt;/a&gt;, &lt;a href=&#34;/reference/api-spec/main/spec/#httprouterule&#34;&gt;HTTPRouteRule&lt;/a&gt;, &lt;a href=&#34;/reference/api-spec/main/spec/#tcprouterule&#34;&gt;TCPRouteRule&lt;/a&gt;, &lt;a href=&#34;/reference/api-spec/main/spec/#tlsrouterule&#34;&gt;TLSRouteRule&lt;/a&gt; and &lt;a href=&#34;/reference/api-spec/main/spec/#udprouterule&#34;&gt;UDPRouteRule&lt;/a&gt;) to support referencing individual rules by name.&lt;/p&gt;&#xA;&lt;h2 id=&#34;goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support referencing individual route rules by name from other resources, such as from metaresources (&lt;a href=&#34;/geps/gep-2648/#section-names&#34;&gt;GEP-2648&lt;/a&gt;.)&lt;/li&gt;&#xA;&lt;li&gt;Support referencing individual route rules by name from condition messages propagated in the status stanza of route resources as suggested in &lt;a href=&#34;https://github.com/kubernetes-sigs/gateway-api/issues/1696#issuecomment-1666258188&#34;&gt;https://github.com/kubernetes-sigs/gateway-api/issues/1696#issuecomment-1666258188&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Support referencing individual route rules by name at other observability and networking tools that are part of the ecosystem based on Gateway API.&lt;/li&gt;&#xA;&lt;li&gt;Provide a rather intuitive API for users of Kubernetes who are familiar with the same pattern employed already by other kinds of resources where lists of complex elements can be declared – e.g. service &lt;a href=&#34;https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec&#34;&gt;ports&lt;/a&gt;, pod &lt;a href=&#34;https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#containers&#34;&gt;containers&lt;/a&gt; and pod &lt;a href=&#34;https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#volumes&#34;&gt;volumes&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Provide a guide to the implementations about the expected behavior in cases where the name of the route rule is missing (empty value or &lt;code&gt;nil&lt;/code&gt;.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;non-goals&#34;&gt;Non-Goals&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mandate the &lt;code&gt;name&lt;/code&gt; field to be a require field.&lt;/li&gt;&#xA;&lt;li&gt;Limit the usage of the route rule name value for the implementations, such as exclusively for the &lt;code&gt;targetRef&lt;/code&gt; section of policies (metaresources.)&lt;/li&gt;&#xA;&lt;li&gt;Define a patch strategy for the route objects based on rule &lt;code&gt;name&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Some kinds of Gateway API types are complex types that support specifying lists of yet other complex object details within them. Examples include the &lt;a href=&#34;/reference/api-spec/main/spec/#gatewayspec&#34;&gt;&lt;code&gt;GatewaySpec&lt;/code&gt;&lt;/a&gt; type, the &lt;a href=&#34;/reference/api-spec/main/spec/#httproutespec&#34;&gt;&lt;code&gt;HTTPRouteSpec&lt;/code&gt;&lt;/a&gt; type, as well as other kinds of route specification types. Specifically, &lt;code&gt;Gateway&lt;/code&gt; objects can declare multiple complex listener details (&lt;code&gt;spec.listeners&lt;/code&gt;); similarly, &lt;code&gt;HTTPRoute&lt;/code&gt; objects may contain multiple complex routing rule details (&lt;code&gt;spec.rules&lt;/code&gt;).&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
