<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gateway on Envoy Gateway</title><link>/</link><description>Recent content in Gateway on Envoy Gateway</description><generator>Hugo</generator><language>en</language><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>Install with Helm</title><link>/docs/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/latest/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v0.5/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;The Envoy Gateway Helm chart is hosted by DockerHub.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v0.6/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;The Envoy Gateway Helm chart is hosted by DockerHub.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.0/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;The Envoy Gateway Helm chart is hosted by DockerHub.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.1/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;The Envoy Gateway Helm chart is hosted by DockerHub.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.2/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;The Envoy Gateway Helm chart is hosted by DockerHub.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.3/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.4/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.5/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Helm</title><link>/v1.6/install/install-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/install-helm/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh"&gt;Helm&lt;/a&gt; is a package manager for Kubernetes that automates the release and management of software on Kubernetes.&lt;/p&gt;
&lt;p&gt;Envoy Gateway can be installed via a Helm chart with a few simple steps, depending on if you are deploying for the first time, upgrading Envoy Gateway from an existing installation, or migrating from Envoy Gateway.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Argo CD</title><link>/docs/install/install-argocd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/install-argocd/</guid><description>&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io"&gt;Argo CD&lt;/a&gt; is a declarative, GitOps continuous delivery tool for Kubernetes.
Argo CD can be used to manage the deployment of Envoy Gateway on Kubernetes clusters.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Argo CD</title><link>/latest/install/install-argocd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/install-argocd/</guid><description>&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io"&gt;Argo CD&lt;/a&gt; is a declarative, GitOps continuous delivery tool for Kubernetes.
Argo CD can be used to manage the deployment of Envoy Gateway on Kubernetes clusters.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Argo CD</title><link>/v1.3/install/install-argocd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/install-argocd/</guid><description>&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io"&gt;Argo CD&lt;/a&gt; is a declarative, GitOps continuous delivery tool for Kubernetes.
Argo CD can be used to manage the deployment of Envoy Gateway on Kubernetes clusters.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Argo CD</title><link>/v1.4/install/install-argocd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/install-argocd/</guid><description>&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io"&gt;Argo CD&lt;/a&gt; is a declarative, GitOps continuous delivery tool for Kubernetes.
Argo CD can be used to manage the deployment of Envoy Gateway on Kubernetes clusters.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Argo CD</title><link>/v1.5/install/install-argocd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/install-argocd/</guid><description>&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io"&gt;Argo CD&lt;/a&gt; is a declarative, GitOps continuous delivery tool for Kubernetes.
Argo CD can be used to manage the deployment of Envoy Gateway on Kubernetes clusters.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Argo CD</title><link>/v1.6/install/install-argocd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/install-argocd/</guid><description>&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io"&gt;Argo CD&lt;/a&gt; is a declarative, GitOps continuous delivery tool for Kubernetes.
Argo CD can be used to manage the deployment of Envoy Gateway on Kubernetes clusters.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v0.5/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/install/install-yaml/</guid><description>&lt;p&gt;In this guide, we&amp;rsquo;ll walk you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="../install-helm"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is designed to run in Kubernetes for production. The most essential requirements are:&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v0.6/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/install/install-yaml/</guid><description>&lt;p&gt;In this guide, we&amp;rsquo;ll walk you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="../install-helm"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is designed to run in Kubernetes for production. The most essential requirements are:&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.0/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/install/install-yaml/</guid><description>&lt;p&gt;In this guide, we&amp;rsquo;ll walk you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="/v1.0/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is designed to run in Kubernetes for production. The most essential requirements are:&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.1/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="/v1.1/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is designed to run in Kubernetes for production. The most essential requirements are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes 1.27 or later&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;kubectl&lt;/code&gt; command-line tool&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="install-with-yaml"&gt;Install with YAML&lt;a class="td-heading-self-link" href="#install-with-yaml" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is typically deployed to Kubernetes from the command line. If you don&amp;rsquo;t have Kubernetes, you should use &lt;code&gt;kind&lt;/code&gt; to create one.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.2/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="/v1.2/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is designed to run in Kubernetes for production. The most essential requirements are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes 1.28 or later&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;kubectl&lt;/code&gt; command-line tool&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="install-with-yaml"&gt;Install with YAML&lt;a class="td-heading-self-link" href="#install-with-yaml" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway is typically deployed to Kubernetes from the command line. If you don&amp;rsquo;t have Kubernetes, you should use &lt;code&gt;kind&lt;/code&gt; to create one.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/docs/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual installation process does not allow for as much configuration control (e.g. when you are using a custom domain Kubernetes cluster)
as the &lt;a href="/docs/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/latest/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual installation process does not allow for as much configuration control (e.g. when you are using a custom domain Kubernetes cluster)
as the &lt;a href="/latest/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.3/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="/v1.3/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.4/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="/v1.4/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.5/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual install process does not allow for as much control over configuration
as the &lt;a href="/v1.5/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install with Kubernetes YAML</title><link>/v1.6/install/install-yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/install-yaml/</guid><description>&lt;p&gt;This task walks you through installing Envoy Gateway in your Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The manual installation process does not allow for as much configuration control (e.g. when you are using a custom domain Kubernetes cluster)
as the &lt;a href="/v1.6/install/install-helm/"&gt;Helm install method&lt;/a&gt;, so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Compatibility Matrix&lt;/h4&gt;

 Refer to the &lt;a href="/news/releases/matrix/"&gt;Version Compatibility Matrix&lt;/a&gt; to learn more.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway is typically deployed in a Kubernetes cluster.
If you don’t have one yet, you can use &lt;code&gt;kind&lt;/code&gt; to create a local cluster for testing purposes.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/docs/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h2 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/latest/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h2 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v0.5/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This guide shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v0.6/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This guide shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.0/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.1/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h2 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.2/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.3/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.4/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.5/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h2 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Install egctl</title><link>/v1.6/install/install-egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/install-egctl/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;What is egctl?&lt;/h4&gt;

 &lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.

&lt;/div&gt;

&lt;p&gt;This task shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h2 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/docs/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/latest/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.0/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;In this guide, we&amp;rsquo;ll walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.1/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.2/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.3/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.4/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.5/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Authentication using custom certs</title><link>/v1.6/install/custom-cert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/custom-cert/</guid><description>&lt;p&gt;Envoy Gateway establishes a secure TLS connection for control plane communication between Envoy Gateway pods and the Envoy Proxy fleet. The TLS Certificates used here are self signed and generated using a job that runs before envoy gateway is created, and these certs and mounted on to the envoy gateway and envoy proxy pods.&lt;/p&gt;
&lt;p&gt;This task will walk you through configuring custom certs for control plane auth.&lt;/p&gt;



&lt;h2 id="before-you-begin"&gt;Before you begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We use Cert-Manager to manage the certificates. You can install it by following the &lt;a href="https://cert-manager.io/docs/installation/kubernetes/"&gt;official guide&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>/contributions/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/roadmap/</guid><description>&lt;p&gt;This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of
the project.&lt;/p&gt;



&lt;h2 id="contributing-to-the-roadmap"&gt;Contributing to the Roadmap&lt;a class="td-heading-self-link" href="#contributing-to-the-roadmap" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To add a feature to the roadmap, create an &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;issue&lt;/a&gt; or join a &lt;a href="https://docs.google.com/document/d/1i5wa1VsxIbQw7jbWvGmvy8C4Zpp7SGV1aVViSLgqU4M/edit?usp=sharing"&gt;community meeting&lt;/a&gt; to discuss your use
case. If your feature is accepted, a maintainer will assign your issue to a &lt;a href="https://github.com/envoyproxy/gateway/milestones"&gt;release milestone&lt;/a&gt; and update
this document accordingly.&lt;/li&gt;
&lt;li&gt;To help with an existing roadmap item, comment on or assign yourself to the associated issue.&lt;/li&gt;
&lt;li&gt;If a roadmap item doesn&amp;rsquo;t have an issue, create one, assign yourself to the issue, and reference this document. A
maintainer will submit a &lt;a href="https://github.com/envoyproxy/gateway/compare"&gt;pull request&lt;/a&gt; to add the feature to the roadmap. &lt;strong&gt;Note:&lt;/strong&gt; The feature should be
discussed in an issue or a community meeting before implementing it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know where to start contributing, help is needed to reduce technical, automation, and documentation debt.
Look for issues with the &lt;code&gt;help wanted&lt;/code&gt; label to get started.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>/v0.2/contributions/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/roadmap/</guid><description>&lt;p&gt;This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of
the project.&lt;/p&gt;



&lt;h2 id="contributing-to-the-roadmap"&gt;Contributing to the Roadmap&lt;a class="td-heading-self-link" href="#contributing-to-the-roadmap" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To add a feature to the roadmap, create an &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;issue&lt;/a&gt; or join a &lt;a href="https://docs.google.com/document/d/1i5wa1VsxIbQw7jbWvGmvy8C4Zpp7SGV1aVViSLgqU4M/edit?usp=sharing"&gt;community meeting&lt;/a&gt; to discuss your use
case. If your feature is accepted, a maintainer will assign your issue to a &lt;a href="https://github.com/envoyproxy/gateway/milestones"&gt;release milestone&lt;/a&gt; and update
this document accordingly.&lt;/li&gt;
&lt;li&gt;To help with an existing roadmap item, comment on or assign yourself to the associated issue.&lt;/li&gt;
&lt;li&gt;If a roadmap item doesn&amp;rsquo;t have an issue, create one, assign yourself to the issue, and reference this document. A
maintainer will submit a &lt;a href="https://github.com/envoyproxy/gateway/compare"&gt;pull request&lt;/a&gt; to add the feature to the roadmap. &lt;strong&gt;Note:&lt;/strong&gt; The feature should be
discussed in an issue or a community meeting before implementing it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know where to start contributing, help is needed to reduce technical, automation, and documentation debt.
Look for issues with the &lt;code&gt;help wanted&lt;/code&gt; label to get started.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>/v0.3/contributions/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/roadmap/</guid><description>&lt;p&gt;This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of
the project.&lt;/p&gt;



&lt;h2 id="contributing-to-the-roadmap"&gt;Contributing to the Roadmap&lt;a class="td-heading-self-link" href="#contributing-to-the-roadmap" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To add a feature to the roadmap, create an &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;issue&lt;/a&gt; or join a &lt;a href="https://docs.google.com/document/d/1i5wa1VsxIbQw7jbWvGmvy8C4Zpp7SGV1aVViSLgqU4M/edit?usp=sharing"&gt;community meeting&lt;/a&gt; to discuss your use
case. If your feature is accepted, a maintainer will assign your issue to a &lt;a href="https://github.com/envoyproxy/gateway/milestones"&gt;release milestone&lt;/a&gt; and update
this document accordingly.&lt;/li&gt;
&lt;li&gt;To help with an existing roadmap item, comment on or assign yourself to the associated issue.&lt;/li&gt;
&lt;li&gt;If a roadmap item doesn&amp;rsquo;t have an issue, create one, assign yourself to the issue, and reference this document. A
maintainer will submit a &lt;a href="https://github.com/envoyproxy/gateway/compare"&gt;pull request&lt;/a&gt; to add the feature to the roadmap. &lt;strong&gt;Note:&lt;/strong&gt; The feature should be
discussed in an issue or a community meeting before implementing it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know where to start contributing, help is needed to reduce technical, automation, and documentation debt.
Look for issues with the &lt;code&gt;help wanted&lt;/code&gt; label to get started.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>/v0.4/contributions/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/roadmap/</guid><description>&lt;p&gt;This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of
the project.&lt;/p&gt;



&lt;h2 id="contributing-to-the-roadmap"&gt;Contributing to the Roadmap&lt;a class="td-heading-self-link" href="#contributing-to-the-roadmap" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To add a feature to the roadmap, create an &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;issue&lt;/a&gt; or join a &lt;a href="https://docs.google.com/document/d/1i5wa1VsxIbQw7jbWvGmvy8C4Zpp7SGV1aVViSLgqU4M/edit?usp=sharing"&gt;community meeting&lt;/a&gt; to discuss your use
case. If your feature is accepted, a maintainer will assign your issue to a &lt;a href="https://github.com/envoyproxy/gateway/milestones"&gt;release milestone&lt;/a&gt; and update
this document accordingly.&lt;/li&gt;
&lt;li&gt;To help with an existing roadmap item, comment on or assign yourself to the associated issue.&lt;/li&gt;
&lt;li&gt;If a roadmap item doesn&amp;rsquo;t have an issue, create one, assign yourself to the issue, and reference this document. A
maintainer will submit a &lt;a href="https://github.com/envoyproxy/gateway/compare"&gt;pull request&lt;/a&gt; to add the feature to the roadmap. &lt;strong&gt;Note:&lt;/strong&gt; The feature should be
discussed in an issue or a community meeting before implementing it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know where to start contributing, help is needed to reduce technical, automation, and documentation debt.
Look for issues with the &lt;code&gt;help wanted&lt;/code&gt; label to get started.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>/v0.5/contributions/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/roadmap/</guid><description>&lt;p&gt;This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of
the project.&lt;/p&gt;



&lt;h2 id="contributing-to-the-roadmap"&gt;Contributing to the Roadmap&lt;a class="td-heading-self-link" href="#contributing-to-the-roadmap" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To add a feature to the roadmap, create an &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;issue&lt;/a&gt; or join a &lt;a href="https://docs.google.com/document/d/1i5wa1VsxIbQw7jbWvGmvy8C4Zpp7SGV1aVViSLgqU4M/edit?usp=sharing"&gt;community meeting&lt;/a&gt; to discuss your use
case. If your feature is accepted, a maintainer will assign your issue to a &lt;a href="https://github.com/envoyproxy/gateway/milestones"&gt;release milestone&lt;/a&gt; and update
this document accordingly.&lt;/li&gt;
&lt;li&gt;To help with an existing roadmap item, comment on or assign yourself to the associated issue.&lt;/li&gt;
&lt;li&gt;If a roadmap item doesn&amp;rsquo;t have an issue, create one, assign yourself to the issue, and reference this document. A
maintainer will submit a &lt;a href="https://github.com/envoyproxy/gateway/compare"&gt;pull request&lt;/a&gt; to add the feature to the roadmap. &lt;strong&gt;Note:&lt;/strong&gt; The feature should be
discussed in an issue or a community meeting before implementing it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know where to start contributing, help is needed to reduce technical, automation, and documentation debt.
Look for issues with the &lt;code&gt;help wanted&lt;/code&gt; label to get started.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>/v0.6/contributions/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/roadmap/</guid><description>&lt;p&gt;This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of
the project.&lt;/p&gt;



&lt;h2 id="contributing-to-the-roadmap"&gt;Contributing to the Roadmap&lt;a class="td-heading-self-link" href="#contributing-to-the-roadmap" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To add a feature to the roadmap, create an &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;issue&lt;/a&gt; or join a &lt;a href="https://docs.google.com/document/d/1i5wa1VsxIbQw7jbWvGmvy8C4Zpp7SGV1aVViSLgqU4M/edit?usp=sharing"&gt;community meeting&lt;/a&gt; to discuss your use
case. If your feature is accepted, a maintainer will assign your issue to a &lt;a href="https://github.com/envoyproxy/gateway/milestones"&gt;release milestone&lt;/a&gt; and update
this document accordingly.&lt;/li&gt;
&lt;li&gt;To help with an existing roadmap item, comment on or assign yourself to the associated issue.&lt;/li&gt;
&lt;li&gt;If a roadmap item doesn&amp;rsquo;t have an issue, create one, assign yourself to the issue, and reference this document. A
maintainer will submit a &lt;a href="https://github.com/envoyproxy/gateway/compare"&gt;pull request&lt;/a&gt; to add the feature to the roadmap. &lt;strong&gt;Note:&lt;/strong&gt; The feature should be
discussed in an issue or a community meeting before implementing it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know where to start contributing, help is needed to reduce technical, automation, and documentation debt.
Look for issues with the &lt;code&gt;help wanted&lt;/code&gt; label to get started.&lt;/p&gt;</description></item><item><title>Gateway API Extensions</title><link>/docs/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established.&lt;/p&gt;</description></item><item><title>Gateway API Extensions</title><link>/latest/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established.&lt;/p&gt;</description></item><item><title>Gateway API Extensions</title><link>/v1.4/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established.&lt;/p&gt;</description></item><item><title>Gateway API Extensions</title><link>/v1.5/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established.&lt;/p&gt;</description></item><item><title>Gateway API Extensions</title><link>/v1.6/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established.&lt;/p&gt;</description></item><item><title>Goals</title><link>/contributions/design/goals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/goals/</guid><description>&lt;p&gt;The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption
through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing
use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer
fundamental interactions.&lt;/p&gt;



&lt;h2 id="objectives"&gt;Objectives&lt;a class="td-heading-self-link" href="#objectives" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="expressive-api"&gt;Expressive API&lt;a class="td-heading-self-link" href="#expressive-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities.&lt;/p&gt;</description></item><item><title>Goals</title><link>/v0.2/design/goals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/design/goals/</guid><description>&lt;p&gt;The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption
through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing
use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer
fundamental interactions.&lt;/p&gt;



&lt;h2 id="objectives"&gt;Objectives&lt;a class="td-heading-self-link" href="#objectives" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="expressive-api"&gt;Expressive API&lt;a class="td-heading-self-link" href="#expressive-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities.&lt;/p&gt;</description></item><item><title>Goals</title><link>/v0.3/design/goals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/goals/</guid><description>&lt;p&gt;The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption
through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing
use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer
fundamental interactions.&lt;/p&gt;



&lt;h2 id="objectives"&gt;Objectives&lt;a class="td-heading-self-link" href="#objectives" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="expressive-api"&gt;Expressive API&lt;a class="td-heading-self-link" href="#expressive-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities.&lt;/p&gt;</description></item><item><title>Goals</title><link>/v0.4/design/goals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/goals/</guid><description>&lt;p&gt;The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption
through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing
use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer
fundamental interactions.&lt;/p&gt;



&lt;h2 id="objectives"&gt;Objectives&lt;a class="td-heading-self-link" href="#objectives" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="expressive-api"&gt;Expressive API&lt;a class="td-heading-self-link" href="#expressive-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities.&lt;/p&gt;</description></item><item><title>Goals</title><link>/v0.5/design/goals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/goals/</guid><description>&lt;p&gt;The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption
through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing
use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer
fundamental interactions.&lt;/p&gt;



&lt;h2 id="objectives"&gt;Objectives&lt;a class="td-heading-self-link" href="#objectives" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="expressive-api"&gt;Expressive API&lt;a class="td-heading-self-link" href="#expressive-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities.&lt;/p&gt;</description></item><item><title>Goals</title><link>/v0.6/design/goals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/goals/</guid><description>&lt;p&gt;The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption
through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing
use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer
fundamental interactions.&lt;/p&gt;



&lt;h2 id="objectives"&gt;Objectives&lt;a class="td-heading-self-link" href="#objectives" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="expressive-api"&gt;Expressive API&lt;a class="td-heading-self-link" href="#expressive-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/docs/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/latest/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v0.2/user/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/quickstart/</guid><description>&lt;p&gt;This guide will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.2.0/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.2.0/quickstart.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="testing-the-configuration"&gt;Testing the Configuration&lt;a class="td-heading-self-link" href="#testing-the-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Get the name of the Envoy service created the by the example Gateway:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v0.3/user/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/quickstart/</guid><description>&lt;p&gt;This guide will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.3.0/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.3.0/quickstart.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: &lt;a href="https://github.com/envoyproxy/gateway/releases/download/v0.3.0/quickstart.yaml"&gt;&lt;code&gt;quickstart.yaml&lt;/code&gt;&lt;/a&gt; defines that Envoy Gateway will listen for
traffic on port 80 on its globally-routable IP address, to make it easy to use
browsers to test Envoy Gateway. When Envoy Gateway sees that its Listener is
using a privileged port (&amp;lt;1024), it will map this internally to an
unprivileged port, so that Envoy Gateway doesn&amp;rsquo;t need additional privileges.
It&amp;rsquo;s important to be aware of this mapping, since you may need to take it into
consideration when debugging.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v0.4/user/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/quickstart/</guid><description>&lt;p&gt;This guide will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.4.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v0.5/user/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/quickstart/</guid><description>&lt;p&gt;This guide will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v0.6/user/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/quickstart/</guid><description>&lt;p&gt;This guide will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster, does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.0/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster, does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.1/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For Mac user, you need install and run &lt;a href="https://github.com/chipmk/docker-mac-net-connect"&gt;Docker Mac Net Connect&lt;/a&gt; to make the Docker network work.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.2/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For Mac user, you need install and run &lt;a href="https://github.com/chipmk/docker-mac-net-connect"&gt;Docker Mac Net Connect&lt;/a&gt; to make the Docker network work.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.3/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For Mac user, you need install and run &lt;a href="https://github.com/chipmk/docker-mac-net-connect"&gt;Docker Mac Net Connect&lt;/a&gt; to make the Docker network work.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.4/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For Mac user, you need install and run &lt;a href="https://github.com/chipmk/docker-mac-net-connect"&gt;Docker Mac Net Connect&lt;/a&gt; to make the Docker network work.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.5/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>/v1.6/tasks/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/quickstart/</guid><description>&lt;p&gt;This &amp;ldquo;quick start&amp;rdquo; will help you get started with Envoy Gateway in a few simple steps.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Refer to the &lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt; for supported Kubernetes versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case your Kubernetes cluster does not have a LoadBalancer implementation, we recommend installing one
so the &lt;code&gt;Gateway&lt;/code&gt; resource has an Address associated with it. We recommend using &lt;a href="https://metallb.universe.tf/installation/"&gt;MetalLB&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway:&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/docs/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/latest/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/v1.3/concepts/introduction/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/introduction/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/v1.4/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/v1.4/concepts/introduction/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/v1.5/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>The Gateway API</title><link>/v1.6/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>Developer Guide</title><link>/contributions/develop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/develop/</guid><description>&lt;p&gt;Envoy Gateway is built using a &lt;a href="https://www.gnu.org/software/make/"&gt;make&lt;/a&gt;-based build system. Our CI is based on &lt;a href="https://docs.github.com/en/actions"&gt;Github Actions&lt;/a&gt; using &lt;a href="https://github.com/envoyproxy/gateway/tree/main/.github/workflows"&gt;workflows&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="go"&gt;go&lt;a class="td-heading-self-link" href="#go" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version: 1.24&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://go.dev/doc/install"&gt;https://go.dev/doc/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="make"&gt;make&lt;a class="td-heading-self-link" href="#make" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Recommended Version: 4.0 or later&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://www.gnu.org/software/make"&gt;https://www.gnu.org/software/make&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="docker"&gt;docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optional when you want to build a Docker image or run &lt;code&gt;make&lt;/code&gt; inside Docker.&lt;/li&gt;
&lt;li&gt;Recommended Version: 20.10.16&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://docs.docker.com/engine/install"&gt;https://docs.docker.com/engine/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="python3"&gt;python3&lt;a class="td-heading-self-link" href="#python3" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need a &lt;code&gt;python3&lt;/code&gt; program&lt;/li&gt;
&lt;li&gt;Must have a functioning &lt;code&gt;venv&lt;/code&gt; module; this is part of the standard
library, but some distributions (such as Debian and Ubuntu) replace
it with a stub and require you to install a &lt;code&gt;python3-venv&lt;/code&gt; package
separately.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quickstart"&gt;Quickstart&lt;a class="td-heading-self-link" href="#quickstart" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Run &lt;code&gt;make help&lt;/code&gt; to see all the available targets to build, test and run Envoy Gateway. Below are the other make directives&lt;/p&gt;</description></item><item><title>Developer Guide</title><link>/v0.2/contributions/develop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/develop/</guid><description>&lt;p&gt;Envoy Gateway is built using a &lt;a href="https://www.gnu.org/software/make/"&gt;make&lt;/a&gt;-based build system. Our CI is based on &lt;a href="https://docs.github.com/en/actions"&gt;Github Actions&lt;/a&gt; using &lt;a href="https://github.com/envoyproxy/gateway/tree/main/.github/workflows"&gt;workflows&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="go"&gt;go&lt;a class="td-heading-self-link" href="#go" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version: 1.20&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://go.dev/doc/install"&gt;https://go.dev/doc/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="make"&gt;make&lt;a class="td-heading-self-link" href="#make" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Recommended Version: 4.0 or later&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://www.gnu.org/software/make"&gt;https://www.gnu.org/software/make&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="docker"&gt;docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optional when you want to build a Docker image or run &lt;code&gt;make&lt;/code&gt; inside Docker.&lt;/li&gt;
&lt;li&gt;Recommended Version: 20.10.16&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://docs.docker.com/engine/install"&gt;https://docs.docker.com/engine/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="python3"&gt;python3&lt;a class="td-heading-self-link" href="#python3" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need a &lt;code&gt;python3&lt;/code&gt; program&lt;/li&gt;
&lt;li&gt;Must have a functioning &lt;code&gt;venv&lt;/code&gt; module; this is part of the standard
library, but some distributions (such as Debian and Ubuntu) replace
it with a stub and require you to install a &lt;code&gt;python3-venv&lt;/code&gt; package
separately.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quickstart"&gt;Quickstart&lt;a class="td-heading-self-link" href="#quickstart" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make help&lt;/code&gt; to see all the available targets to build, test and run Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="building"&gt;Building&lt;a class="td-heading-self-link" href="#building" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make build&lt;/code&gt; to build all the binaries.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt; to build the Envoy Gateway binary.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;egctl&amp;quot;&lt;/code&gt; to build the egctl binary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The binaries get generated in the &lt;code&gt;bin/$OS/$ARCH&lt;/code&gt; directory, for example, &lt;code&gt;bin/linux/amd64/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Developer Guide</title><link>/v0.3/contributions/develop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/develop/</guid><description>&lt;p&gt;Envoy Gateway is built using a &lt;a href="https://www.gnu.org/software/make/"&gt;make&lt;/a&gt;-based build system. Our CI is based on &lt;a href="https://docs.github.com/en/actions"&gt;Github Actions&lt;/a&gt; using &lt;a href="https://github.com/envoyproxy/gateway/tree/main/.github/workflows"&gt;workflows&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="go"&gt;go&lt;a class="td-heading-self-link" href="#go" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version: 1.20&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://go.dev/doc/install"&gt;https://go.dev/doc/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="make"&gt;make&lt;a class="td-heading-self-link" href="#make" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Recommended Version: 4.0 or later&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://www.gnu.org/software/make"&gt;https://www.gnu.org/software/make&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="docker"&gt;docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optional when you want to build a Docker image or run &lt;code&gt;make&lt;/code&gt; inside Docker.&lt;/li&gt;
&lt;li&gt;Recommended Version: 20.10.16&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://docs.docker.com/engine/install"&gt;https://docs.docker.com/engine/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="python3"&gt;python3&lt;a class="td-heading-self-link" href="#python3" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need a &lt;code&gt;python3&lt;/code&gt; program&lt;/li&gt;
&lt;li&gt;Must have a functioning &lt;code&gt;venv&lt;/code&gt; module; this is part of the standard
library, but some distributions (such as Debian and Ubuntu) replace
it with a stub and require you to install a &lt;code&gt;python3-venv&lt;/code&gt; package
separately.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quickstart"&gt;Quickstart&lt;a class="td-heading-self-link" href="#quickstart" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make help&lt;/code&gt; to see all the available targets to build, test and run Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="building"&gt;Building&lt;a class="td-heading-self-link" href="#building" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make build&lt;/code&gt; to build all the binaries.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt; to build the Envoy Gateway binary.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;egctl&amp;quot;&lt;/code&gt; to build the egctl binary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The binaries get generated in the &lt;code&gt;bin/$OS/$ARCH&lt;/code&gt; directory, for example, &lt;code&gt;bin/linux/amd64/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Developer Guide</title><link>/v0.4/contributions/develop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/develop/</guid><description>&lt;p&gt;Envoy Gateway is built using a &lt;a href="https://www.gnu.org/software/make/"&gt;make&lt;/a&gt;-based build system. Our CI is based on &lt;a href="https://docs.github.com/en/actions"&gt;Github Actions&lt;/a&gt; using &lt;a href="https://github.com/envoyproxy/gateway/tree/main/.github/workflows"&gt;workflows&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="go"&gt;go&lt;a class="td-heading-self-link" href="#go" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version: 1.20&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://go.dev/doc/install"&gt;https://go.dev/doc/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="make"&gt;make&lt;a class="td-heading-self-link" href="#make" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Recommended Version: 4.0 or later&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://www.gnu.org/software/make"&gt;https://www.gnu.org/software/make&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="docker"&gt;docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optional when you want to build a Docker image or run &lt;code&gt;make&lt;/code&gt; inside Docker.&lt;/li&gt;
&lt;li&gt;Recommended Version: 20.10.16&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://docs.docker.com/engine/install"&gt;https://docs.docker.com/engine/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="python3"&gt;python3&lt;a class="td-heading-self-link" href="#python3" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need a &lt;code&gt;python3&lt;/code&gt; program&lt;/li&gt;
&lt;li&gt;Must have a functioning &lt;code&gt;venv&lt;/code&gt; module; this is part of the standard
library, but some distributions (such as Debian and Ubuntu) replace
it with a stub and require you to install a &lt;code&gt;python3-venv&lt;/code&gt; package
separately.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quickstart"&gt;Quickstart&lt;a class="td-heading-self-link" href="#quickstart" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make help&lt;/code&gt; to see all the available targets to build, test and run Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="building"&gt;Building&lt;a class="td-heading-self-link" href="#building" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make build&lt;/code&gt; to build all the binaries.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt; to build the Envoy Gateway binary.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;egctl&amp;quot;&lt;/code&gt; to build the egctl binary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The binaries get generated in the &lt;code&gt;bin/$OS/$ARCH&lt;/code&gt; directory, for example, &lt;code&gt;bin/linux/amd64/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Developer Guide</title><link>/v0.5/contributions/develop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/develop/</guid><description>&lt;p&gt;Envoy Gateway is built using a &lt;a href="https://www.gnu.org/software/make/"&gt;make&lt;/a&gt;-based build system. Our CI is based on &lt;a href="https://docs.github.com/en/actions"&gt;Github Actions&lt;/a&gt; using &lt;a href="https://github.com/envoyproxy/gateway/tree/main/.github/workflows"&gt;workflows&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="go"&gt;go&lt;a class="td-heading-self-link" href="#go" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version: 1.20&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://go.dev/doc/install"&gt;https://go.dev/doc/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="make"&gt;make&lt;a class="td-heading-self-link" href="#make" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Recommended Version: 4.0 or later&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://www.gnu.org/software/make"&gt;https://www.gnu.org/software/make&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="docker"&gt;docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optional when you want to build a Docker image or run &lt;code&gt;make&lt;/code&gt; inside Docker.&lt;/li&gt;
&lt;li&gt;Recommended Version: 20.10.16&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://docs.docker.com/engine/install"&gt;https://docs.docker.com/engine/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="python3"&gt;python3&lt;a class="td-heading-self-link" href="#python3" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need a &lt;code&gt;python3&lt;/code&gt; program&lt;/li&gt;
&lt;li&gt;Must have a functioning &lt;code&gt;venv&lt;/code&gt; module; this is part of the standard
library, but some distributions (such as Debian and Ubuntu) replace
it with a stub and require you to install a &lt;code&gt;python3-venv&lt;/code&gt; package
separately.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quickstart"&gt;Quickstart&lt;a class="td-heading-self-link" href="#quickstart" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make help&lt;/code&gt; to see all the available targets to build, test and run Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="building"&gt;Building&lt;a class="td-heading-self-link" href="#building" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make build&lt;/code&gt; to build all the binaries.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt; to build the Envoy Gateway binary.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;egctl&amp;quot;&lt;/code&gt; to build the egctl binary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The binaries get generated in the &lt;code&gt;bin/$OS/$ARCH&lt;/code&gt; directory, for example, &lt;code&gt;bin/linux/amd64/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Developer Guide</title><link>/v0.6/contributions/develop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/develop/</guid><description>&lt;p&gt;Envoy Gateway is built using a &lt;a href="https://www.gnu.org/software/make/"&gt;make&lt;/a&gt;-based build system. Our CI is based on &lt;a href="https://docs.github.com/en/actions"&gt;Github Actions&lt;/a&gt; using &lt;a href="https://github.com/envoyproxy/gateway/tree/main/.github/workflows"&gt;workflows&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="go"&gt;go&lt;a class="td-heading-self-link" href="#go" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version: 1.20&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://go.dev/doc/install"&gt;https://go.dev/doc/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="make"&gt;make&lt;a class="td-heading-self-link" href="#make" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Recommended Version: 4.0 or later&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://www.gnu.org/software/make"&gt;https://www.gnu.org/software/make&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="docker"&gt;docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optional when you want to build a Docker image or run &lt;code&gt;make&lt;/code&gt; inside Docker.&lt;/li&gt;
&lt;li&gt;Recommended Version: 20.10.16&lt;/li&gt;
&lt;li&gt;Installation Guide: &lt;a href="https://docs.docker.com/engine/install"&gt;https://docs.docker.com/engine/install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="python3"&gt;python3&lt;a class="td-heading-self-link" href="#python3" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need a &lt;code&gt;python3&lt;/code&gt; program&lt;/li&gt;
&lt;li&gt;Must have a functioning &lt;code&gt;venv&lt;/code&gt; module; this is part of the standard
library, but some distributions (such as Debian and Ubuntu) replace
it with a stub and require you to install a &lt;code&gt;python3-venv&lt;/code&gt; package
separately.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quickstart"&gt;Quickstart&lt;a class="td-heading-self-link" href="#quickstart" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make help&lt;/code&gt; to see all the available targets to build, test and run Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="building"&gt;Building&lt;a class="td-heading-self-link" href="#building" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;make build&lt;/code&gt; to build all the binaries.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt; to build the Envoy Gateway binary.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make build BINS=&amp;quot;egctl&amp;quot;&lt;/code&gt; to build the egctl binary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The binaries get generated in the &lt;code&gt;bin/$OS/$ARCH&lt;/code&gt; directory, for example, &lt;code&gt;bin/linux/amd64/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>System Design</title><link>/contributions/design/system-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/system-design/</guid><description>&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to satisfy the requirements of Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a detailed design and interface specification for each system component.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="terminology"&gt;Terminology&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Control Plane- A collection of inter-related software components for providing application gateway and routing
functionality. The control plane is implemented by Envoy Gateway and provides services for managing the data plane.
These services are detailed in the &lt;a href="/contributions/design/system-design/#components"&gt;components&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Data Plane- Provides intelligent application-level traffic routing and is implemented as one or more Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/architecture.png" alt="Architecture"&gt;&lt;/p&gt;</description></item><item><title>System Design</title><link>/v0.2/design/system-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/design/system-design/</guid><description>&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to satisfy the requirements of Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a detailed design and interface specification for each system component.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="terminology"&gt;Terminology&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Control Plane- A collection of inter-related software components for providing application gateway and routing
functionality. The control plane is implemented by Envoy Gateway and provides services for managing the data plane.
These services are detailed in the &lt;a href="/v0.2/design/system-design/#components"&gt;components&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Data Plane- Provides intelligent application-level traffic routing and is implemented as one or more Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/architecture.png" alt="Architecture"&gt;&lt;/p&gt;</description></item><item><title>System Design</title><link>/v0.3/design/system-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/system-design/</guid><description>&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to satisfy the requirements of Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a detailed design and interface specification for each system component.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="terminology"&gt;Terminology&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Control Plane- A collection of inter-related software components for providing application gateway and routing
functionality. The control plane is implemented by Envoy Gateway and provides services for managing the data plane.
These services are detailed in the &lt;a href="/v0.3/design/system-design/#components"&gt;components&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Data Plane- Provides intelligent application-level traffic routing and is implemented as one or more Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/architecture.png" alt="Architecture"&gt;&lt;/p&gt;</description></item><item><title>System Design</title><link>/v0.4/design/system-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/system-design/</guid><description>&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to satisfy the requirements of Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a detailed design and interface specification for each system component.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="terminology"&gt;Terminology&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Control Plane- A collection of inter-related software components for providing application gateway and routing
functionality. The control plane is implemented by Envoy Gateway and provides services for managing the data plane.
These services are detailed in the &lt;a href="/v0.4/design/system-design/#components"&gt;components&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Data Plane- Provides intelligent application-level traffic routing and is implemented as one or more Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/architecture.png" alt="Architecture"&gt;&lt;/p&gt;</description></item><item><title>System Design</title><link>/v0.5/design/system-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/system-design/</guid><description>&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to satisfy the requirements of Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a detailed design and interface specification for each system component.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="terminology"&gt;Terminology&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Control Plane- A collection of inter-related software components for providing application gateway and routing
functionality. The control plane is implemented by Envoy Gateway and provides services for managing the data plane.
These services are detailed in the &lt;a href="/v0.5/design/system-design/#components"&gt;components&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Data Plane- Provides intelligent application-level traffic routing and is implemented as one or more Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/architecture.png" alt="Architecture"&gt;&lt;/p&gt;</description></item><item><title>System Design</title><link>/v0.6/design/system-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/system-design/</guid><description>&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to satisfy the requirements of Envoy Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a detailed design and interface specification for each system component.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="terminology"&gt;Terminology&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Control Plane- A collection of inter-related software components for providing application gateway and routing
functionality. The control plane is implemented by Envoy Gateway and provides services for managing the data plane.
These services are detailed in the &lt;a href="/v0.6/design/system-design/#components"&gt;components&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Data Plane- Provides intelligent application-level traffic routing and is implemented as one or more Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/architecture.png" alt="Architecture"&gt;&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/docs/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/latest/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.3/concepts/introduction/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/introduction/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.4/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.4/concepts/introduction/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.5/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.6/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>Contributing</title><link>/contributions/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/contributing/</guid><description>&lt;p&gt;We welcome contributions from the community. Please carefully review the &lt;a href="/about/"&gt;project goals&lt;/a&gt;
and following guidelines to streamline your contributions.&lt;/p&gt;



&lt;h2 id="communication"&gt;Communication&lt;a class="td-heading-self-link" href="#communication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before starting work on a major feature, please contact us via GitHub or Slack. We will ensure no
one else is working on it and ask you to open a GitHub issue.&lt;/li&gt;
&lt;li&gt;A &amp;ldquo;major feature&amp;rdquo; is defined as any change that is &amp;gt; 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that &lt;a href="../codeowners"&gt;affiliations with commit access&lt;/a&gt; can
come to agreement on the design. If it&amp;rsquo;s appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.&lt;/li&gt;
&lt;li&gt;Small patches and bug fixes don&amp;rsquo;t need prior communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="inclusivity"&gt;Inclusivity&lt;a class="td-heading-self-link" href="#inclusivity" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway community has an explicit goal to be inclusive to all. As such, all PRs must adhere
to the following guidelines for all code, APIs, and documentation:&lt;/p&gt;</description></item><item><title>Contributing</title><link>/v0.2/contributions/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/contributing/</guid><description>&lt;p&gt;We welcome contributions from the community. Please carefully review the &lt;a href="/about/"&gt;project goals&lt;/a&gt;
and following guidelines to streamline your contributions.&lt;/p&gt;



&lt;h2 id="communication"&gt;Communication&lt;a class="td-heading-self-link" href="#communication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before starting work on a major feature, please contact us via GitHub or Slack. We will ensure no
one else is working on it and ask you to open a GitHub issue.&lt;/li&gt;
&lt;li&gt;A &amp;ldquo;major feature&amp;rdquo; is defined as any change that is &amp;gt; 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that &lt;a href="../codeowners"&gt;affiliations with commit access&lt;/a&gt; can
come to agreement on the design. If it&amp;rsquo;s appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.&lt;/li&gt;
&lt;li&gt;Small patches and bug fixes don&amp;rsquo;t need prior communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="inclusivity"&gt;Inclusivity&lt;a class="td-heading-self-link" href="#inclusivity" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway community has an explicit goal to be inclusive to all. As such, all PRs must adhere
to the following guidelines for all code, APIs, and documentation:&lt;/p&gt;</description></item><item><title>Contributing</title><link>/v0.3/contributions/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/contributing/</guid><description>&lt;p&gt;We welcome contributions from the community. Please carefully review the &lt;a href="/about/"&gt;project goals&lt;/a&gt;
and following guidelines to streamline your contributions.&lt;/p&gt;



&lt;h2 id="communication"&gt;Communication&lt;a class="td-heading-self-link" href="#communication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before starting work on a major feature, please contact us via GitHub or Slack. We will ensure no
one else is working on it and ask you to open a GitHub issue.&lt;/li&gt;
&lt;li&gt;A &amp;ldquo;major feature&amp;rdquo; is defined as any change that is &amp;gt; 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that &lt;a href="../codeowners"&gt;affiliations with commit access&lt;/a&gt; can
come to agreement on the design. If it&amp;rsquo;s appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.&lt;/li&gt;
&lt;li&gt;Small patches and bug fixes don&amp;rsquo;t need prior communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="inclusivity"&gt;Inclusivity&lt;a class="td-heading-self-link" href="#inclusivity" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway community has an explicit goal to be inclusive to all. As such, all PRs must adhere
to the following guidelines for all code, APIs, and documentation:&lt;/p&gt;</description></item><item><title>Contributing</title><link>/v0.4/contributions/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/contributing/</guid><description>&lt;p&gt;We welcome contributions from the community. Please carefully review the &lt;a href="/about/"&gt;project goals&lt;/a&gt;
and following guidelines to streamline your contributions.&lt;/p&gt;



&lt;h2 id="communication"&gt;Communication&lt;a class="td-heading-self-link" href="#communication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before starting work on a major feature, please contact us via GitHub or Slack. We will ensure no
one else is working on it and ask you to open a GitHub issue.&lt;/li&gt;
&lt;li&gt;A &amp;ldquo;major feature&amp;rdquo; is defined as any change that is &amp;gt; 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that &lt;a href="../codeowners"&gt;affiliations with commit access&lt;/a&gt; can
come to agreement on the design. If it&amp;rsquo;s appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.&lt;/li&gt;
&lt;li&gt;Small patches and bug fixes don&amp;rsquo;t need prior communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="inclusivity"&gt;Inclusivity&lt;a class="td-heading-self-link" href="#inclusivity" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway community has an explicit goal to be inclusive to all. As such, all PRs must adhere
to the following guidelines for all code, APIs, and documentation:&lt;/p&gt;</description></item><item><title>Contributing</title><link>/v0.5/contributions/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/contributing/</guid><description>&lt;p&gt;We welcome contributions from the community. Please carefully review the &lt;a href="/about/"&gt;project goals&lt;/a&gt;
and following guidelines to streamline your contributions.&lt;/p&gt;



&lt;h2 id="communication"&gt;Communication&lt;a class="td-heading-self-link" href="#communication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before starting work on a major feature, please contact us via GitHub or Slack. We will ensure no
one else is working on it and ask you to open a GitHub issue.&lt;/li&gt;
&lt;li&gt;A &amp;ldquo;major feature&amp;rdquo; is defined as any change that is &amp;gt; 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that &lt;a href="../codeowners"&gt;affiliations with commit access&lt;/a&gt; can
come to agreement on the design. If it&amp;rsquo;s appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.&lt;/li&gt;
&lt;li&gt;Small patches and bug fixes don&amp;rsquo;t need prior communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="inclusivity"&gt;Inclusivity&lt;a class="td-heading-self-link" href="#inclusivity" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway community has an explicit goal to be inclusive to all. As such, all PRs must adhere
to the following guidelines for all code, APIs, and documentation:&lt;/p&gt;</description></item><item><title>Contributing</title><link>/v0.6/contributions/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/contributing/</guid><description>&lt;p&gt;We welcome contributions from the community. Please carefully review the &lt;a href="/about/"&gt;project goals&lt;/a&gt;
and following guidelines to streamline your contributions.&lt;/p&gt;



&lt;h2 id="communication"&gt;Communication&lt;a class="td-heading-self-link" href="#communication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before starting work on a major feature, please contact us via GitHub or Slack. We will ensure no
one else is working on it and ask you to open a GitHub issue.&lt;/li&gt;
&lt;li&gt;A &amp;ldquo;major feature&amp;rdquo; is defined as any change that is &amp;gt; 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that &lt;a href="../codeowners"&gt;affiliations with commit access&lt;/a&gt; can
come to agreement on the design. If it&amp;rsquo;s appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.&lt;/li&gt;
&lt;li&gt;Small patches and bug fixes don&amp;rsquo;t need prior communication.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="inclusivity"&gt;Inclusivity&lt;a class="td-heading-self-link" href="#inclusivity" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Envoy Gateway community has an explicit goal to be inclusive to all. As such, all PRs must adhere
to the following guidelines for all code, APIs, and documentation:&lt;/p&gt;</description></item><item><title>Watching Components Design</title><link>/contributions/design/watching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/watching/</guid><description>&lt;p&gt;Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch
external resources, and &amp;ldquo;publish&amp;rdquo; what they see for other components to consume; others watch what another publishes and
act on it (such as the resource translator watches what the providers publish, and then publishes its own results that
are watched by another component). Some of these internally published results are consumed by multiple components.&lt;/p&gt;</description></item><item><title>Watching Components Design</title><link>/v0.2/design/watching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/design/watching/</guid><description>&lt;p&gt;Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch
external resources, and &amp;ldquo;publish&amp;rdquo; what they see for other components to consume; others watch what another publishes and
act on it (such as the resource translator watches what the providers publish, and then publishes its own results that
are watched by another component). Some of these internally published results are consumed by multiple components.&lt;/p&gt;</description></item><item><title>Watching Components Design</title><link>/v0.3/design/watching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/watching/</guid><description>&lt;p&gt;Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch
external resources, and &amp;ldquo;publish&amp;rdquo; what they see for other components to consume; others watch what another publishes and
act on it (such as the resource translator watches what the providers publish, and then publishes its own results that
are watched by another component). Some of these internally published results are consumed by multiple components.&lt;/p&gt;</description></item><item><title>Watching Components Design</title><link>/v0.4/design/watching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/watching/</guid><description>&lt;p&gt;Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch
external resources, and &amp;ldquo;publish&amp;rdquo; what they see for other components to consume; others watch what another publishes and
act on it (such as the resource translator watches what the providers publish, and then publishes its own results that
are watched by another component). Some of these internally published results are consumed by multiple components.&lt;/p&gt;</description></item><item><title>Watching Components Design</title><link>/v0.5/design/watching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/watching/</guid><description>&lt;p&gt;Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch
external resources, and &amp;ldquo;publish&amp;rdquo; what they see for other components to consume; others watch what another publishes and
act on it (such as the resource translator watches what the providers publish, and then publishes its own results that
are watched by another component). Some of these internally published results are consumed by multiple components.&lt;/p&gt;</description></item><item><title>Watching Components Design</title><link>/v0.6/design/watching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/watching/</guid><description>&lt;p&gt;Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch
external resources, and &amp;ldquo;publish&amp;rdquo; what they see for other components to consume; others watch what another publishes and
act on it (such as the resource translator watches what the providers publish, and then publishes its own results that
are watched by another component). Some of these internally published results are consumed by multiple components.&lt;/p&gt;</description></item><item><title>Gateway API Translator Design</title><link>/contributions/design/gatewayapi-translator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/gatewayapi-translator/</guid><description>&lt;p&gt;The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate
Representation (IR).&lt;/p&gt;



&lt;h2 id="assumptions"&gt;Assumptions&lt;a class="td-heading-self-link" href="#assumptions" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Initially target core conformance features only, to be followed by extended conformance features.&lt;/p&gt;



&lt;h2 id="inputs-and-outputs"&gt;Inputs and Outputs&lt;a class="td-heading-self-link" href="#inputs-and-outputs" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The main inputs to the Gateway API translator are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ReferenceGrant is not fully implemented as of v0.2.&lt;/p&gt;
&lt;p&gt;The outputs of the Gateway API translator are:&lt;/p&gt;</description></item><item><title>Gateway API Translator Design</title><link>/v0.2/design/gatewayapi-translator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/design/gatewayapi-translator/</guid><description>&lt;p&gt;The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate
Representation (IR).&lt;/p&gt;



&lt;h2 id="assumptions"&gt;Assumptions&lt;a class="td-heading-self-link" href="#assumptions" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Initially target core conformance features only, to be followed by extended conformance features.&lt;/p&gt;



&lt;h2 id="inputs-and-outputs"&gt;Inputs and Outputs&lt;a class="td-heading-self-link" href="#inputs-and-outputs" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The main inputs to the Gateway API translator are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ReferenceGrant is not fully implemented as of v0.2.&lt;/p&gt;
&lt;p&gt;The outputs of the Gateway API translator are:&lt;/p&gt;</description></item><item><title>Gateway API Translator Design</title><link>/v0.3/design/gatewayapi-translator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/gatewayapi-translator/</guid><description>&lt;p&gt;The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate
Representation (IR).&lt;/p&gt;



&lt;h2 id="assumptions"&gt;Assumptions&lt;a class="td-heading-self-link" href="#assumptions" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Initially target core conformance features only, to be followed by extended conformance features.&lt;/p&gt;



&lt;h2 id="inputs-and-outputs"&gt;Inputs and Outputs&lt;a class="td-heading-self-link" href="#inputs-and-outputs" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The main inputs to the Gateway API translator are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ReferenceGrant is not fully implemented as of v0.2.&lt;/p&gt;
&lt;p&gt;The outputs of the Gateway API translator are:&lt;/p&gt;</description></item><item><title>Gateway API Translator Design</title><link>/v0.4/design/gatewayapi-translator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/gatewayapi-translator/</guid><description>&lt;p&gt;The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate
Representation (IR).&lt;/p&gt;



&lt;h2 id="assumptions"&gt;Assumptions&lt;a class="td-heading-self-link" href="#assumptions" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Initially target core conformance features only, to be followed by extended conformance features.&lt;/p&gt;



&lt;h2 id="inputs-and-outputs"&gt;Inputs and Outputs&lt;a class="td-heading-self-link" href="#inputs-and-outputs" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The main inputs to the Gateway API translator are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ReferenceGrant is not fully implemented as of v0.2.&lt;/p&gt;
&lt;p&gt;The outputs of the Gateway API translator are:&lt;/p&gt;</description></item><item><title>Gateway API Translator Design</title><link>/v0.5/design/gatewayapi-translator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/gatewayapi-translator/</guid><description>&lt;p&gt;The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate
Representation (IR).&lt;/p&gt;



&lt;h2 id="assumptions"&gt;Assumptions&lt;a class="td-heading-self-link" href="#assumptions" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Initially target core conformance features only, to be followed by extended conformance features.&lt;/p&gt;



&lt;h2 id="inputs-and-outputs"&gt;Inputs and Outputs&lt;a class="td-heading-self-link" href="#inputs-and-outputs" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The main inputs to the Gateway API translator are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ReferenceGrant is not fully implemented as of v0.2.&lt;/p&gt;
&lt;p&gt;The outputs of the Gateway API translator are:&lt;/p&gt;</description></item><item><title>Gateway API Translator Design</title><link>/v0.6/design/gatewayapi-translator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/gatewayapi-translator/</guid><description>&lt;p&gt;The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate
Representation (IR).&lt;/p&gt;



&lt;h2 id="assumptions"&gt;Assumptions&lt;a class="td-heading-self-link" href="#assumptions" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Initially target core conformance features only, to be followed by extended conformance features.&lt;/p&gt;



&lt;h2 id="inputs-and-outputs"&gt;Inputs and Outputs&lt;a class="td-heading-self-link" href="#inputs-and-outputs" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The main inputs to the Gateway API translator are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ReferenceGrant is not fully implemented as of v0.2.&lt;/p&gt;
&lt;p&gt;The outputs of the Gateway API translator are:&lt;/p&gt;</description></item><item><title>Proxy</title><link>/docs/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/latest/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.3/concepts/introduction/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/introduction/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.4/concepts/introduction/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.4/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.5/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.6/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>v1.5.8</title><link>/news/releases/notes/v1.5.8/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.8/</guid><description>&lt;p&gt;Date: January 26, 2026&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bump golang to &lt;code&gt;v1.24.12&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue where unrecoverable discovery errors on checking optional CRDs caused the EG pod to reconcile incomplete resources.&lt;/li&gt;
&lt;li&gt;Fixed an issue where ExtProc is discarded when failOpen is enabled for Wasm.&lt;/li&gt;
&lt;li&gt;Fixed an issue where sensitive data was exposed in control plane config dump.&lt;/li&gt;
&lt;li&gt;Fixed a server run race condition that could cause goroutine leaks during config reloading.&lt;/li&gt;
&lt;li&gt;Fixed an issue where wrong cluster type was used with mixed FQDN backend and service backend refs.&lt;/li&gt;
&lt;li&gt;Fixed an issue where routes with match-all rules were incorrectly merged with specific match rules.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.6.3</title><link>/news/releases/notes/v1.6.3/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.6.3/</guid><description>&lt;p&gt;Date: January 26, 2026&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bump golang to &lt;code&gt;v1.25.6&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Bump Envoy proxy version to &lt;code&gt;v1.36.4&lt;/code&gt;. Includes security patches for CVE-2025-0913. Ref: &lt;a href="https://github.com/envoyproxy/envoy/releases/tag/v1.36.4"&gt;https://github.com/envoyproxy/envoy/releases/tag/v1.36.4&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Bump Envoy rate limit version to &lt;code&gt;3fb70258&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue where unrecoverable discovery errors on checking optional CRDs caused the EG pod to reconcile incomplete resources.&lt;/li&gt;
&lt;li&gt;Fixed an issue where ExtProc is discarded when failOpen is enabled for Wasm.&lt;/li&gt;
&lt;li&gt;Fixed an issue where sensitive data was exposed in control plane config dump.&lt;/li&gt;
&lt;li&gt;Fixed an issue where auto-detect upstream protocol breaks with multiple backends(HTTP + HTTPS).&lt;/li&gt;
&lt;li&gt;Fixed a server run race condition that could cause goroutine leaks during config reloading.&lt;/li&gt;
&lt;li&gt;Fix to set default namespace for TLS secret object reference to owner namespace.&lt;/li&gt;
&lt;li&gt;Fixed an issue where wrong cluster type was used with mixed FQDN backend and service backend refs.&lt;/li&gt;
&lt;li&gt;Fixed an issue where routes with match-all rules were incorrectly merged with specific match rules.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.5.7</title><link>/news/releases/notes/v1.5.7/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.7/</guid><description>&lt;p&gt;Date: January 12, 2026&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bump envoy to &lt;code&gt;v1.35.8&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fixed CVE-2026-22771: arbitrary code execution through EnvoyExtensionPolicy Lua scripts.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue where observedGeneration is missing from the EnvoyPatchPolicy status.&lt;/li&gt;
&lt;li&gt;Fixed ExternalTrafficPolicy not being applied to Envoy Service when ServiceType is NodePort.&lt;/li&gt;
&lt;li&gt;Fixed an issue where BackendTrafficPolicy does not validate maximum value of requestBuffer limit.&lt;/li&gt;
&lt;li&gt;Fixed an issue where port forward not working on OpenTelemetry collector pods.&lt;/li&gt;
&lt;li&gt;Fixed a potential goroutine leak when config reloads.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.6.2</title><link>/news/releases/notes/v1.6.2/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.6.2/</guid><description>&lt;p&gt;Date: January 12, 2026&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed CVE-2026-22771: arbitrary code execution through EnvoyExtensionPolicy Lua scripts.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Change benchmark report to JSON format.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue where BackendTrafficPolicy does not validate maximum value of requestBuffer limit.&lt;/li&gt;
&lt;li&gt;Fixed an issue where observedGeneration is missing from the EnvoyPatchPolicy status.&lt;/li&gt;
&lt;li&gt;Fixed a nil pointer error when applying BackendTrafficPolicy to HTTPRoutes with no backendRefs.&lt;/li&gt;
&lt;li&gt;Fixed ExternalTrafficPolicy not being applied to Envoy Service when ServiceType is NodePort.&lt;/li&gt;
&lt;li&gt;Fixed CRL ref not processed by gateway controller.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.5.6</title><link>/news/releases/notes/v1.5.6/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.6/</guid><description>&lt;p&gt;Date: December 05, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Patches for EnvoyProxy CVE-2025-64527, CVE-2025-66220, and CVE-2025-64763. Ref &lt;a href="https://github.com/envoyproxy/envoy/releases/tag/v1.35.7"&gt;https://github.com/envoyproxy/envoy/releases/tag/v1.35.7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed xDS snapshot cache to clear snapshots when streams close, preventing proxies from receiving stale configuration after reconnection.&lt;/li&gt;
&lt;li&gt;Fixed configured OIDC authorization endpoint being overridden by discovered endpoints from issuer&amp;rsquo;s well-known URL.&lt;/li&gt;
&lt;li&gt;Fixed an issue with gateway ownership tracking when running multiple controllers.&lt;/li&gt;
&lt;li&gt;Fixed default namespace handling when namespace is unset.&lt;/li&gt;
&lt;li&gt;Fixed a bug where HTTPRoutes referencing gateways with multiple different GatewayClasses would have incomplete status conditions.&lt;/li&gt;
&lt;li&gt;Fixed gateway status to treat too many addresses as programmed.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added disk space reclamation script for CI runners to prevent out-of-disk errors.&lt;/li&gt;
&lt;li&gt;Bumped golang.org/x/crypto dependency.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.6.1</title><link>/news/releases/notes/v1.6.1/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.6.1/</guid><description>&lt;p&gt;Date: December 05, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Envoy to 1.36.3 to incorporate security patches, CVE-2025-64527, CVE-2025-66220, and CVE-2025-64763. Ref &lt;a href="https://github.com/envoyproxy/envoy/releases/tag/v1.36.3"&gt;https://github.com/envoyproxy/envoy/releases/tag/v1.36.3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed xDS snapshot cache to clear snapshots when streams close, preventing proxies from receiving stale configuration after reconnection.&lt;/li&gt;
&lt;li&gt;Fixed configured OIDC authorization endpoint being overridden by discovered endpoints from issuer&amp;rsquo;s well-known URL.&lt;/li&gt;
&lt;li&gt;Fixed an issue with gateway ownership tracking when running multiple controllers.&lt;/li&gt;
&lt;li&gt;Fixed default namespace handling when namespace is unset.&lt;/li&gt;
&lt;li&gt;Fixed a bug where HTTPRoutes referencing gateways with multiple different GatewayClasses would have incomplete status conditions.&lt;/li&gt;
&lt;li&gt;Fixed gateway status to treat too many addresses as programmed.&lt;/li&gt;
&lt;li&gt;Fix 500 errors caused by partially invalid BackendRefs; traffic is now correctly routed between valid backends and 500 responses according to their configured weights.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Gateway API to v1.4.1.&lt;/li&gt;
&lt;li&gt;Bumped golang.org/x/crypto dependency.&lt;/li&gt;
&lt;li&gt;Added disk space reclamation script for CI runners to prevent out-of-disk errors.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4.6</title><link>/news/releases/notes/v1.4.6/</link><pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.6/</guid><description>&lt;p&gt;Date: November 15, 2025&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed 500 errors caused by partially invalid BackendRefs; traffic is now correctly routed between valid backends and 500 responses according to their configured weights.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an memory leak issue where `watchable.Maps`` never closed when shutting down the provider.&lt;/li&gt;
&lt;li&gt;Coalesced updates to reduce intermediate updates.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.5.5</title><link>/news/releases/notes/v1.5.5/</link><pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.5/</guid><description>&lt;p&gt;Date: November 14, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed 500 errors caused by partially invalid BackendRefs; traffic is now correctly routed between valid backends and 500 responses according to their configured weights.&lt;/li&gt;
&lt;li&gt;Fixed certificate SAN overlap detection in gateway listeners.&lt;/li&gt;
&lt;li&gt;Fixed panic with request mirror with GRPCRoute.&lt;/li&gt;
&lt;li&gt;Fixed listener port limit typo 65353 -&amp;gt; 65535.&lt;/li&gt;
&lt;li&gt;Fixed validating EnvoyGateway configuration during a config update.&lt;/li&gt;
&lt;li&gt;Fixed missing JWT provider configuration when JWT authentication is configured on multiple HTTP listeners sharing the same port.&lt;/li&gt;
&lt;li&gt;Fixed IP family not set in UDPListener.&lt;/li&gt;
&lt;li&gt;Fixed issue where didn&amp;rsquo;t watch change for the ca cert in the Backend.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an memory leak issue where `watchable.Maps`` never closed when shutting down the provider.&lt;/li&gt;
&lt;li&gt;Coalesced updates to reduce intermediate updates.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v1.6</title><link>/news/releases/v1.6/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>/news/releases/v1.6/</guid><description>&lt;p&gt;We are excited to announce the release of Envoy Gateway v1.6.0.&lt;/p&gt;
&lt;p&gt;This release delivers new capabilities across traffic management, security, extensibility, observability, and infrastructure — along with key bug fixes and performance improvements. We extend our thanks to the entire Envoy Gateway community for your ongoing contributions, feedback, and collaboration. Your efforts make each release possible.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v1.6.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io/docs/tasks/quickstart/"&gt;Install&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway v1.6.0 introduces powerful enhancements, resolves critical issues, and continues to improve the platform&amp;rsquo;s reliability and performance.&lt;/p&gt;</description></item><item><title>v1.6.0</title><link>/news/releases/notes/v1.6.0/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.6.0/</guid><description>&lt;p&gt;Date: November 10, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ALPNProtocols in EnvoyProxy Backend TLS settings now default to &lt;code&gt;[h2, http/1.1]&lt;/code&gt; when not explicitly configured.&lt;/li&gt;
&lt;li&gt;When a Backend resource specifies TLS settings and SNI is not specified or a BackendTLSPolicy is not attached to it, the upstream TLS SNI value is now automatically determined from the HTTP Host header.&lt;/li&gt;
&lt;li&gt;When a Backend resource specifies TLS settings and SNI is not specified or a BackendTLSPolicy is not attached to it, upstream certificate validation now requires DNS SAN to match the SNI value that is sent.&lt;/li&gt;
&lt;li&gt;When a MirrorPolicy is used, the shadow host suffix is no longer automatically appended to the mirrored cluster name.&lt;/li&gt;
&lt;li&gt;When running &lt;code&gt;egctl experimental collect&lt;/code&gt;, SDS (Secret Discovery Service) data is no longer included by default. To include SDS data, enable it by adding the &lt;code&gt;--sds true&lt;/code&gt; flag.&lt;/li&gt;
&lt;li&gt;When setting &lt;code&gt;consecutiveGatewayFailure&lt;/code&gt;, &lt;code&gt;enforcingConsecutiveGatewayFailure&lt;/code&gt; is automatically set to 100.&lt;/li&gt;
&lt;li&gt;When the OIDC provider issues a refresh token, Envoy Gateway will now automatically use it to refresh access and ID tokens when they expire. To maintain the previous behavior (not using refresh tokens), set &lt;code&gt;refreshToken&lt;/code&gt; to false in the OIDC authentication configuration. See &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#securitypolicyspec"&gt;SecurityPolicy spec&lt;/a&gt; for details.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for mutual TLS (mTLS) configuration for ExtensionServer to enable secure communication between Envoy Gateway and extension servers.&lt;/li&gt;
&lt;li&gt;Added support for configuring RetryPolicy in gRPC External Authentication callouts via SecurityPolicy backend settings fields, allowing fine-grained control over retry behavior for authentication requests.&lt;/li&gt;
&lt;li&gt;Added support for configuring late response headers in ClientTrafficPolicy, enabling headers to be added to responses after the response body has started.&lt;/li&gt;
&lt;li&gt;Added support for configuring maximum connection duration, stream duration, and maximum requests per connection in ClientTrafficPolicy to provide better control over connection lifecycle and resource usage.&lt;/li&gt;
&lt;li&gt;Added PercentageEnabled configuration option to ZoneAware load balancing configuration, enabling gradual rollout of zone-aware routing.&lt;/li&gt;
&lt;li&gt;Added cacheDuration configuration for remoteJWKS (Remote JSON Web Key Set) in SecurityPolicy, allowing customization of JWKS caching behavior for improved performance.&lt;/li&gt;
&lt;li&gt;Added support for DisableTokenEncryption in OIDC authentication to disable encryption of ID and access tokens stored in cookies, providing flexibility for environments with alternative security mechanisms.&lt;/li&gt;
&lt;li&gt;Added support for OCSP (Online Certificate Status Protocol) stapling in listener TLS certificates, improving TLS handshake performance and enabling real-time certificate revocation checking.&lt;/li&gt;
&lt;li&gt;Added support for per-backend client TLS settings in Backend resources, enabling configuration of client certificates, ciphers, TLS versions, and ALPN protocols on a per-backend basis for granular TLS control.&lt;/li&gt;
&lt;li&gt;Added support for returning HTTP 503 Service Unavailable responses when no valid backend endpoints exist, improving observability and user experience during service outages.&lt;/li&gt;
&lt;li&gt;Added support for CSRFTokenTTL configuration in OIDC authentication to customize the lifetime of CSRF tokens used during the OAuth2 authorization code flow, enhancing security and session management.&lt;/li&gt;
&lt;li&gt;Added support for HTTP/2 stream timeout configuration, providing control over stream-level timeouts in HTTP/2 connections.&lt;/li&gt;
&lt;li&gt;Added support for Envoy PreconnectPolicy in BackendTrafficPolicy, enabling proactive connection establishment to backend services for reduced latency.&lt;/li&gt;
&lt;li&gt;Added support for binaryData in ConfigMap referenced by HTTPRouteFilter for direct response, allowing binary content to be served directly from ConfigMaps.&lt;/li&gt;
&lt;li&gt;Added support for PodDisruptionBudget (PDB) configuration for the rate limit service, improving availability during cluster maintenance operations.&lt;/li&gt;
&lt;li&gt;Added automatic generation of TLS certificates in host mode when they do not exist, simplifying deployment and reducing manual certificate management overhead.&lt;/li&gt;
&lt;li&gt;Added automatic implicit support for OPTIONS HTTP method when HTTPRoute CORS filter is used, simplifying CORS configuration for preflight requests.&lt;/li&gt;
&lt;li&gt;Added support for rate limiting based on HTTP path and method in BackendTrafficPolicy, enabling more granular rate limiting policies.&lt;/li&gt;
&lt;li&gt;Added support for Certificate Revocation Lists (CRLs) in ClientTrafficPolicy, enabling certificate revocation checking for enhanced security.&lt;/li&gt;
&lt;li&gt;Added support for both Global and Local rate limiting in BackendTrafficPolicy simultaneously.&lt;/li&gt;
&lt;li&gt;Added support for applying SecurityPolicy Authorization to TCPRoute (client IP / allow-deny list for TCP traffic).&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed %ROUTE_KIND% operator to be properly lower-cased when used by clusterStatName in EnvoyProxy API, ensuring consistent metric naming conventions.&lt;/li&gt;
&lt;li&gt;Fixed maxAcceptPerSocketEvent configuration being ignored in ClientTrafficPolicy, now correctly applying the configured value to limit connections accepted per socket event.&lt;/li&gt;
&lt;li&gt;Fixed an issue where topologyInjectorDisabled was enabled but the local cluster was not defined, causing configuration inconsistencies.&lt;/li&gt;
&lt;li&gt;Fixed log formatting of improper key-value pairs to prevent DPANIC errors in controller-runtime logger, improving stability and log readability.&lt;/li&gt;
&lt;li&gt;Fixed handling of context-related transient errors to prevent incorrect state reconciliation and unintended behavior during API server communication interruptions.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the controller could not read EnvoyProxy resources that are attached only to GatewayClass, improving resource discovery and reconciliation.&lt;/li&gt;
&lt;li&gt;Fixed adding metadata for proxyService and OIDC xDS clusters, ensuring proper metadata propagation for service discovery and authentication.&lt;/li&gt;
&lt;li&gt;Fixed handling of millisecond-level retry durations and token TTLs in OIDC authentication, ensuring precise time-based configuration values are correctly processed.&lt;/li&gt;
&lt;li&gt;Fixed indexer and controller crashing when BackendTrafficPolicy has a redirect response override, improving stability during policy configuration updates.&lt;/li&gt;
&lt;li&gt;Fixed Lua validator log level to be suppressed by default, reducing log noise and improving performance during Lua script validation.&lt;/li&gt;
&lt;li&gt;Fixed ProxyTopologyInjector cache sync race condition that caused injection failures, ensuring reliable topology injection during concurrent operations.&lt;/li&gt;
&lt;li&gt;Fixed validation for gRPC routes with extension reference filters, ensuring proper validation and processing of gRPC routes with extension integrations.&lt;/li&gt;
&lt;li&gt;Fixed service account token handling in GatewayNamespaceMode to use SDS (Secret Discovery Service) for properly refreshing expired tokens, ensuring continuous service availability.&lt;/li&gt;
&lt;li&gt;Fixed handling of regex meta characters in prefix match replace for URL rewrite, ensuring special characters are correctly processed during URL transformations.&lt;/li&gt;
&lt;li&gt;Disabled the default emission of &lt;code&gt;x-envoy-ratelimited&lt;/code&gt; headers from the rate limit filter to reduce header bloat. Re-enable with the &lt;code&gt;enableEnvoyHeaders&lt;/code&gt; setting in ClientTrafficPolicy if needed.&lt;/li&gt;
&lt;li&gt;Fixed a nil pointer panic in the XDS translator when building API key authentication filter configurations with &lt;code&gt;sanitize&lt;/code&gt; enabled and no &lt;code&gt;forwardClientIDHeader&lt;/code&gt; set, improving stability and error handling.&lt;/li&gt;
&lt;li&gt;Truncated Gateway API status condition messages to stay within Kubernetes limits and prevent update failures, ensuring reliable status updates for large message payloads.&lt;/li&gt;
&lt;li&gt;Fixed an issue in EnvoyPatchPolicy where it didn&amp;rsquo;t match the target Gateway or GatewayClass due to an incorrect name reference, ensuring proper policy application.&lt;/li&gt;
&lt;li&gt;Fixed certificate SAN (Subject Alternative Name) overlap detection in gateway listeners, improving TLS certificate validation and error reporting.&lt;/li&gt;
&lt;li&gt;Fixed description and translation behavior for PreserveXRequestID configuration, ensuring consistent request ID preservation across HTTP requests.&lt;/li&gt;
&lt;li&gt;Fixed race condition in proxy context map used in host mode, preventing concurrent access issues and ensuring reliable proxy context management.&lt;/li&gt;
&lt;li&gt;Fixed Listener port limit typo 65353 -&amp;gt; 65535.&lt;/li&gt;
&lt;li&gt;Fixed issue where reloading invalid envoy gateway configuration.&lt;/li&gt;
&lt;li&gt;Fixed missing JWT provider configuration when JWT authentication is configured on multiple HTTP listeners sharing the same port.&lt;/li&gt;
&lt;li&gt;Fixed issue where header modifier doesn&amp;rsquo;t permit multiple values with commas.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Set LastTransitionTime in status conditions at subscriber instead of publisher of watcher to prevent applying unnecessary status updates.&lt;/li&gt;
&lt;li&gt;Coalesce updates from watcher layer to skip applying intermediate states.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.5.4</title><link>/news/releases/notes/v1.5.4/</link><pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.4/</guid><description>&lt;p&gt;Date: October 20, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Go version to &lt;code&gt;1.24.9&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Bumped Envoy to &lt;code&gt;1.35.6&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4.5</title><link>/news/releases/notes/v1.4.5/</link><pubDate>Fri, 17 Oct 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.5/</guid><description>&lt;p&gt;Date: October 15, 2025&lt;/p&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped golang to 1.24.9 to fix the crypto/x509 reggression.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added a check to ensure that per proxy xds snapshot cache references are cleaned up when the connection is closed.&lt;/li&gt;
&lt;li&gt;Fixed an issue where use GRPCRoute with RequestMirror cause panic.&lt;/li&gt;
&lt;li&gt;Fixed an issue where certificate SAN overlap detection in gateway listeners.&lt;/li&gt;
&lt;li&gt;Disabled the default emission of &lt;code&gt;x-envoy-ratelimited&lt;/code&gt; headers from the rate limit filter and re-enable with the &lt;code&gt;enableEnvoyHeaders&lt;/code&gt; setting in ClientTrafficPolicy.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated Envoy Proxy to v1.34.10.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>From Evaluation to Integration: SAP's Journey with Envoy Gateway</title><link>/news/case-studies/sap/sap/</link><pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate><guid>/news/case-studies/sap/sap/</guid><description>&lt;h2 id="why-envoy-gateway"&gt;Why Envoy Gateway&lt;a class="td-heading-self-link" href="#why-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Our journey with Envoy Gateway (EG) began in late 2023, when multiple SAP product teams undertook an initiative to modernize and streamline their existing gateway infrastructure, which consists of various 3rd party, open source, and managed solutions running on diverse infrastructure. We decided on Envoy as the data plane and conducted a rigorous control-plane evaluation. Envoy Gateway, then &lt;a href="https://sched.co/1Rj4s"&gt;pre-GA&lt;/a&gt; (General Availability), emerged as the strategic choice. Selecting Envoy Gateway was not a trivial decision given the number of mature control planes in the market.&lt;/p&gt;</description></item><item><title>v1.5.3</title><link>/news/releases/notes/v1.5.3/</link><pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.3/</guid><description>&lt;p&gt;Date: October 9, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Go version to 1.24.8.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a nil pointer panic in the XDS translator when building API key authentication filter configurations with &lt;code&gt;sanitize&lt;/code&gt; enabled and no &lt;code&gt;forwardClientIDHeader&lt;/code&gt; set.&lt;/li&gt;
&lt;li&gt;Truncated Gateway API status condition messages to stay within Kubernetes limits and prevent update failures.&lt;/li&gt;
&lt;li&gt;Fixed an issue in EnvoyPatchPolicy where it didn&amp;rsquo;t match the target Gateway/GatewayClass due to an incorrect name reference.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Avoided memory build up in follower Envoy Gateway pods, by only subscribing to status and infra messages when they become a leader.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.5.2</title><link>/news/releases/notes/v1.5.2/</link><pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.2/</guid><description>&lt;p&gt;Date: October 2, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated distroless image to resolve glibc CVEs.&lt;/li&gt;
&lt;li&gt;Bumped Go version to 1.24.7.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed service account token handling in GatewayNamespaceMode to use SDS for properly refreshing expired token.&lt;/li&gt;
&lt;li&gt;Fixed preserve route parent status for multi-parent routes.&lt;/li&gt;
&lt;li&gt;Fixed weighted cluster generation in RouteAction when URLRewrite filter is applied.&lt;/li&gt;
&lt;li&gt;Fixed handling of regex meta characters in prefix match replace for URL rewrite.&lt;/li&gt;
&lt;li&gt;Disabled the default emission of &lt;code&gt;x-envoy-ratelimited&lt;/code&gt; headers from the rate limit filter; re-enable with the &lt;code&gt;enableEnvoyHeaders&lt;/code&gt; setting in ClientTrafficPolicy.&lt;/li&gt;
&lt;li&gt;Fixed race condition when accessing &lt;code&gt;mergeGateways&lt;/code&gt; set.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Optimized memory usage of control plane.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4.4</title><link>/news/releases/notes/v1.4.4/</link><pubDate>Wed, 17 Sep 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.4/</guid><description>&lt;p&gt;Date: September 17, 2025&lt;/p&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated the Go module package &lt;code&gt;xz&lt;/code&gt; to fix CVE-2025-58058.&lt;/li&gt;
&lt;li&gt;Updated the distroless image to resolve glibc CVEs.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue in handling context-related transient errors to prevent incorrect state reconciliation and unintended behavior.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the &lt;code&gt;exclusiveMaximum&lt;/code&gt; field in the CRD was set incorrectly.&lt;/li&gt;
&lt;li&gt;Fixed validation for gRPC routes with extension ref filters.&lt;/li&gt;
&lt;li&gt;Fixed an issue where route status had dangling conditions and was not cleaned up.&lt;/li&gt;
&lt;li&gt;Added missing patch annotations to the &lt;code&gt;Compression&lt;/code&gt; struct for proper &lt;code&gt;Merge&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated Envoy Proxy to v1.34.7.&lt;/li&gt;
&lt;li&gt;Updated Ratelimit tag version to &lt;code&gt;e74a664a&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.5.1</title><link>/news/releases/notes/v1.5.1/</link><pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.1/</guid><description>&lt;p&gt;Date: September 16, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated distroless image to resolve glibc CVEs.&lt;/li&gt;
&lt;li&gt;Bumped Go version to 1.24.7.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed cluster stat name generation to use lowercase names.&lt;/li&gt;
&lt;li&gt;Resolved nil pointer dereference in configmap indexer.&lt;/li&gt;
&lt;li&gt;Corrected log formatting to avoid DPANIC errors.&lt;/li&gt;
&lt;li&gt;Improved context error handling throughout the codebase.&lt;/li&gt;
&lt;li&gt;Fixed issues with topology injector and local cluster configuration.&lt;/li&gt;
&lt;li&gt;Updated HTTP status code validation maximum from 600 to 599.&lt;/li&gt;
&lt;li&gt;Enhanced proxy protocol filter placement as first listener filter.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Optimized pod cache operations.&lt;/li&gt;
&lt;li&gt;Reduced DeepCopy operations in gateway-api layer.&lt;/li&gt;
&lt;li&gt;Removed reflection from RouteContext to reduce memory allocations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated Envoy Proxy to v1.35.3&lt;/li&gt;
&lt;li&gt;Updated Envoy RateLimit to e74a664a&lt;/li&gt;
&lt;li&gt;Updated BackendTrafficPolicy compression configuration validation.&lt;/li&gt;
&lt;li&gt;Improved image validation regex for container images.&lt;/li&gt;
&lt;li&gt;Enhanced targetRef selection for target selectors.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4.3</title><link>/news/releases/notes/v1.4.3/</link><pubDate>Mon, 11 Aug 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.3/</guid><description>&lt;p&gt;Date: August 11, 2025&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed issue where HTTPRoutes with sessionPersistence caused the Envoy listeners to drain.&lt;/li&gt;
&lt;li&gt;Fixed issue where EnvoyPatchPolicy CEL Validations around FullDuplexStreamed and FailOpen.&lt;/li&gt;
&lt;li&gt;Fixed issue where http filter was not being added for HTTP3 listeners.&lt;/li&gt;
&lt;li&gt;Fixed issue where http filters unstable order caused the Envoy listeners to drain.&lt;/li&gt;
&lt;li&gt;Fixed issue where missing secret in EnvoyProxy caused deployment not to be created.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated Envoy Proxy to v1.34.4.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v1.5</title><link>/news/releases/v1.5/</link><pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate><guid>/news/releases/v1.5/</guid><description>&lt;p&gt;We are excited to announce the release of Envoy Gateway v1.5.0.&lt;/p&gt;
&lt;p&gt;This release delivers new capabilities across traffic management, security, extensibility, observability, and infrastructure — along with key bug fixes and performance improvements. We extend our thanks to the entire Envoy Gateway community for your ongoing contributions, feedback, and collaboration. Your efforts make each release possible.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v1.5.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io/docs/tasks/quickstart/"&gt;Install&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway v1.5.0 introduces powerful enhancements, resolves critical issues, and lays the groundwork for upcoming changes in v1.6.&lt;/p&gt;</description></item><item><title>v1.5.0</title><link>/news/releases/notes/v1.5.0/</link><pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.5.0/</guid><description>&lt;p&gt;Date: August 8, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use gateway name as proxy fleet name for gateway namespace mode.&lt;/li&gt;
&lt;li&gt;Endpoints that are absent from service discovery are removed even if their active health checks succeed.&lt;/li&gt;
&lt;li&gt;The xDS listener name are now renamed based on its listening port and protocol, instead of the Gateway name and section name. This breaks existing EnvoyPatchPolicies and ExtensionManagers as they depend on the old naming scheme. This change is guarded by the &lt;code&gt;XDSNameSchemeV2&lt;/code&gt; runtime flag. This flag is disabled by default in v1.5, and it will be enabled in v1.10. We recommend users to migrate their EnvoyPatchPolicies and ExtensionManagers to use the new listener names before v1.10. Visit &lt;a href="/v1.5/tasks/extensibility/envoy-patch-policy/#xds-name-scheme-v2"&gt;migration guide&lt;/a&gt; to view the new naming scheme.&lt;/li&gt;
&lt;li&gt;Removed &lt;code&gt;xds-translator&lt;/code&gt; and &lt;code&gt;xds-server&lt;/code&gt; values from the &lt;code&gt;runner&lt;/code&gt; label in &lt;code&gt;watchable_subscribe_total&lt;/code&gt;. Use &lt;code&gt;xds&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;Accessloggers of type ALS now have http2 enabled on the cluster by default.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Disable automountServiceAccountToken for proxy and ratelimit deployments and serviceAccounts.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for setting &lt;code&gt;initialJitter&lt;/code&gt; in the BackendTrafficPolicy active health check.&lt;/li&gt;
&lt;li&gt;Add an option to OIDC authentication to bypass it and defer to JWT when the request contains an &amp;ldquo;Authorization: Bearer &amp;hellip;&amp;rdquo; header.&lt;/li&gt;
&lt;li&gt;Added support for configuring Subject Alternative Names (SANs) for upstream TLS validation via &lt;code&gt;BackendTLSPolicy.validation.subjectAltNames&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for local rate limit header.&lt;/li&gt;
&lt;li&gt;Added XDS metadata for clusters and endpoints from xRoutes and referenced backend resources (Backend, Service, ServiceImport).&lt;/li&gt;
&lt;li&gt;Added support for setting ownerreference to infra resources when enable gateway namespace mode.&lt;/li&gt;
&lt;li&gt;Added support for configuring hostname in active HTTP healthchecks.&lt;/li&gt;
&lt;li&gt;Added support for configuring maxConnectionsToAcceptPerSocketEvent in listener via ClientTrafficPolicy.&lt;/li&gt;
&lt;li&gt;Added support for setting GatewayClass ownerreference to infra resources when all cases except gateway namespace mode.&lt;/li&gt;
&lt;li&gt;Added support for setting previous priorities retry predicate.&lt;/li&gt;
&lt;li&gt;Added support for using extension server policies to in PostTranslateModify hook.&lt;/li&gt;
&lt;li&gt;Added support for configuring cluster stat name for HTTPRoute and GRPCRoute in EnvoyProxy CRD.&lt;/li&gt;
&lt;li&gt;Added support for configuring &lt;code&gt;SameSite&lt;/code&gt; attribute for Oauth cookies for OIDC authentication.&lt;/li&gt;
&lt;li&gt;Added support for configuring the cache sync period for K8s provider.&lt;/li&gt;
&lt;li&gt;Added support for fallback to first key when load ca certificate from Secret or ConfigMap.&lt;/li&gt;
&lt;li&gt;Added support for configuring user provided name to generated HorizontalPodAutoscaler and PodDisruptionBudget resources.&lt;/li&gt;
&lt;li&gt;Added support for client certificate validation (SPKI, hash, SAN) in ClientTrafficPolicy.&lt;/li&gt;
&lt;li&gt;Added support for OIDC RP initialized logout. If the end session endpoint is explicitly specified or discovered from the issuer&amp;rsquo;s well-known url, the end session endpoint will be invoked when the user logs out.&lt;/li&gt;
&lt;li&gt;Added support for specifying deployment annotations through the helm chart.&lt;/li&gt;
&lt;li&gt;Added support for customizing the name of the ServiceAccount used by the Proxy.&lt;/li&gt;
&lt;li&gt;Added support for custom backendRefs via extension server using PostClusterModify hook.&lt;/li&gt;
&lt;li&gt;Added support for SecurityPolicy and EnvoyExtensionPolicy to target ServiceImport via BackendRefs.&lt;/li&gt;
&lt;li&gt;Added metric &lt;code&gt;watchable_publish_total&lt;/code&gt; counting store events in watchable message queues.&lt;/li&gt;
&lt;li&gt;Added support for forwarding client ID header and sanitizing API keys for API Key authentication in SecurityPolicy.&lt;/li&gt;
&lt;li&gt;Added support for using ClusterTrustBundle as CA.&lt;/li&gt;
&lt;li&gt;Added support for using Secret as a source of the OIDC client ID.&lt;/li&gt;
&lt;li&gt;Added support for listeners and routes in PostTranslateModifyHook extension hook.&lt;/li&gt;
&lt;li&gt;Added admin console support with web UI for the Envoy Gateway admin server.&lt;/li&gt;
&lt;li&gt;Added support for configuring Zone Aware Routing via BackendTrafficPolicy.&lt;/li&gt;
&lt;li&gt;Added support for endpoint override policy based on Header.&lt;/li&gt;
&lt;li&gt;Added rate limiting support for month and year periods.&lt;/li&gt;
&lt;li&gt;Introduce validation strictness levels for Lua scripts in EnvoyExtensionPolicies.&lt;/li&gt;
&lt;li&gt;Extends BackendTLSSettings support to all Backend types.&lt;/li&gt;
&lt;li&gt;Enhanced route rule support in SecurityPolicy target.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed issue where WASM cache init failure caused routes with WASM-less EnvoyExtensionPolicies to have 500 direct responses.&lt;/li&gt;
&lt;li&gt;Fixed issue which UDP listeners were not created in the Envoy proxy config when Gateway was created.&lt;/li&gt;
&lt;li&gt;Keep ALPN configuration for listeners with overlapping certificates when ALPN is explicitly set in ClientTrafficPolicy.&lt;/li&gt;
&lt;li&gt;Fixed issue that switch on wrong SubjectAltNameType enum value in BackendTLSPolicy.&lt;/li&gt;
&lt;li&gt;Fixed issue that BackendTLSPolicy should not reference ConfigMap or Secret across namespace.&lt;/li&gt;
&lt;li&gt;Fixed bug in certificate SANs overlap detection in listeners.&lt;/li&gt;
&lt;li&gt;Fixed issue where EnvoyExtensionPolicy ExtProc body processing mode is set to FullDuplexStreamed, but trailers were not sent.&lt;/li&gt;
&lt;li&gt;Fixed validation issue where EnvoyExtensionPolicy ExtProc failOpen is true, and body processing mode FullDuplexStreamed is not rejected.&lt;/li&gt;
&lt;li&gt;Add ConfigMap indexers for EnvoyExtensionPolicies to reconcile Lua changes&lt;/li&gt;
&lt;li&gt;Fixed issue that default accesslog format not working.&lt;/li&gt;
&lt;li&gt;Fixed validation errors when the rateLimit url for Redis in the EnvoyGateway API includes multiple comma separated hosts.&lt;/li&gt;
&lt;li&gt;Fixes addresses in status of DualStack NodePort Gateways.&lt;/li&gt;
&lt;li&gt;Fixed issue that not able to override the prometheus annotation in EnvoyProxy CRD.&lt;/li&gt;
&lt;li&gt;Skipped ExtProc, Wasm, and ExtAuth when they are configured FailOpen and the configuration is invalid, e.g. missing backendRefs or invalid port.&lt;/li&gt;
&lt;li&gt;Fixed issue that failed to update policy status when there are more than 16 ancestors.&lt;/li&gt;
&lt;li&gt;Fixed race condition in watchable.Map Snapshot subscription.&lt;/li&gt;
&lt;li&gt;Fixed issue where HTTPRoutes with sessionPersistence caused the Envoy listeners to drain.&lt;/li&gt;
&lt;li&gt;Fixed deployment creation blocking when EnvoyProxy secret is missing.&lt;/li&gt;
&lt;li&gt;Increased earlyRequestHeaders limit from 16 to 64.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reduced xDS cluster DNS lookups for improved performance.&lt;/li&gt;
&lt;li&gt;Combined xds-translator and xds-server runners into xds runner reducing memory by upto 25%&lt;/li&gt;
&lt;li&gt;Removed custom Equal functions for watchable types by pre sorting Gateway API resources in the provider layer&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4.2</title><link>/news/releases/notes/v1.4.2/</link><pubDate>Fri, 04 Jul 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.2/</guid><description>&lt;p&gt;Date: July 4, 2025&lt;/p&gt;



&lt;h2 id="security-updates"&gt;Security Updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Disabled &lt;code&gt;automountServiceAccountToken&lt;/code&gt; for proxy and ratelimit deployments and serviceAccounts.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug Fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed issue where &lt;code&gt;EnvoyExtensionPolicy&lt;/code&gt; ExtProc body processing mode was set to FullDuplexStreamed, but trailers were not sent.&lt;/li&gt;
&lt;li&gt;Fixed validation issue where &lt;code&gt;EnvoyExtensionPolicy&lt;/code&gt; ExtProc with failOpen set to true did not reject the FullDuplexStreamed body processing mode.&lt;/li&gt;
&lt;li&gt;Fixed issue where &lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; could not replace the telemetry cluster.&lt;/li&gt;
&lt;li&gt;Added validation for section names in Gateway listeners.&lt;/li&gt;
&lt;li&gt;Added ConfigMap indexers for &lt;code&gt;EnvoyExtensionPolicies&lt;/code&gt; to reconcile Lua changes.&lt;/li&gt;
&lt;li&gt;Fixed issue where the default access log format was not working.&lt;/li&gt;
&lt;li&gt;Fixed bug where backendRequestTimeout was incorrectly set when retries were enabled.&lt;/li&gt;
&lt;li&gt;Fixed certificate SANs overlap detection in listeners.&lt;/li&gt;
&lt;li&gt;Fixed issue where telemetry did not work when using host port.&lt;/li&gt;
&lt;li&gt;Fixed bug where &lt;code&gt;BackendTLSPolicy&lt;/code&gt; incorrectly referenced ConfigMaps or Secrets across namespaces.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4.1</title><link>/news/releases/notes/v1.4.1/</link><pubDate>Wed, 04 Jun 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.1/</guid><description>&lt;p&gt;Date: June 4, 2025&lt;/p&gt;



&lt;h2 id="new-features"&gt;New Features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for configuring Subject Alternative Names (SANs) for upstream TLS validation via &lt;code&gt;BackendTLSPolicy.validation.subjectAltNames&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for setting ownerreference to infra resources when Gateway Namespace mode is enabled.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug Fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed OverlappingTLSConfig condition for merged Gateways.&lt;/li&gt;
&lt;li&gt;Fixed an issue with shared rules in the rate limit translator when &lt;code&gt;clientSelector&lt;/code&gt; is not specified.&lt;/li&gt;
&lt;li&gt;Fixed an issue with handling integer values in zone annotations.&lt;/li&gt;
&lt;li&gt;Fixed an issue where routes without WASM in their EnvoyExtensionPolicies returned HTTP 500 responses when WASM cache initialization failed.&lt;/li&gt;
&lt;li&gt;Fixed an issue where UDP listeners were not created in the Envoy proxy’s xDS configuration.&lt;/li&gt;
&lt;li&gt;Fixed broken rate limit merging for &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; when the Gateway target defines rate limiting but the Route target does not.&lt;/li&gt;
&lt;li&gt;Fixed an issue that preserves ALPN configuration for listeners with overlapping certificates when ALPN is explicitly set in &lt;code&gt;ClientTrafficPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Replaced static UID with a dynamic UID for the global rate limit Grafana dashboard.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed backend TLS e2e test.&lt;/li&gt;
&lt;li&gt;Bumped go version to 1.24.3.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v1.4</title><link>/news/releases/v1.4/</link><pubDate>Tue, 13 May 2025 00:00:00 +0000</pubDate><guid>/news/releases/v1.4/</guid><description>&lt;p&gt;We are thrilled to announce the arrival of Envoy Gateway v1.4.0.&lt;/p&gt;
&lt;p&gt;This release represents a significant achievement, and we extend our heartfelt gratitude to the entire Envoy Gateway community for their contributions, dedication, and support. Your collaborative efforts have been instrumental in reaching this pivotal release.&lt;/p&gt;
&lt;p&gt;Thank you for being an integral part of this journey. We are excited to see how Envoy Gateway v1.4.0 will empower your operations and look forward to continuing our work together to drive the future of Cloud Native API Gateway.&lt;/p&gt;</description></item><item><title>v1.4.0</title><link>/news/releases/notes/v1.4.0/</link><pubDate>Tue, 13 May 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.4.0/</guid><description>&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use a dedicated listener port(19003) for envoy proxy readiness&lt;/li&gt;
&lt;li&gt;Uses the envoy JSON formatter for the default access log instead of text formatter.&lt;/li&gt;
&lt;li&gt;Envoy Gateway will skip xDS snapshot updates in case of errors during xDS translation.&lt;/li&gt;
&lt;li&gt;When Extension Manager is configured to Fail Open, translation errors are logged and suppressed.&lt;/li&gt;
&lt;li&gt;When Extension Manager is configured to not Fail Open, Envoy Gateway will no longer replace affected resources. Instead, xDS snapshot update would be skipped.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New Features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for the extension server in standalone mode.&lt;/li&gt;
&lt;li&gt;Added support for the &lt;code&gt;DynamicResolver&lt;/code&gt; backend type, which can route traffic to any backend service based on the request&amp;rsquo;s hostname.&lt;/li&gt;
&lt;li&gt;Added support for installing CRDs through the &lt;code&gt;gateway-crds-helm&lt;/code&gt; chart.&lt;/li&gt;
&lt;li&gt;Added support for the offline Kubernetes controller and enabled its use with the file provider.&lt;/li&gt;
&lt;li&gt;Added support for configuring &lt;code&gt;maxUnavailable&lt;/code&gt; in &lt;code&gt;KubernetesPodDisruptionBudgetSpec&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for percentage-based request mirroring.&lt;/li&gt;
&lt;li&gt;Allowed &lt;code&gt;matchExpressions&lt;/code&gt; in &lt;code&gt;TargetSelector&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added a defaulter for Gateway API resources loaded from file to set default values.&lt;/li&gt;
&lt;li&gt;Added support for defining Lua &lt;code&gt;EnvoyExtensionPolicies&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;RequestID&lt;/code&gt; field in &lt;code&gt;ClientTrafficPolicy.HeaderSettings&lt;/code&gt; to configure Envoy &lt;code&gt;X-Request-ID&lt;/code&gt; behavior.&lt;/li&gt;
&lt;li&gt;Added support for &lt;code&gt;HorizontalPodAutoscaler&lt;/code&gt; for Envoy Gateway in the Helm chart.&lt;/li&gt;
&lt;li&gt;Added support for distinct header and distinct source CIDR-based local rate limiting.&lt;/li&gt;
&lt;li&gt;Added support for forwarding the authenticated username to the backend via a configurable header in &lt;code&gt;BasicAuth&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for HTTP method and header-based authorization in &lt;code&gt;SecurityPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for Zone Aware Routing.&lt;/li&gt;
&lt;li&gt;Added support for &lt;code&gt;BackendTLSPolicy&lt;/code&gt; targeting &lt;code&gt;ServiceImport&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for the &lt;code&gt;kubernetes.io/h2c&lt;/code&gt; application protocol in &lt;code&gt;ServiceImport&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for per-host circuit breaker thresholds.&lt;/li&gt;
&lt;li&gt;Added support for injecting a credential from a Kubernetes &lt;code&gt;Secret&lt;/code&gt; into a request header using the &lt;code&gt;HTTPRouteFilter&lt;/code&gt; filter.&lt;/li&gt;
&lt;li&gt;Added support for &lt;code&gt;egctl&lt;/code&gt; WebSocket in addition to SPDY.&lt;/li&gt;
&lt;li&gt;Added a configuration option in the Helm chart to set the &lt;code&gt;TrafficDistribution&lt;/code&gt; field in the &lt;code&gt;Envoy Gateway&lt;/code&gt; Service.&lt;/li&gt;
&lt;li&gt;Added support for setting the log level to &lt;code&gt;trace&lt;/code&gt; for the Envoy proxy.&lt;/li&gt;
&lt;li&gt;Added support for global &lt;code&gt;imageRegistry&lt;/code&gt; and &lt;code&gt;imagePullSecrets&lt;/code&gt; in the Helm chart.&lt;/li&gt;
&lt;li&gt;Added support for using a local JWKS in an inline string or in a &lt;code&gt;ConfigMap&lt;/code&gt; to validate JWT tokens in &lt;code&gt;SecurityPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for logging the status of resources in standalone mode.&lt;/li&gt;
&lt;li&gt;Added support for per-route tracing in &lt;code&gt;BackendTrafficPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for configuring retry settings for Extension Service hooks in the Envoy Gateway config.&lt;/li&gt;
&lt;li&gt;Added support for request buffering using the Envoy Buffer filter.&lt;/li&gt;
&lt;li&gt;Added support for merge type in &lt;code&gt;BackendTrafficPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for the &lt;code&gt;OverlappingTLSConfig&lt;/code&gt; condition in Gateway status. This condition is set if there are overlapping hostnames or certificates between listeners. The ALPN protocol is set to HTTP/1.1 for overlapping listeners to avoid HTTP/2 connection coalescing.&lt;/li&gt;
&lt;li&gt;Added support for running Envoy infrastructure proxies in the Gateway namespace. Please note that this is currently an experimental feature and not recommended for production use.&lt;/li&gt;
&lt;li&gt;Added support for Shared Global RateLimiting buckets.&lt;/li&gt;
&lt;li&gt;Added support for fuzz testing the codebase.&lt;/li&gt;
&lt;li&gt;Added Backend API Support for Telemetry backends in Envoy Proxy&lt;/li&gt;
&lt;li&gt;Added support for FullDuplexedStreamed mode in Ext Proc&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug Fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed traffic splitting when filters are attached to the &lt;code&gt;backendRef&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added support for &lt;code&gt;Secret&lt;/code&gt; and &lt;code&gt;ConfigMap&lt;/code&gt; parsing in standalone mode.&lt;/li&gt;
&lt;li&gt;Bypassed overload manager for stats and ready listeners.&lt;/li&gt;
&lt;li&gt;Fixed translation of &lt;code&gt;backendSettings&lt;/code&gt; for external authorization.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the stats compressor was not working.&lt;/li&gt;
&lt;li&gt;Added support for &lt;code&gt;BackendTLSPolicy&lt;/code&gt; and &lt;code&gt;EnvoyExtensionPolicy&lt;/code&gt; parsing in standalone mode.&lt;/li&gt;
&lt;li&gt;Re-triggered reconciliation when a &lt;code&gt;backendRef&lt;/code&gt; of type &lt;code&gt;ServiceImport&lt;/code&gt; is updated or when &lt;code&gt;EndpointSlice&lt;/code&gt; resources for a &lt;code&gt;ServiceImport&lt;/code&gt; are updated.&lt;/li&gt;
&lt;li&gt;Fixed missing error logs and returns in the Kubernetes Reconcile method when a &lt;code&gt;GatewayClass&lt;/code&gt; is not accepted.&lt;/li&gt;
&lt;li&gt;Allowed empty text field for OpenTelemetry sink when using JSON format.&lt;/li&gt;
&lt;li&gt;Fixed the &lt;code&gt;SamplingFraction&lt;/code&gt; implementation within the Tracing API.&lt;/li&gt;
&lt;li&gt;Fixed Kubernetes resources not being deleted when a custom name was used.&lt;/li&gt;
&lt;li&gt;Prevented essential resources like &lt;code&gt;Namespace&lt;/code&gt; from being treated as missing when loading from file.&lt;/li&gt;
&lt;li&gt;Avoided setting retriable status codes to 503 when &lt;code&gt;RetryOn&lt;/code&gt; is configured in &lt;code&gt;BackendTrafficPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fixed reconciliation logic to continue processing all &lt;code&gt;GatewayClasses&lt;/code&gt; even after an error with one.&lt;/li&gt;
&lt;li&gt;Fixed an issue where a &lt;code&gt;ReferenceGrant&lt;/code&gt; from a &lt;code&gt;SecurityPolicy&lt;/code&gt; to a referenced &lt;code&gt;remoteJWKS&lt;/code&gt; backend was not respected.&lt;/li&gt;
&lt;li&gt;Added additional newline validation for header values.&lt;/li&gt;
&lt;li&gt;Added validation to prevent duplicated API keys in API Key Auth.&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;HTTPRoute&lt;/code&gt; precedence by correctly considering header and query match types.&lt;/li&gt;
&lt;li&gt;Ensured the TLS inspector filter is only added to TCP listeners (not UDP/QUIC) when HTTP/3 is enabled via &lt;code&gt;ClientTrafficPolicy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fix reconciling mirror backendRef endpoints once they&amp;rsquo;ve changed.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance Improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added a cache for the Wasm OCI image permission checks and check the pullSecrets against the OCI image registry in
a background goroutine.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Deprecated the &lt;code&gt;PreserveXRequestID&lt;/code&gt; field in &lt;code&gt;ClientTrafficPolicy.Spec.Headers&lt;/code&gt;. Use &lt;code&gt;RequestID&lt;/code&gt; instead.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other Changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated gateway-api to v1.3.0.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.3.3</title><link>/news/releases/notes/v1.3.3/</link><pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.3.3/</guid><description>&lt;p&gt;Date: May 8, 2025&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fix issue where ReferenceGrant from SecurityPolicy to the referenced RemoteJWKS backend was not respected.&lt;/li&gt;
&lt;li&gt;Fix HTTPRoute precedence by correctly considering header and query match types.&lt;/li&gt;
&lt;li&gt;Fix to return an error if direct response size exceeds the limit.&lt;/li&gt;
&lt;li&gt;Fix to avoid adding the TLS inspector filter to QUIC listeners.&lt;/li&gt;
&lt;li&gt;Fix to continue processing remaining GatewayClasses after encountering an error.&lt;/li&gt;
&lt;li&gt;Add validation for header values.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped envoy to v1.33.3.&lt;/li&gt;
&lt;li&gt;Bumped ratelimit to 3e085e5b.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.8</title><link>/news/releases/notes/v1.2.8/</link><pubDate>Tue, 25 Mar 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.8/</guid><description>&lt;p&gt;Date: March 25, 2025&lt;/p&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed vulnerability CVE-2025-30157, where local replies were incorrectly sent to the ext_proc server.&lt;/li&gt;
&lt;li&gt;Included ratelimit security fixes related to the golang net/http package.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for BackendTLSPolicy and EnvoyExtensionPolicy parsing in Standalone mode.&lt;/li&gt;
&lt;li&gt;Fixed endpoint updates when mirrored backend Pod IPs change.&lt;/li&gt;
&lt;li&gt;Fix not logging an error and returning it in the K8s Reconcile method when a GatewayClass is not accepted.&lt;/li&gt;
&lt;li&gt;Fixed validation of host header in RequestHeaderModifier filter.&lt;/li&gt;
&lt;li&gt;Fixed an OpenTelemetry access log sink failure caused by an &amp;lsquo;otel.Text is nil&amp;rsquo; error.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added a cache for the Wasm OCI image permission checks and check the pullSecrets against the OCI image registry in a background goroutine.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped envoy to v1.32.4.&lt;/li&gt;
&lt;li&gt;Bumped ratelimit to 0141a24f.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.3.2</title><link>/news/releases/notes/v1.3.2/</link><pubDate>Mon, 24 Mar 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.3.2/</guid><description>&lt;p&gt;Date: March 24, 2025&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for BackendTLSPolicy and EnvoyExtensionPolicy parsing in Standalone mode.&lt;/li&gt;
&lt;li&gt;Fixed updates of endpoints when mirrored backend Pod IPs are changed.&lt;/li&gt;
&lt;li&gt;Fix not logging an error and returning it in the K8s Reconcile method when a GatewayClass is not accepted.&lt;/li&gt;
&lt;li&gt;Fix allowing empty text field for opentelemetry sink when using JSON format.&lt;/li&gt;
&lt;li&gt;Fixed validation of host header in RequestHeaderModifier filter.&lt;/li&gt;
&lt;li&gt;Retrigger reconciliation when backendRef of type ServiceImport is updated or when EndpointSlice(s) for a ServiceImport are updated.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added a cache for the Wasm OCI image permission checks and check the pullSecrets against the OCI image registry in&lt;/li&gt;
&lt;li&gt;a background goroutine.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped envoy to v1.33.1.&lt;/li&gt;
&lt;li&gt;Bumped ratelimit to 0141a24f.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.7</title><link>/news/releases/notes/v1.2.7/</link><pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.7/</guid><description>&lt;p&gt;Date: March 06, 2025&lt;/p&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed CVE-2025-25294: log injection vulnerability in Envoy Gateway when using default access log.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed translating of backendSettings for extAuth.&lt;/li&gt;
&lt;li&gt;Fixed allowing weights to be zero on endpoints for backendRefs in TCPRoute and UDPRoute.&lt;/li&gt;
&lt;li&gt;Fixed validation of all xDS resources before sending them to the Envoy fleet.&lt;/li&gt;
&lt;li&gt;Added support for Secret and ConfigMap parsing in Standalone mode.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped the version of the ratelimit image to ae4cee11.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.3.1</title><link>/news/releases/notes/v1.3.1/</link><pubDate>Tue, 04 Mar 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.3.1/</guid><description>&lt;p&gt;Date: March 4, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use the envoy JSON formatter for the default access log instead of text formatter.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed CVE-2025-25294: log injection vulnerability in Envoy Gateway when using default access log.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add defaulter for gateway-api resources loading from file to be able to set default values.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for Secret and ConfigMap parsing in Standalone mode.&lt;/li&gt;
&lt;li&gt;Fix translating backendSettings for extAuth.&lt;/li&gt;
&lt;li&gt;Fix allowing weights to be zero on endpoints for backendRefs in TCPRoute and UDPRoute.&lt;/li&gt;
&lt;li&gt;Fix validation of all xDS resources.&lt;/li&gt;
&lt;li&gt;Fix support for empty values in fields with default values in Standalone.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bump golang to 1.23.6.&lt;/li&gt;
&lt;li&gt;Bump k8s-io to 1.32.1.&lt;/li&gt;
&lt;li&gt;Bump ratelimit to ae4cee11.&lt;/li&gt;
&lt;li&gt;Bump golang.org/x/oauth2 to v0.27.0.&lt;/li&gt;
&lt;li&gt;Bump golang.org/x/crypto to v0.35.0.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v1.3</title><link>/news/releases/v1.3/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>/news/releases/v1.3/</guid><description>&lt;p&gt;We are thrilled to announce the arrival of Envoy Gateway v1.3.0.&lt;/p&gt;
&lt;p&gt;This release represents a significant achievement, and we extend our heartfelt gratitude to the entire Envoy Gateway community for their contributions, dedication, and support. Your collaborative efforts have been instrumental in reaching this pivotal release.&lt;/p&gt;
&lt;p&gt;Thank you for being an integral part of this journey. We are excited to see how Envoy Gateway v1.3.0 will empower your operations and look forward to continuing our work together to drive the future of Cloud Native API Gateway.&lt;/p&gt;</description></item><item><title>v1.3.0</title><link>/news/releases/notes/v1.3.0/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.3.0/</guid><description>&lt;p&gt;Date: January 30, 2025&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The Container &lt;code&gt;ports&lt;/code&gt; field of the gateway instance has been removed, which will cause the gateway Pod to be rebuilt when upgrading the version.&lt;/li&gt;
&lt;li&gt;ClientTrafficPolicy previously treated an empty TLS ALPNProtocols list as being undefined and applied Envoy Gateway defaults. An empty TLS ALPNProtocols list is now treated as user-defined disablement of the TLS ALPN extension.&lt;/li&gt;
&lt;li&gt;Outlier detection (passive health check) is now disabled by default. refer to &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#backendtrafficpolicy"&gt;https://gateway.envoyproxy.io/docs/api/extension_types/#backendtrafficpolicy&lt;/a&gt; for working with passive health checks.&lt;/li&gt;
&lt;li&gt;Envoy Gateway treats errors in calls to an extension service as fail-closed by default. Any error returned from the extension server will replace the affected resource with an &amp;ldquo;Internal Server Error&amp;rdquo; immediate response. The previous behavior can be enabled by setting the &lt;code&gt;failOpen&lt;/code&gt; field to &lt;code&gt;true&lt;/code&gt; in the extension service configuration.&lt;/li&gt;
&lt;li&gt;Envoy Gateway now return a 500 response when a ClientTrafficPolicy translation fails for HTTP/GRPC routes, and forwards client traffic to an empty cluster when a ClientTrafficPolicy translation fails for TCP routes.&lt;/li&gt;
&lt;li&gt;Any issues with &lt;code&gt;EnvoyProxy&lt;/code&gt; reference in a &lt;code&gt;Gateway&lt;/code&gt; will prevent the Envoy fleet from being created or result in the deletion of an existing Envoy fleet.&lt;/li&gt;
&lt;li&gt;Envoy Gateway now returns a 500 response when a BackendTLSPolicy translation fails for HTTP/GRPC/TLS routes.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed vulnerability which exposed the Envoy admin interface through the prometheus stats endpoint.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for trusted CIDRs in the ClientIPDetectionSettings API.&lt;/li&gt;
&lt;li&gt;Added support for sending attributes to external processor in EnvoyExtensionPolicy API.&lt;/li&gt;
&lt;li&gt;Added support for patching EnvoyProxy.spec.provider.kubernetes.envoyHpa and EnvoyProxy.spec.provider.kubernetes.envoyPDB.&lt;/li&gt;
&lt;li&gt;Added support for defining rateLimitHpa in EnvoyGateway API.&lt;/li&gt;
&lt;li&gt;Added support for preserving the user defined HTTPRoute match order in EnvoyProxy API.&lt;/li&gt;
&lt;li&gt;Added support for response compression in the BackendTrafficPolicy API.&lt;/li&gt;
&lt;li&gt;Added support for cost specifier in the rate limit API.&lt;/li&gt;
&lt;li&gt;Added support for specifying dynamic metadata namespaces that External Processing services can access read from and write to in EnvoyExtensionPolicy API.&lt;/li&gt;
&lt;li&gt;Added support for API Key Authentication in the SecurityPolicy API.&lt;/li&gt;
&lt;li&gt;Continue using and drain endpoints during their graceful termination, as indicated by their respective EndpointConditions.&lt;/li&gt;
&lt;li&gt;Added support for GEP-1731 (HTTPRoute Retries).&lt;/li&gt;
&lt;li&gt;Added support for routing to Backend resources in the GRPCRoute, TCPRoute and UDPRoute APIs.&lt;/li&gt;
&lt;li&gt;Added support for configuring Max GRPC message size for the Extension Manager in EnvoyGateway config.&lt;/li&gt;
&lt;li&gt;Added support for configuring tracing sampling rate with Fraction.&lt;/li&gt;
&lt;li&gt;Added support for dynamic reload of System WellKnownCACertificates in BackendTLSPolicy.&lt;/li&gt;
&lt;li&gt;Added support for overriding status code in response overrides ClientTrafficPolicy.&lt;/li&gt;
&lt;li&gt;Added support for AllowModeOverride for ext-proc in EnvoyExtensionPolicy.&lt;/li&gt;
&lt;li&gt;Added support for configuring remote JWKS settings with BackendCluster in SecurityPolicy.&lt;/li&gt;
&lt;li&gt;Added support for sending body to Ext-Auth server in SecurityPolicy.&lt;/li&gt;
&lt;li&gt;Added support for Sending attributes to ext-proc in EnvoyExtensionPolicy.&lt;/li&gt;
&lt;li&gt;Added support for configuring hostEnvKeys for Wasm extensions in EnvoyExtensionPolicy.&lt;/li&gt;
&lt;li&gt;Gateway API Route rule name is propagated to XDS metadata as sectionName.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a panic in the provider goroutine when the body in the direct response configuration was nil.&lt;/li&gt;
&lt;li&gt;Fixed Envoy rejecting TCP Listeners that have no attached TCPRoutes.&lt;/li&gt;
&lt;li&gt;Fixed failed to update SecurityPolicy resources with the &lt;code&gt;backendRef&lt;/code&gt; field specified.&lt;/li&gt;
&lt;li&gt;Fixed xDS translation failed when oidc tokenEndpoint and jwt remoteJWKS are specified in the same SecurityPolicy and using the same hostname.&lt;/li&gt;
&lt;li&gt;Fixed frequent 503 errors when connecting to a Service experiencing high Pod churn.&lt;/li&gt;
&lt;li&gt;Disabled the retry policy for the JWT provider to reduce requests sent to the JWKS endpoint. Failed async fetches will retry every 1s.&lt;/li&gt;
&lt;li&gt;Fixed BackendTLSPolicy not supporting the use of a port name as the sectionName in targetRefs.&lt;/li&gt;
&lt;li&gt;Fixed reference grant from EnvoyExtensionPolicy to the referenced ext-proc backend not being respected.&lt;/li&gt;
&lt;li&gt;Fixed BackendTrafficPolicy not applying to Gateway Routes when a Route has a Request Timeout defined.&lt;/li&gt;
&lt;li&gt;Fixed proxies connected to the secondary Envoy Gateway not receiving xDS configuration.&lt;/li&gt;
&lt;li&gt;Fixed traffic splitting not working when some backends were invalid.&lt;/li&gt;
&lt;li&gt;Fixed a nil pointer error that occurred when a SecurityPolicy referred to a UDS backend.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the Gateway API translator did not use the TLS configuration from the BackendTLSPolicy when connecting to the OIDC provider’s well-known endpoint.&lt;/li&gt;
&lt;li&gt;Fixed a validation failure that occurred when multiple HTTPRoutes referred to the same extension filter.&lt;/li&gt;
&lt;li&gt;Fixed a nil pointer error caused by accessing the cookie TTL without verifying if it was valid.&lt;/li&gt;
&lt;li&gt;Fixed unexpected port number shifting in standalone mode.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the shutdown-manager did not respect the security context of the container spec.&lt;/li&gt;
&lt;li&gt;Fixed readiness checks failing for single-stack IPv6 Envoy Gateway deployments on dual-stack clusters.&lt;/li&gt;
&lt;li&gt;Fixed IPv6 dual-stack support not working as intended.&lt;/li&gt;
&lt;li&gt;Fixed the ability to overwrite control plane certs with the certgen command by using a new command arg (-o).&lt;/li&gt;
&lt;li&gt;Fixed a panic that occurred following update to the envoy-gateway-config ConfigMap.&lt;/li&gt;
&lt;li&gt;Fixed prometheus format conversion of ratelimit metrics for remote address.&lt;/li&gt;
&lt;li&gt;Fixed limitations that prevented creation of FQDN Endpoints with a single-character subdomain in Backend.&lt;/li&gt;
&lt;li&gt;Fixed issue where SecurityContext of shutdown-manager container was not updated by overriding helm values.&lt;/li&gt;
&lt;li&gt;Fixed issue with incorrect IPFamily detection for backends.&lt;/li&gt;
&lt;li&gt;Fixed validation of interval values in Retry settings.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Gateway API to v1.2.1.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;V4_PREFERRED&lt;/code&gt; instead of &lt;code&gt;V4_ONLY&lt;/code&gt; by default for the cluster&amp;rsquo;s &lt;code&gt;DnsLookupFamily&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;EG Listens on IPv4 by default, but if IPFamily is set to IPv6 or DualStack, it listens on :: and enables ipv4_compat for DualStack.&lt;/li&gt;
&lt;li&gt;Modified the base container image to gcr.io/distroless/base-nossl:nonroot.&lt;/li&gt;
&lt;li&gt;[SecurityPolicy] Modify the JWT Provider Issuer validation constraint.&lt;/li&gt;
&lt;li&gt;Add support for Kubernetes 1.32.x in the test matrix, and remove support for Kubernetes 1.28.x.&lt;/li&gt;
&lt;li&gt;Added metrics and dashboards for Envoy Gateway panics in watchables.&lt;/li&gt;
&lt;li&gt;Bumped go-control-plane to v0.13.4.&lt;/li&gt;
&lt;li&gt;Envoy Gateway now validates all XDS resources are before adding them to the snapshot.&lt;/li&gt;
&lt;li&gt;Increased the maximum amount of endpoints to 64 in Backend.&lt;/li&gt;
&lt;li&gt;Envoy Gateway would recover from panics in the reconciliation flow.&lt;/li&gt;
&lt;li&gt;Bumped Golang to 1.23.3.&lt;/li&gt;
&lt;li&gt;Added e2e test for BackendTLSPolicy with System Truststore.&lt;/li&gt;
&lt;li&gt;Added e2e test for response code override.&lt;/li&gt;
&lt;li&gt;Added e2e test remote JWKS Backend Cluster settings.&lt;/li&gt;
&lt;li&gt;Added e2e test for GRPCRoute, TCPRoute and UDPRoute referencing Backend.&lt;/li&gt;
&lt;li&gt;Added e2e test for ratelimit cost.&lt;/li&gt;
&lt;li&gt;Added e2e test for XFF Trusted CIDRs.&lt;/li&gt;
&lt;li&gt;Added e2e test for Compression.&lt;/li&gt;
&lt;li&gt;Added e2e test for API Key Auth.&lt;/li&gt;
&lt;li&gt;Added e2e test for Ext-Proc Metadata Options.&lt;/li&gt;
&lt;li&gt;Added e2e test for Route order preservation.&lt;/li&gt;
&lt;li&gt;Added e2e test for OIDC provider with TLS.&lt;/li&gt;
&lt;li&gt;Added e2e test for Basic Auth.&lt;/li&gt;
&lt;li&gt;Added e2e tests for IPv6.&lt;/li&gt;
&lt;li&gt;Added e2e test for Ext-Proc Attributes.&lt;/li&gt;
&lt;li&gt;Added docs for using OIDC provider with self-singed certificate.&lt;/li&gt;
&lt;li&gt;Added docs for using dual-stack.&lt;/li&gt;
&lt;li&gt;Fixed docs for Extension Server RBAC requirements.&lt;/li&gt;
&lt;li&gt;Added docs for patching bootstrap config with JSONPatch using EnvoyProxy.&lt;/li&gt;
&lt;li&gt;Added docs for standalone mode.&lt;/li&gt;
&lt;li&gt;Added docs for OIDC cookieDomain.&lt;/li&gt;
&lt;li&gt;Added docs for Response Override.&lt;/li&gt;
&lt;li&gt;Added note on CRD upgrades.&lt;/li&gt;
&lt;li&gt;Added docs for failover.&lt;/li&gt;
&lt;li&gt;Added docs for standalone mode in container.&lt;/li&gt;
&lt;li&gt;Updated Observability prerequisite docs.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.6</title><link>/news/releases/notes/v1.2.6/</link><pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.6/</guid><description>&lt;p&gt;Date: January 23, 2025&lt;/p&gt;



&lt;h2 id="security-updates"&gt;Security updates&lt;a class="td-heading-self-link" href="#security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed vulnerability CVE-2025-24030, which exposed the Envoy admin interface via the Prometheus stats endpoint. For more details, refer to &lt;a href="https://github.com/envoyproxy/gateway/security/advisories/GHSA-j777-63hf-hx76"&gt;GHSA-j777-63hf-hx76&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a panic that occurred following update to the envoy-gateway-config ConfigMap.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.5</title><link>/news/releases/notes/v1.2.5/</link><pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.5/</guid><description>&lt;p&gt;Date: January 14, 2025&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a nil pointer error that occurred when a SecurityPolicy referred to a UDS backend.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the Gateway API translator did not use the TLS configuration from the BackendTLSPolicy when connecting to the OIDC provider’s well-known endpoint.&lt;/li&gt;
&lt;li&gt;Fixed a validation failure that occurred when multiple HTTPRoutes referred to the same extension filter.&lt;/li&gt;
&lt;li&gt;Fixed a nil pointer error caused by accessing the cookie TTL without verifying if it was valid.&lt;/li&gt;
&lt;li&gt;Fixed unexpected port number shifting in standalone mode.&lt;/li&gt;
&lt;li&gt;Fixed an issue where the shutdown-manager did not respect the security context of the container spec.&lt;/li&gt;
&lt;li&gt;Fixed readiness checks failing for single-stack IPv6 Envoy Gateway deployments on dual-stack clusters.&lt;/li&gt;
&lt;li&gt;Fixed IPv6 dual-stack support not working as intended.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Envoy to version 1.32.3.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.4</title><link>/news/releases/notes/v1.2.4/</link><pubDate>Fri, 13 Dec 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.4/</guid><description>&lt;p&gt;Date: December 13, 2024&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed BackendTLSPolicy not supporting the use of a port name as the sectionName in targetRefs.&lt;/li&gt;
&lt;li&gt;Fixed reference grant from EnvoyExtensionPolicy to the referenced ext-proc backend not being respected.&lt;/li&gt;
&lt;li&gt;Fixed BackendTrafficPolicy not applying to Gateway Routes when a Route has a Request Timeout defined.&lt;/li&gt;
&lt;li&gt;Fixed proxies connected to the secondary Envoy Gateway not receiving xDS configuration.&lt;/li&gt;
&lt;li&gt;Fixed traffic splitting not working when some backends were invalid.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Envoy to version 1.32.2.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.1.4</title><link>/news/releases/notes/v1.1.4/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.1.4/</guid><description>&lt;p&gt;Date: December 12, 2024&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed validate proto messages before converting them to anypb.Any&lt;/li&gt;
&lt;li&gt;Fixed BackendTlsPolicy specify multiple targetRefs of the same service, only one will work&lt;/li&gt;
&lt;li&gt;Fixed Envoy rejecting TCP Listeners that have no attached TCPRoutes&lt;/li&gt;
&lt;li&gt;Fixed frequent 503 errors when connecting to a Service experiencing high Pod churn&lt;/li&gt;
&lt;li&gt;Fixed reference grant from EnvoyExtensionPolicy to referenced ext-proc backend not respected&lt;/li&gt;
&lt;li&gt;Fixed BackendTrafficPolicy not applying to Gateway Route when Route has a Request Timeout defined&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Rate Limit to 49af5cca&lt;/li&gt;
&lt;li&gt;Bumped golang.org/x/crypto to 0.31.0&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.3</title><link>/news/releases/notes/v1.2.3/</link><pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.3/</guid><description>&lt;p&gt;Date: December 2, 2024&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Disabled the retry policy for the JWT provider to reduce requests sent to the JWKS endpoint. Failed async fetches will retry every 1s.&lt;/li&gt;
&lt;li&gt;Used a waitGroup instead of an enabled channel in the status updater.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;EG Listens on IPv4 by default, but if IPFamily is set to IPv6 or DualStack, it listens on :: and enables ipv4_compat for DualStack.&lt;/li&gt;
&lt;li&gt;Bumped Gateway API to v1.2.1.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.2</title><link>/news/releases/notes/v1.2.2/</link><pubDate>Thu, 28 Nov 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.2/</guid><description>&lt;p&gt;Date: November 28, 2024&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Envoy rejecting TCP Listeners that have no attached TCPRoutes.&lt;/li&gt;
&lt;li&gt;Fixed failed to update SecurityPolicy resources with the &lt;code&gt;backendRef&lt;/code&gt; field specified.&lt;/li&gt;
&lt;li&gt;Fixed xDS translation failed when oidc tokenEndpoint and jwt remoteJWKS are specified in the same SecurityPolicy and using the same hostname.&lt;/li&gt;
&lt;li&gt;Fixed frequent 503 errors when connecting to a Service experiencing high Pod churn.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bump the RateLimit image to 49af5cca.&lt;/li&gt;
&lt;li&gt;Always use &lt;code&gt;::&lt;/code&gt; and &lt;code&gt;IPv4Compact&lt;/code&gt; enabled on dynamic listeners.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;V4_PREFERRED&lt;/code&gt; instead of &lt;code&gt;V4_ONLY&lt;/code&gt; by default for the cluster&amp;rsquo;s &lt;code&gt;DnsLookupFamily&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.2.1</title><link>/news/releases/notes/v1.2.1/</link><pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.1/</guid><description>&lt;p&gt;Date: November 7, 2024&lt;/p&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a panic in the provider goroutine when the body in the direct response configuration was nil.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v1.2</title><link>/news/releases/v1.2/</link><pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate><guid>/news/releases/v1.2/</guid><description>&lt;p&gt;We are thrilled to announce the arrival of Envoy Gateway v1.2.0.&lt;/p&gt;
&lt;p&gt;This release represents a significant achievement, and we extend our heartfelt gratitude to the entire Envoy Gateway community for their contributions, dedication, and support. Your collaborative efforts have been instrumental in reaching this pivotal release.&lt;/p&gt;
&lt;p&gt;Thank you for being an integral part of this journey. We are excited to see how Envoy Gateway v1.2.0 will empower your operations and look forward to continuing our work together to drive the future of Cloud Native API Gateway.&lt;/p&gt;</description></item><item><title>v1.2.0</title><link>/news/releases/notes/v1.2.0/</link><pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.2.0/</guid><description>&lt;p&gt;Date: November 06, 2024&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking Changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Gateway API GRPCRoute and ReferenceGrant v1alpha2 have been removed&lt;/li&gt;
&lt;li&gt;Please refer to the &lt;a href="https://github.com/kubernetes-sigs/gateway-api/releases"&gt;Gateway API v1.2.0 documentation&lt;/a&gt; for more information&lt;/li&gt;
&lt;li&gt;Removed default CPU limit of the Envoy Gateway deployment, to eliminate CPU throttling&lt;/li&gt;
&lt;li&gt;Changed default Envoy shutdown settings: drain strategy has been changed to immediate, default minDrainDuration, drainTimeout and terminationGracePeriodSeconds have been set to 10s, 60s and 360s respectively&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;ignore_health_on_host_removal&lt;/code&gt; to true for clusters with static endpoints This was done to speed up removal of static endpoints by the control plane when active health check is configured&lt;/li&gt;
&lt;li&gt;Xds and Infra IR logs are logged at Debug level instead of Info level. They will now not be seen by default in Envoy Gateway logs. You can change the logging level to &lt;code&gt;default: debug&lt;/code&gt; to view them&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New Features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for Gateway-API v1.2.0&lt;/li&gt;
&lt;li&gt;Added support for IPv4/IPv6 Dual Stack for EnvoyProxy fleet and BackendRef resources&lt;/li&gt;
&lt;li&gt;Added experimental support for EG standalone(host deployment) mode&lt;/li&gt;
&lt;li&gt;Added support for JWT claims based Authorization in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for Response Override in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for RequestTimeout in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for inverting header matches for Rate Limit in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for client TLS session resumption in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for HTTPRouteFilter and path regex rewrite&lt;/li&gt;
&lt;li&gt;Added support for host header rewrite in HTTPRouteFilter CRD&lt;/li&gt;
&lt;li&gt;Added support for Listener Access Log in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added support for Datadog tracing support in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added support for request response sizes stats in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added support for modifying container SecurityContext for Envoy Gateway deployment in Helm&lt;/li&gt;
&lt;li&gt;Added support for wildcard matching for CORS AllowMethods and AllowHeaders settings in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for match conditions for access log in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added support for using BackendCluster to represent OIDCProvider&lt;/li&gt;
&lt;li&gt;Added support for RecomputeRoute for ExtAuth in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for sharing token cookies between multiple domains in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for JSONPatches for proxy bootstrap modifications in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added support for Active Passive Failover Backends&lt;/li&gt;
&lt;li&gt;Added support for configuring the GRPC Health Checker in the BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for early request header mutation in the ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for JsonPath in the EnvoyPatchPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for cluster settings for tracing and access log backends in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added support for cluster settings for non xRoute-generated backend refs&lt;/li&gt;
&lt;li&gt;Added support for socket buffer limit field in ClientTrafficPolicy and BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for http2 upstream settings in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for DNS resolution settings in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added support for configuring service annotations in the Envoy Gateway helm chart&lt;/li&gt;
&lt;li&gt;Added support for configuring priorityClassName to Envoy Gateway helm chart&lt;/li&gt;
&lt;li&gt;Added support for ratelimit metrics monitoring in grafana in the addons helm chart&lt;/li&gt;
&lt;li&gt;Added support for default user group and user id for the SecurityContexts in the Envoy Gateway helm chart&lt;/li&gt;
&lt;li&gt;Added support for maxUnavailable in the PodDisruptionBudget in the Envoy Gateway helm chart&lt;/li&gt;
&lt;li&gt;Added support for configuring NodeSelector in the Envoy Gateway helm chart&lt;/li&gt;
&lt;li&gt;Added support for nonce in the OIDC auth flow&lt;/li&gt;
&lt;li&gt;Added support for choosing an HTTPRoute&amp;rsquo;s non-wildcard hostname as the default Host&lt;/li&gt;
&lt;li&gt;Added support for returning 500 when EnvoyExtensionTrafficPolicy translation fails&lt;/li&gt;
&lt;li&gt;Added support for returning 500 when SecurityPolicy translation fails&lt;/li&gt;
&lt;li&gt;Added support for multiple backendRefs for ExtAuth and ExtProc&lt;/li&gt;
&lt;li&gt;Added support for session persistence in HTTPRoute rules&lt;/li&gt;
&lt;li&gt;Added support for the Backend resource for ExtAuth&lt;/li&gt;
&lt;li&gt;Added support for target selectors on Envoy Gateway Extension Server policies&lt;/li&gt;
&lt;li&gt;Added support for non-Kubernetes Backends for TLSRoute&lt;/li&gt;
&lt;li&gt;Added support for fallback to the Backend API&lt;/li&gt;
&lt;li&gt;Added support for reloadable EnvoyGateway configuration&lt;/li&gt;
&lt;li&gt;Added support for adding Labels to the Envoy Service&lt;/li&gt;
&lt;li&gt;Added support for custom name for ratelimit deployment&lt;/li&gt;
&lt;li&gt;Added default SecurityContext for EG components&lt;/li&gt;
&lt;li&gt;Added startupProbe to all provisioned containers&lt;/li&gt;
&lt;li&gt;Added support for local validations for egctl translate and file provider&lt;/li&gt;
&lt;li&gt;Added support for egctl x collect to collect information from the cluster for debugging&lt;/li&gt;
&lt;li&gt;Added support for a native prometheus metrics endpoint in the ratelimit server&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug Fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed xDS translation failing when the WASM HTTP code source was configured without an SHA&lt;/li&gt;
&lt;li&gt;Fixed unsupported listener protocol types causing errors while updating Gateway status&lt;/li&gt;
&lt;li&gt;Fixed unsupported listener protocol types causing errors while updating Gateway status&lt;/li&gt;
&lt;li&gt;Fixed invalid sectionName in BackendTLSPolicy for Backend&lt;/li&gt;
&lt;li&gt;Fixed Delay in SecurityPolicy change propagation for HTTPRoute when using targetSelectors&lt;/li&gt;
&lt;li&gt;Fixed JSONPath not being correctly translated to JSONPatch paths&lt;/li&gt;
&lt;li&gt;Fixed allowing an empty slowStart value when using LeastRequest&lt;/li&gt;
&lt;li&gt;Fixed updating the HTTPRoute status correctly when the linked Backend resource is invalid&lt;/li&gt;
&lt;li&gt;Fixed timeout settings originating from the route being lost when translating the backend traffic policy&lt;/li&gt;
&lt;li&gt;Fixed Backend resources not receiving status updates&lt;/li&gt;
&lt;li&gt;Fixed active health checks requiring the expectedStatuses field to function correctly&lt;/li&gt;
&lt;li&gt;Fixed HTTPHeaderFilter processing not correctly supporting multiple header values&lt;/li&gt;
&lt;li&gt;Fixed reconciling multiple ReferenceGrants within the same namespace&lt;/li&gt;
&lt;li&gt;Fixed unwanted / appearing in the Path when using Prefix Rewrites&lt;/li&gt;
&lt;li&gt;Fixed incorrect gateway being selected as the HTTPRoute parent&lt;/li&gt;
&lt;li&gt;Fixed override issues for EnvoyExtensionPolicy&lt;/li&gt;
&lt;li&gt;Fixed nil pointer error when translating hash load balancing&lt;/li&gt;
&lt;li&gt;Fixed nil pointer if backedtls.minVersion is set but backedtls.maxVersion is not&lt;/li&gt;
&lt;li&gt;Fixed empty connection limits causing xDS rejection&lt;/li&gt;
&lt;li&gt;Fixed rate limiting not working with both headers and CIDR matches&lt;/li&gt;
&lt;li&gt;Fixed EDS not updating when deployments were created after services&lt;/li&gt;
&lt;li&gt;Fixed RBAC issue for deleting infrastructure resources&lt;/li&gt;
&lt;li&gt;Fixed gateways never reaching ready/programmed status when running Envoy as a Daemonset&lt;/li&gt;
&lt;li&gt;Fixed rate limit deployment ignoring pod labels and annotation merges&lt;/li&gt;
&lt;li&gt;Fixed the API Server receives unnecessary requests&lt;/li&gt;
&lt;li&gt;Fixed egctl experimental translate using an incorrect namespace&lt;/li&gt;
&lt;li&gt;Fixed reconciliation not being triggered for Secret updates referenced by a BackendTLSPolicy&lt;/li&gt;
&lt;li&gt;Fixed xDS translation failure when WASM HTTP code source was configured without an SHA&lt;/li&gt;
&lt;li&gt;Fixed HTTPRoute status displaying only one parent when targeting multiple gateways from different GatewayClasses&lt;/li&gt;
&lt;li&gt;Fixed Route with multiple parents having an incorrect namespace in the parentRef status&lt;/li&gt;
&lt;li&gt;Fixed BackendTlsPolicy specifying multiple targetRefs for the same service, to work&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="performance-improvements"&gt;Performance Improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optimize memory usage by only storing distinct resources&lt;/li&gt;
&lt;li&gt;SecurityPolicy translation failures will now cause routes referenced by the policy to return an immediate 500 response&lt;/li&gt;
&lt;li&gt;Gateway-API BackendTLSPolicy v1alpha3 is incompatible with previous versions of the CRD&lt;/li&gt;
&lt;li&gt;xPolicy targetRefs can no longer specify a namespace, since Gateway-API v1.1.0 uses LocalPolicyTargetReferenceWithSectionName in Policy resources&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded Envoy Proxy to v1.32.1&lt;/li&gt;
&lt;li&gt;Reduced the amount of configuration logging, and make it line-delimited friendly&lt;/li&gt;
&lt;li&gt;Made watching alpha CRDs optional, so that Envoy Gateway can run with older Gateway Api versions&lt;/li&gt;
&lt;li&gt;Removed grafana test framework from the addons helm chart&lt;/li&gt;
&lt;li&gt;Disabled ALPN for non-HTTP routes&lt;/li&gt;
&lt;li&gt;Added statPrefix for HCM and TCPProxy&lt;/li&gt;
&lt;li&gt;Enabled GatewayHTTPListenerIsolation conformance test&lt;/li&gt;
&lt;li&gt;Enabled GRPC conformance profile&lt;/li&gt;
&lt;li&gt;Enabled HTTPRouteBackendRequestHeaderModifier conformance test&lt;/li&gt;
&lt;li&gt;Added e2e test for Daemonset mode&lt;/li&gt;
&lt;li&gt;Fixed OVS scanner wrong license warnings&lt;/li&gt;
&lt;li&gt;Added e2e test for Gateway with EnvoyProxy&lt;/li&gt;
&lt;li&gt;Added e2e test for TLS session resumption&lt;/li&gt;
&lt;li&gt;Added heap profile into benchmark report&lt;/li&gt;
&lt;li&gt;Added e2e test for RecomputeRoute in ExtAuth&lt;/li&gt;
&lt;li&gt;Added benchmark memory profiles into report&lt;/li&gt;
&lt;li&gt;Fixed flaky gateway_with_conflicted_listener_cannot_be_merged e2e test&lt;/li&gt;
&lt;li&gt;Fixed flaky Zipkin Tracing e2e test&lt;/li&gt;
&lt;li&gt;Added e2e test for cookie based consistent hash load balancing&lt;/li&gt;
&lt;li&gt;Added e2e test for load balancing&lt;/li&gt;
&lt;li&gt;Fixed flaky authorization tests&lt;/li&gt;
&lt;li&gt;Enabled upgrade test&lt;/li&gt;
&lt;li&gt;Fixed flaky basic auth e2e test&lt;/li&gt;
&lt;li&gt;Enabled use-client-protocol e2e test&lt;/li&gt;
&lt;li&gt;Added performance benchmarking test for 1000 HTTPRoutes&lt;/li&gt;
&lt;li&gt;Added e2e test for Datadog tracing&lt;/li&gt;
&lt;li&gt;Added e2e tests for ratelimit invert matching headers&lt;/li&gt;
&lt;li&gt;Reduced readinessProbe failureThreshold and periodSeconds&lt;/li&gt;
&lt;li&gt;Bumped go-control-plane to v0.13.1&lt;/li&gt;
&lt;li&gt;Enabled e2e tests for dual stack&lt;/li&gt;
&lt;li&gt;Use grafana alloy instead of fluent-bit for e2e tests&lt;/li&gt;
&lt;li&gt;Push tags without the v prefix for helm charts to support Flux HelmReleases&lt;/li&gt;
&lt;li&gt;Use a stable label selector when creating Envoy Proxy fleet pods&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.1.3</title><link>/news/releases/notes/v1.1.3/</link><pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.1.3/</guid><description>&lt;p&gt;Date: November 1, 2024&lt;/p&gt;



&lt;h2 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="new-features"&gt;New features&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="bug-fixes"&gt;Bug fixes&lt;a class="td-heading-self-link" href="#bug-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed unsupported listener protocol type causing an error while updating Gateway Status&lt;/li&gt;
&lt;li&gt;Fixed some status updates were being discarded by the status updater&lt;/li&gt;
&lt;li&gt;Fixed error level logging for admin and metrics modules&lt;/li&gt;
&lt;li&gt;Fixed Dashboard typos&lt;/li&gt;
&lt;li&gt;Fixed Ratelimit Deployment ignoring pod labels and annotation merge&lt;/li&gt;
&lt;li&gt;Fixed the API Server receives unnecessary requests&lt;/li&gt;
&lt;li&gt;Fixed set invalid Listener.SupportedKinds to empty list&lt;/li&gt;
&lt;li&gt;Fixed losing timeout settings that originate from the route when translating the backend traffic policy&lt;/li&gt;
&lt;li&gt;Fixed xds translation failure when wasm http code source configured without sha&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="performance-improvements"&gt;Performance improvements&lt;a class="td-heading-self-link" href="#performance-improvements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="other-changes"&gt;Other changes&lt;a class="td-heading-self-link" href="#other-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Envoy proxy to 1.31.3&lt;/li&gt;
&lt;li&gt;Bumped github.com/docker/docker to 27.3.1+incompatible&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.1.2</title><link>/news/releases/notes/v1.1.2/</link><pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.1.2/</guid><description>&lt;p&gt;Date: September 24, 2024&lt;/p&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed handling of sectionName in BackendTLSPolicy for Backend resource&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="infra-manager"&gt;Infra-manager&lt;a class="td-heading-self-link" href="#infra-manager" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pin Envoy Proxy version to v1.32.2&lt;/li&gt;
&lt;li&gt;Change Envoy listener drain strategy from gradual to immediate&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed reconciliation of HTTPRoutes when labels change&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.1.1</title><link>/news/releases/notes/v1.1.1/</link><pubDate>Wed, 11 Sep 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.1.1/</guid><description>&lt;p&gt;Date: September 11, 2024&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped Golang version to 1.22.7&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Enabled GatewayHTTPListenerIsolation test&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="testing"&gt;Testing&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fix download URL of envoy proxy WASM examples used in tests&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed url rewrite to remove trailing slash&lt;/li&gt;
&lt;li&gt;Isolate HTTP route tables to listener according to Gateway-API specifications&lt;/li&gt;
&lt;li&gt;Fixed identification of ReferenceGrant when multiple ReferenceGrants exist in a namespace&lt;/li&gt;
&lt;li&gt;Fixed added header values as a command and space delimited list&lt;/li&gt;
&lt;li&gt;Fixed assertion on expected status in active HTTP healthcheck&lt;/li&gt;
&lt;li&gt;Fixed rejection of invalid Backends referenced by xRoutes&lt;/li&gt;
&lt;li&gt;Fixed support for empty SlowStart configuration when using LeastRequest loadbalancing&lt;/li&gt;
&lt;li&gt;Fixed update of status for Backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="infra-manager"&gt;Infra-manager&lt;a class="td-heading-self-link" href="#infra-manager" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pin ratelimit version to 26f28d78&lt;/li&gt;
&lt;li&gt;Reduce readinessProbe failureThreshold and periodSeconds of proxy&lt;/li&gt;
&lt;li&gt;Expose ratelimit statsd&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed error returned when referenced Configmap or Secret is not found&lt;/li&gt;
&lt;li&gt;Use component name in Envoy Gateway logs&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v1.1</title><link>/news/releases/v1.1/</link><pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate><guid>/news/releases/v1.1/</guid><description>&lt;p&gt;We are thrilled to announce the arrival of Envoy Gateway v1.1.0.&lt;/p&gt;
&lt;p&gt;This release represents a significant achievement, and we extend our heartfelt gratitude to the entire Envoy Gateway community for their contributions, dedication, and support. Your collaborative efforts have been instrumental in reaching this pivotal release.&lt;/p&gt;
&lt;p&gt;Thank you for being an integral part of this journey. We are excited to see how Envoy Gateway v1.1.0 will empower your operations and look forward to continuing our work together to drive the future of Cloud Native API Gateway.&lt;/p&gt;</description></item><item><title>v1.1.0</title><link>/news/releases/notes/v1.1.0/</link><pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.1.0/</guid><description>&lt;p&gt;Date: July 22, 2024&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Concepts Doc&lt;/li&gt;
&lt;li&gt;Added User Guide for Wasm Extension&lt;/li&gt;
&lt;li&gt;Added User Guide for patching Envoy Service&lt;/li&gt;
&lt;li&gt;Added User Guide for Backend MTLS&lt;/li&gt;
&lt;li&gt;Added User Guide for Backend TLS Parameters&lt;/li&gt;
&lt;li&gt;Added User Guide for IP Allowlist/Denylist&lt;/li&gt;
&lt;li&gt;Added User Guide for Extension Server&lt;/li&gt;
&lt;li&gt;Added User Guide for building Wasm image&lt;/li&gt;
&lt;li&gt;Added Performance Benchmarking Document&lt;/li&gt;
&lt;li&gt;Added User Guide for Zipkin Tracing&lt;/li&gt;
&lt;li&gt;Added User Guide for Customizing Ordering of Filters&lt;/li&gt;
&lt;li&gt;Added User Guide for External Processing Filter in EnvoyExtensionPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide for installation of egctl with brew&lt;/li&gt;
&lt;li&gt;Added User Guide for Client Buffer Size Limit&lt;/li&gt;
&lt;li&gt;Added User Guide for Client Idle Timeout&lt;/li&gt;
&lt;li&gt;Added Chinese translation for release notes, roadmap, installation, development, contribution and several User Guides&lt;/li&gt;
&lt;li&gt;Added User Guide for Backend resource&lt;/li&gt;
&lt;li&gt;Added GA Blog Post&lt;/li&gt;
&lt;li&gt;Added Threat Model&lt;/li&gt;
&lt;li&gt;Added Adopters section to docs&lt;/li&gt;
&lt;li&gt;Added User Guide and Dashboards for Control Plane and Resource Observability&lt;/li&gt;
&lt;li&gt;Added User Guide for Connection Limits in ClientTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide on using Private Key Provider&lt;/li&gt;
&lt;li&gt;Added Design Doc for Authorization&lt;/li&gt;
&lt;li&gt;Added Design Doc for XDS Metadata&lt;/li&gt;
&lt;li&gt;Added Design Doc for Backend resource&lt;/li&gt;
&lt;li&gt;Added Design Doc for Control Plane Observability&lt;/li&gt;
&lt;li&gt;Added Design Doc for EnvoyExtensionPolicy&lt;/li&gt;
&lt;li&gt;Added Design Doc for External Processing in EnvoyExtensionPolicy&lt;/li&gt;
&lt;li&gt;Updated Access Logging User Guide to include filtering with CEL Expression&lt;/li&gt;
&lt;li&gt;Updated Access Logging User Guide to include Metadata&lt;/li&gt;
&lt;li&gt;Updated Development Guide to require Golang 1.22&lt;/li&gt;
&lt;li&gt;Updated Quickstart User Guide to fetch GATEWAY_HOST from Gateway resource&lt;/li&gt;
&lt;li&gt;Updated Site to reflect GA status&lt;/li&gt;
&lt;li&gt;Updated HTTP Redirect User Guide to not set a redirect port or require a BackendRef&lt;/li&gt;
&lt;li&gt;Updated Observability User Guides to use gateway-addons-helm&lt;/li&gt;
&lt;li&gt;Updated Gateway-API User Guide to reflect support for BackendRef filters&lt;/li&gt;
&lt;li&gt;Updated HTTP Timeouts User Guide to highlight default Envoy timeouts&lt;/li&gt;
&lt;li&gt;Updated Installation Guide to use server-side apply&lt;/li&gt;
&lt;li&gt;Updated Installation Guide to refer to values.yaml docs&lt;/li&gt;
&lt;li&gt;Updated BackendTLSPolicy User Guide to GW-API v1.1.0&lt;/li&gt;
&lt;li&gt;Updated User Guides to use tabs when applying yaml from file or stdin&lt;/li&gt;
&lt;li&gt;Updated OIDC User Guide to use HTTPS redirect URLs&lt;/li&gt;
&lt;li&gt;Updated Order of versions in Site&lt;/li&gt;
&lt;li&gt;Updated Extensbility User Gudie to use yaml-format patches&lt;/li&gt;
&lt;li&gt;Updated Quickstart Guide to include next steps&lt;/li&gt;
&lt;li&gt;Updated CRD docs to include enum values&lt;/li&gt;
&lt;li&gt;Updated Extensibility User Guide with Envoy Patch Policy examples&lt;/li&gt;
&lt;li&gt;Updated structure of docs: rename Guides to Tasks, move Contribution&lt;/li&gt;
&lt;li&gt;Updated Support Matrix&lt;/li&gt;
&lt;li&gt;Updated egctl x status docs for xRoute and xPolicy&lt;/li&gt;
&lt;li&gt;Updated egctl User Guide with Install and Uninstall commands&lt;/li&gt;
&lt;li&gt;Updated GRPCRoute docs to use v1 instead of v1alpha2&lt;/li&gt;
&lt;li&gt;Fixed Rate Limiting User Guide to use correct CIDR matcher type names&lt;/li&gt;
&lt;li&gt;Fixed User Guide for JWT-based routing&lt;/li&gt;
&lt;li&gt;Fixed JSON Access Log Example&lt;/li&gt;
&lt;li&gt;Use linkinator to detect dead links in docs&lt;/li&gt;
&lt;li&gt;Use helm-docs to generate chart docs&lt;/li&gt;
&lt;li&gt;Support Not-Implemented-Hide marker in API docs&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added startupProbe to all provisioned containers to reduce risk of restart&lt;/li&gt;
&lt;li&gt;Added new gateway-addons-helm chart for Observability&lt;/li&gt;
&lt;li&gt;Added support for global image settings for all images in Envoy Gateway helm chart&lt;/li&gt;
&lt;li&gt;Added Support for PodDistruptionBudget for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Support for TopologySpreadConstraints for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Support for Tolerations for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Support for Ratelimit image pull secrets and pull policy&lt;/li&gt;
&lt;li&gt;Updated ttlSecondsAfterFinished on certgen job to 30 by default&lt;/li&gt;
&lt;li&gt;Updated Envoy Gateway ImagePullPolicy to IfNotPresent released charts&lt;/li&gt;
&lt;li&gt;Remove envoy-gateway-metrics-service and merge its contents into envoy-gateway service&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Gateway-API v1.1.0&lt;/li&gt;
&lt;li&gt;Added new Backend CRD&lt;/li&gt;
&lt;li&gt;Added new EnvoyExtensionPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Plural Target Refs and Target Selectors in xPolicy CRDs&lt;/li&gt;
&lt;li&gt;Added Support for Backend CRD BackendRefs in HTTPRoute, GRPCRoute and EnvoyExtensionPolicy CRDs&lt;/li&gt;
&lt;li&gt;Added Support for Custom Extension Server Policy CRDs in EnvoyGateway Config&lt;/li&gt;
&lt;li&gt;Added Support for Custom ShutDownManager Image in EnvoyGateway Config&lt;/li&gt;
&lt;li&gt;Added Support for Leader Election in EnvoyGateway Config&lt;/li&gt;
&lt;li&gt;Added Support for Connecting to Extension Server over Unix Domain Socket in EnvoyGateway Config&lt;/li&gt;
&lt;li&gt;Added Support for Proxy PodDisruptionBudget in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Running Envoy Proxy as a Daemonset in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Proxy Loadbalancer Source Ranges in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Proxy Prometheus Metrics Compression in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for BackendRefs in Access Log, Metric and Trace Sinks in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Rate Limiting Tracing in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Routing to Service IP in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Access Log CEL filters in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Access Log Formatters for File and OpenTelemetry in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Zipkin Tracing in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for using the Listener port as a the Container port in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for OpenTelemtry Sink Export Settings in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Backend Client Certificate Authentication in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Backend TLS Settings in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for HTTP Filter Ordering in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for gRPC Access Log Service (ALS) Sink in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for OpenTelelemetry Sinks as a BackendRef in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for User-Provided name for generate Kubernetes resources in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Per-Endpoint stats in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Targeting SectionNames in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Preserving X-Request-ID header in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Using Downstream Protocol in Upstream connections in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for HTTP/2 settings in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Connection Buffer Size Limit in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for HTTP Health Check in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Optionally requiring a Client Certificate in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Headers with Underscores CRD in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for XFCC header processing in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for TCP Listener Idle Timeout in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for IdleTimeout in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Connection Limits in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for additional OIDC settings related to Resource, Token and Cookie in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Optionally requiring a JWT in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for BackendRefs for Ext-Auth in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Authorization in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Ext-Auth failOpen in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Loadbalancer Cookie Consistent Hashing in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Disabling X-RateLimit headers in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Connection Buffer Size Limit in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Loadbalancing Consistent Hash Table Size in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Loadbalancing Header Hash Policy in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Cluster Connection Buffer Size Limit in BackendTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added Support for more Rate Limit Rules in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Wasm extension in EnvoyExtensionPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for External Processing extension in EnvoyExtensionPolicy CRD&lt;/li&gt;
&lt;li&gt;Removed Status Print Column from xPolicy CRDs&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="breaking-changes"&gt;Breaking Changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;SecurityPolicy translation failures will now cause routes referenced by the policy to return an immediate 500 response&lt;/li&gt;
&lt;li&gt;Gateway-API BackendTLSPolicy v1alpha3 is incompatible with previous versions of the CRD&lt;/li&gt;
&lt;li&gt;xPolicy targetRefs can no longer specify a namespace, since Gateway-API v1.1.0 uses LocalPolicyTargetReferenceWithSectionName in Policy resources&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="deprecations"&gt;Deprecations&lt;a class="td-heading-self-link" href="#deprecations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;xPolicy targetRef is deprecated, use targetRefs instead&lt;/li&gt;
&lt;li&gt;SecurityPolicy ExtAuth BackendRef is deprecated, use BackendRefs instead&lt;/li&gt;
&lt;li&gt;OpenTelemetry Proxy Access Log Host and Port are deprecated, use backendRefs instead&lt;/li&gt;
&lt;li&gt;OpenTelemetry Proxy Metrics Sink Host and Port are deprecated, use backendRefs instead&lt;/li&gt;
&lt;li&gt;Proxy Tracing Provider Host and Port are deprecated, use backendRefs instead&lt;/li&gt;
&lt;li&gt;Envoy Gateway Extension Server Host and Port are deprecated, use BackendEndpoint instead&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Supported Features to Gateway Class&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="testing"&gt;Testing&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added e2e test for Client MTLS&lt;/li&gt;
&lt;li&gt;Added e2e test for Load Balancing&lt;/li&gt;
&lt;li&gt;Added performance benchmarking test&lt;/li&gt;
&lt;li&gt;Added e2e test for Zipking Tracing&lt;/li&gt;
&lt;li&gt;Added e2e test for HTTP Health Checks&lt;/li&gt;
&lt;li&gt;Added e2e test for CEL Access Log Filter&lt;/li&gt;
&lt;li&gt;Added e2e test for GRPC Access Log Service Sink&lt;/li&gt;
&lt;li&gt;Added e2e test for XDS Metadata&lt;/li&gt;
&lt;li&gt;Added e2e test for Wasm from OCI Images and HTTP Source&lt;/li&gt;
&lt;li&gt;Added e2e test for Service IP Routing&lt;/li&gt;
&lt;li&gt;Added e2e test for Multiple GatewayClasses&lt;/li&gt;
&lt;li&gt;Added e2e test for HTTP Full Path rewrite&lt;/li&gt;
&lt;li&gt;Added e2e test for Backend API&lt;/li&gt;
&lt;li&gt;Added e2e test for Backend TLS Settings&lt;/li&gt;
&lt;li&gt;Added e2e test for disabling X-RateLimit Headers&lt;/li&gt;
&lt;li&gt;Added e2e test for Authorization&lt;/li&gt;
&lt;li&gt;Added e2e test for BackendRefs in Ext-Auth&lt;/li&gt;
&lt;li&gt;Added e2e test for Using Client Protocol in Upstream Connection&lt;/li&gt;
&lt;li&gt;Added e2e test for Backend Client Cert Authentication&lt;/li&gt;
&lt;li&gt;Added e2e test for External Processing Filter&lt;/li&gt;
&lt;li&gt;Added e2e test for Merge Gateways Feature&lt;/li&gt;
&lt;li&gt;Added e2e test for Option JWT authentication&lt;/li&gt;
&lt;li&gt;Added e2e test for Infrastructure using Server-Side Apply&lt;/li&gt;
&lt;li&gt;Added e2e test for Connection Limits&lt;/li&gt;
&lt;li&gt;Added e2e test for Envoy Graceful Shutdown&lt;/li&gt;
&lt;li&gt;Updated e2e test for Limit to cover multiple listeners&lt;/li&gt;
&lt;li&gt;Updated e2e test for CORS to not require access-control-expose-headers&lt;/li&gt;
&lt;li&gt;Run CEL tests on all supported K8s versions&lt;/li&gt;
&lt;li&gt;Added OSV Scanner for Golang Vulnerabilities and Licenses&lt;/li&gt;
&lt;li&gt;Added Trivy scanner for Docker images&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for BackendRef HTTP Filters&lt;/li&gt;
&lt;li&gt;Added Support for attaching EnvoyProxy to Gateways&lt;/li&gt;
&lt;li&gt;Added Support for cross-namespace EnvoyProxy reference from GatewayClass&lt;/li&gt;
&lt;li&gt;Added Support for Backend Traffic Policy for UDPRoute and TCPRoute&lt;/li&gt;
&lt;li&gt;Added Support for ClientTrafficPolicy for UDPRoute and TCPRoute&lt;/li&gt;
&lt;li&gt;Added Support for multiple BackendRefs in TCPRoute and UDPRoute&lt;/li&gt;
&lt;li&gt;Added Metrics related to XDS Server, Infra Manager and Controller&lt;/li&gt;
&lt;li&gt;Added Support for PolicyStatus in EnvoyPatchPolicy&lt;/li&gt;
&lt;li&gt;Added Support for Websocket upgrades in HTTP/1 Routes&lt;/li&gt;
&lt;li&gt;Added Support for custom controller name in egctl&lt;/li&gt;
&lt;li&gt;Added Support for BackendTLSPolicy CA Certificate reference to Secret&lt;/li&gt;
&lt;li&gt;Added names to Filter Chains&lt;/li&gt;
&lt;li&gt;Added Support extension server hooks for TCP and UDP listeners&lt;/li&gt;
&lt;li&gt;Added Support for attaching EnvoyProxy resource to Gateways&lt;/li&gt;
&lt;li&gt;Added Support for Exposing Prometheus Port in Rate Limiter Service&lt;/li&gt;
&lt;li&gt;Added Support for Optional Rate Limit Backend Redis&lt;/li&gt;
&lt;li&gt;Updated OAuth2 filter to preserve Authorization header if OIDC token forwarding is enabled&lt;/li&gt;
&lt;li&gt;Updated Default Filter Order to have Fault filter first in the HTTP Filter Chain&lt;/li&gt;
&lt;li&gt;Updated Ext-Auth Per-Route config to use filter-specific Config Type&lt;/li&gt;
&lt;li&gt;Updated Overload Manager configuration according to Envoy recommendations by default&lt;/li&gt;
&lt;li&gt;Updated Infrastructure resource management to user Server-Side Apply&lt;/li&gt;
&lt;li&gt;Updated Reflection of Errors in Gateway Status when too many addresses are assigned&lt;/li&gt;
&lt;li&gt;Fixed enforcement of same-namespace for BackendTLSPolicy and target&lt;/li&gt;
&lt;li&gt;Fixed processing all listeners before returning with an error&lt;/li&gt;
&lt;li&gt;Fixed creation of infrastructure resources if there are no listeners&lt;/li&gt;
&lt;li&gt;Fixed use GatewayClass Name for Observability if Merge Gateways is enabled&lt;/li&gt;
&lt;li&gt;Fixed CORS to not forward Not-Matching Preflights to Backends&lt;/li&gt;
&lt;li&gt;Fixed BackendTLSPolicy status to fully conform with PolicyStatus&lt;/li&gt;
&lt;li&gt;Fixed duplication of Ext-Auth, OIDC and Basic Auth Filters&lt;/li&gt;
&lt;li&gt;Fixed Proxy Protocol Filter to always be the first Listener Filter&lt;/li&gt;
&lt;li&gt;Fixed Translation Consistency by sorting Gateways&lt;/li&gt;
&lt;li&gt;Fixed QUIC Listener to only Advertise HTTP/3 over ALPN&lt;/li&gt;
&lt;li&gt;Fixed SNI matching for TCP Routes with TLS termination&lt;/li&gt;
&lt;li&gt;Fixed Reconciliation when EnvoyProxy backendRefs changes&lt;/li&gt;
&lt;li&gt;Fixed Reconciliation when a referenced Secret or ConfigMap changes&lt;/li&gt;
&lt;li&gt;Fixed ReplaceFullPath not working for root path&lt;/li&gt;
&lt;li&gt;Fixed Default Application Protocol to TCP for Zipkin Tracing&lt;/li&gt;
&lt;li&gt;Fixed not appending well-known ports (80, 443) in rediret Location header&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped K8s Client to v0.30.0&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bumped go-control-plane to v0.12.1&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="cli"&gt;Cli&lt;a class="td-heading-self-link" href="#cli" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added egctl x collect command&lt;/li&gt;
&lt;li&gt;Added Support for Install and Uninstall commands to egctl&lt;/li&gt;
&lt;li&gt;Added Support for xRoute and xPolicy in egctl x status&lt;/li&gt;
&lt;li&gt;Added Golang version to Envoy Gateway version command&lt;/li&gt;
&lt;li&gt;Fixed egctl x status gatewayclass example message&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.0.2</title><link>/news/releases/notes/v1.0.2/</link><pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.0.2/</guid><description>&lt;p&gt;Date: June 12, 2024&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated EnvoyProxy to 1.29.5&lt;/li&gt;
&lt;li&gt;Use Patch API for infra-client&lt;/li&gt;
&lt;li&gt;Use ServerSideApply instead of CreateOrUpdate for infra-client&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="testing"&gt;Testing&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed failures due to an expired certificate in one of the translator tests&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;proto&gt;-&lt;port&gt; for naming service and container ports&lt;/li&gt;
&lt;li&gt;Added proxy protocol always as first listenerFilter&lt;/li&gt;
&lt;li&gt;Set ignoreCase for header matchers in extAuth&lt;/li&gt;
&lt;li&gt;Added backend TLS SAN validation&lt;/li&gt;
&lt;li&gt;Fixed ReplaceFullPath not working for root path (/)&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed duplicated xroutes are added to gatewayapi Resources&lt;/li&gt;
&lt;li&gt;Fixed security policy reference grant from field type&lt;/li&gt;
&lt;li&gt;Fixed Route extension filters with different types but the same name and namespace aren&amp;rsquo;t correctly cached&lt;/li&gt;
&lt;li&gt;Fixed secrets/configmap updates to trigger a controller reconcile by removing the generationChanged predicate&lt;/li&gt;
&lt;li&gt;Removed namespace restriction for EnvoyProxy parametersRef&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.0.1</title><link>/news/releases/notes/v1.0.1/</link><pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.0.1/</guid><description>&lt;p&gt;Date: April 9, 2024&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated EnvoyProxy version to v1.29.3&lt;/li&gt;
&lt;li&gt;Fixed certgen to support creating the hmac secret during an upgrade&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed nil secret in resourceversiontable&lt;/li&gt;
&lt;li&gt;Add missing http filters to the http filter chain when ClientTrafficPolicy and MergeGateways is enabled&lt;/li&gt;
&lt;li&gt;Allow websockets when url rewrite is enabled&lt;/li&gt;
&lt;li&gt;Set the Host header for http health checker&lt;/li&gt;
&lt;li&gt;Fixed double slashes in redirect URL&lt;/li&gt;
&lt;li&gt;Allow ClientTrafficPolicy to attach to multiple http (non https) listeners within the same Gateway&lt;/li&gt;
&lt;li&gt;Set path prefix for the http ext auth service&lt;/li&gt;
&lt;li&gt;Set the route matching precedence order to Exact &amp;gt; RegularExpression &amp;gt; PathPrefix&lt;/li&gt;
&lt;li&gt;Fixed infraIR duplicate port translation for merged gateways&lt;/li&gt;
&lt;li&gt;Set SpawnUpstreamSpan to true&lt;/li&gt;
&lt;li&gt;Allow rate limit to work with multiple listeners&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="infra-manager"&gt;Infra-manager&lt;a class="td-heading-self-link" href="#infra-manager" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Skip creating infra resources when the InfraIR has empty listeners&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway’s 1.0 Release!</title><link>/news/blogs/1.0-release/1.0-release/</link><pubDate>Thu, 14 Mar 2024 00:00:00 +0000</pubDate><guid>/news/blogs/1.0-release/1.0-release/</guid><description>&lt;p&gt;Today we’re ecstatic to announce the 1.0 release of Envoy Gateway (EG) for Kubernetes. A mature version ready for widespread adoption in production that simplifies the use of Envoy for managing North-South traffic.&lt;/p&gt;
&lt;p&gt;After nearly two years with contributions from over 90 engineers we are proud to say EG meets the goals that Matt outlined in the &lt;a href="https://blog.envoyproxy.io/introducing-envoy-gateway-ad385cc59532"&gt;original post&lt;/a&gt; introducing the project, summarized here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Built around the (then emerging) &lt;a href="https://gateway-api.sigs.k8s.io"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Addresses common needs with a solution that is simple to configure and understand&lt;/li&gt;
&lt;li&gt;Provides &lt;a href="/v1.0/tasks/"&gt;great docs&lt;/a&gt; for common use cases to enable ease of adoption&lt;/li&gt;
&lt;li&gt;Empowers the community and vendors to drive the project forward through an extensible API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Can’t wait to try it? Visit the EG &lt;a href="/v1.0/tasks/"&gt;tasks&lt;/a&gt; to get started with Envoy Gateway 1.0&lt;/p&gt;</description></item><item><title>Announcing Envoy Gateway v1.0</title><link>/news/releases/v1.0/</link><pubDate>Wed, 13 Mar 2024 00:00:00 +0000</pubDate><guid>/news/releases/v1.0/</guid><description>&lt;p&gt;We are thrilled to announce the arrival of Envoy Gateway v1.0.0, marking the official General Availability (GA) milestone for the project!&lt;/p&gt;
&lt;p&gt;This release represents a significant achievement, and we extend our heartfelt gratitude to the entire Envoy Gateway community for their contributions, dedication, and support. Your collaborative efforts have been instrumental in reaching this pivotal release.&lt;/p&gt;
&lt;p&gt;Thank you for being an integral part of this journey. We are excited to see how Envoy Gateway v1.0.0 will empower your operations and look forward to continuing our work together to drive the future of Cloud Native API Gateway.&lt;/p&gt;</description></item><item><title>v1.0.0</title><link>/news/releases/notes/v1.0.0/</link><pubDate>Wed, 13 Mar 2024 00:00:00 +0000</pubDate><guid>/news/releases/notes/v1.0.0/</guid><description>&lt;p&gt;Date: March 13, 2024&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added User Guide for Local Ratelimit&lt;/li&gt;
&lt;li&gt;Added User Guide for Circuit Breaker&lt;/li&gt;
&lt;li&gt;Added User Guide for fault injection&lt;/li&gt;
&lt;li&gt;Added User Guide for EnvoyProxy extraArgs&lt;/li&gt;
&lt;li&gt;Added User Guide for Timeouts in ClientTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide for JWT claim base routing&lt;/li&gt;
&lt;li&gt;Added User Guide for HTTP Timeout&lt;/li&gt;
&lt;li&gt;Added User Guide for Retry in BackendTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide for Basic Auth&lt;/li&gt;
&lt;li&gt;Added User Guide for OIDC&lt;/li&gt;
&lt;li&gt;Added User Guide for ClientTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide for BackendTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide for Basic Auth using HTTPS&lt;/li&gt;
&lt;li&gt;Added User Guide for External Authorization&lt;/li&gt;
&lt;li&gt;Added User Guide for Routing Outside Kubernetes&lt;/li&gt;
&lt;li&gt;Added User Guide for BackendTLSPolicy&lt;/li&gt;
&lt;li&gt;Added User Guide for Mutual TLS from External Clients to the Gateway&lt;/li&gt;
&lt;li&gt;Added User Guide for Control Plane Authentication using custom certs&lt;/li&gt;
&lt;li&gt;Added User Guide for Multiple Gatewayclass and Merge Gateways Deployment Mode&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;Type&lt;/code&gt; and &lt;code&gt;required&lt;/code&gt; for CRD API doc&lt;/li&gt;
&lt;li&gt;Refactored Structure of User Guide docs&lt;/li&gt;
&lt;li&gt;Refactored Move Design docs under &amp;ldquo;Get Involved&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Updated crd-ref-docs to 0.0.10&lt;/li&gt;
&lt;li&gt;Updated Envoy proxy image to envoy:distroless-dev in main&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Pulling envoyGateway image from a private registry&lt;/li&gt;
&lt;li&gt;Added Support for Configuring resources for certgen job&lt;/li&gt;
&lt;li&gt;Added Support for Configuring affinity for EnvoyGateway pod&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Downstream QUIC/HTTP3 in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Downstream MTLS in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Enabling EnvoyHeaders in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for DisableMergeSlash and escapedSlashesAction in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for EnableTrailers in HTTP/1.1 in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Preserving header letter-case on HTTP/1 in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Enabling HTTP/1.0 and HTTP/0.9 in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Client IP Detection using XFF in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Client IP Detection using Custom Header in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Connection Timeouts in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Common TLS configuration properties in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Proxy protocol in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for TCPKeepAlive in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Local rate limit in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for CircuitBreaker in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Fault injection in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Passive Health Checks in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Active Health Checks in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Connection Timeouts in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Compressor/Decompressor in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Retry in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Slow start mode in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Proxy protocol in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for TCPKeepAlive in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for PolicyStatus in BackendTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for PolicyStatus in ClientTrafficPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for PolicyStatus in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for OIDC in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Basic Auth in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for RedirectURL and signoutPath to OIDC in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for ExtractFrom headers and params to JWT in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for External Authorization in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for RecomputeRoute field to JWT in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for AllowCredentials knob to CORS setting in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Extract from different identifier to JWT in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Secret resource in EnvoyPatchPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Making the value optional for JSONPatchOperation in EnvoyPatchPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for &lt;code&gt;From&lt;/code&gt; field to JSONPatchOperation in EnvoyPatchPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for MergeGateways in EnvoyPatchPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Upstream TLS by implementing BackendTLSPolicy CRD&lt;/li&gt;
&lt;li&gt;Added Support for LabelSelector type for NamespaceSelectors in EnvoyGateway Configuration&lt;/li&gt;
&lt;li&gt;Added Support for Ratelimit prometheus in EnvoyGateway Configuration&lt;/li&gt;
&lt;li&gt;Added Support for Gracefully drain listeners before envoy shutdown on pod termination in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Configuring externalTrafficPolicy to the envoy service in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Envoy extra args in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Mergepatch to envoyproxy/ratelimit deployment in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for Mergepatch to envoyproxy service in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for NodeSelector to PodSpec in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for HorizontalPodAutoscaler in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for TopologySpreadConstraints to PodSpec in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for ImagePullSecrets to PodSpec in EnvoyProxy CRD&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="breaking-changes"&gt;Breaking Changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use wildcard to match AllowOrigins to CORS in SecurityPolicy CRD&lt;/li&gt;
&lt;li&gt;Remove Hostnetwork support in EnvoyProxy CRD&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Replaced backend image from gcr.io/k8s-staging-ingressconformance/echoserver to gcr.io/k8s-staging-gateway-api/echo-basic&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="testing"&gt;Testing&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added e2e test for Header Case-Preserving&lt;/li&gt;
&lt;li&gt;Added e2e test for Timeout in ClientTrafficPolicy&lt;/li&gt;
&lt;li&gt;Added e2e test for JWT claim base routing&lt;/li&gt;
&lt;li&gt;Added e2e test for OIDC&lt;/li&gt;
&lt;li&gt;Added e2e test for BackendTrafficPolicy Retry&lt;/li&gt;
&lt;li&gt;Added e2e test for Backend Upgrade&lt;/li&gt;
&lt;li&gt;Added e2e test for External Authorization&lt;/li&gt;
&lt;li&gt;Added e2e test for Backend TLS policy&lt;/li&gt;
&lt;li&gt;Added e2e test for Envoy Gateway Release Upgrade&lt;/li&gt;
&lt;li&gt;Added e2e test for Weighted backend&lt;/li&gt;
&lt;li&gt;Added validation for LoadBalancerIP to prevent trailing period&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Prefix match to prevent mismatching routes with the same prefix&lt;/li&gt;
&lt;li&gt;Fixed Multiple reconciling by implementing comparable interface for ir.Infra&lt;/li&gt;
&lt;li&gt;Fixed EndpointSlice with empty conditions {}&lt;/li&gt;
&lt;li&gt;Fixed Error handling when parsing the http request timeout&lt;/li&gt;
&lt;li&gt;Fixed No status when EnvoyPatchPolicy is disabled&lt;/li&gt;
&lt;li&gt;Fixed Printable for xds and infra IRs&lt;/li&gt;
&lt;li&gt;Fixed Skip backendRefs with weight set to 0&lt;/li&gt;
&lt;li&gt;Fixed AND Header matches in ratelimiting not working&lt;/li&gt;
&lt;li&gt;Fixed Deletion logics when no gatewayclasses exist&lt;/li&gt;
&lt;li&gt;Fixed Match mergedGateways irKey for ClientTrafficPolicy&lt;/li&gt;
&lt;li&gt;Fixed Policies should apply only to gateways they were attached to when mergeGateways is true&lt;/li&gt;
&lt;li&gt;Fixed Listener status is not surfaced for gateways when MergeGateways enabled&lt;/li&gt;
&lt;li&gt;Fixed GRPCroute websocket not working by moving web socket upgrade config from hcm to route&lt;/li&gt;
&lt;li&gt;Fixed Configure idle timeout when timeout is set on HTTPRoute&lt;/li&gt;
&lt;li&gt;Fixed Relaxing HTTPS restriction for OIDC token endpoint&lt;/li&gt;
&lt;li&gt;Fixed Panic when translating routes with empty backends&lt;/li&gt;
&lt;li&gt;Fixed Xds translation should be done in a best-effort manner&lt;/li&gt;
&lt;li&gt;Fixed Delete unused status keys from watchable&lt;/li&gt;
&lt;li&gt;Fixed Ignoring finalizers when comparing envoy proxy service&lt;/li&gt;
&lt;li&gt;Fixed Don&amp;rsquo;t override the ALPN array if HTTP/3 is enabled&lt;/li&gt;
&lt;li&gt;Fixed Add h3 ALPN by default if HTTP/3 is enabled&lt;/li&gt;
&lt;li&gt;Fixed Change the Merge behavior to Replace for SecurityPolicy/BackendTrafficPolicy&lt;/li&gt;
&lt;li&gt;Fixed Use service port in alt-svc header if HTTP/3 is enabled&lt;/li&gt;
&lt;li&gt;Fixed Prevent policies targeting non-TLS listeners on the same port from conflicting&lt;/li&gt;
&lt;li&gt;Fixed Skip the ReasonTargetNotFound for all policies&lt;/li&gt;
&lt;li&gt;Fixed Skip publishing empty status for all policies&lt;/li&gt;
&lt;li&gt;Added Support for validating regex before sending to Envoy&lt;/li&gt;
&lt;li&gt;Added Support for setting spec.addresses.value into ClusterIP when Service Type is ClusterIP&lt;/li&gt;
&lt;li&gt;Added Unsupported status condition for filters within BackendRef&lt;/li&gt;
&lt;li&gt;Added List instead of map for Provider Resources for order stability&lt;/li&gt;
&lt;li&gt;Added Suffix for oauth cookies to prevent multiple oauth filters from overwriting each other&amp;rsquo;s cookies&lt;/li&gt;
&lt;li&gt;Added Support for overriding condition to BackendTrafficPolicy and SecurityPolicy&lt;/li&gt;
&lt;li&gt;Added Support for default retry budget and retry host predicate&lt;/li&gt;
&lt;li&gt;Added Support for implementing gateway.spec.infrastructure&lt;/li&gt;
&lt;li&gt;Added Support for Upstream TLS to multiple Backends&lt;/li&gt;
&lt;li&gt;Added Validation for CA Cert in ClientTrafficPolicy&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for multiple GatewayClass per controller&lt;/li&gt;
&lt;li&gt;Added SecurityPolicyIndexers in Kubernetes Provider&lt;/li&gt;
&lt;li&gt;Added Support for generating HMAC secret in CertGen Job&lt;/li&gt;
&lt;li&gt;Fixed Finalizer logic when deleting Gatewayclasses&lt;/li&gt;
&lt;li&gt;Fixed MergeGateways panics when restarting control plane&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for EDS cache&lt;/li&gt;
&lt;li&gt;Added Support for ADS cache to ensure the rule order&lt;/li&gt;
&lt;li&gt;Fixed Deprecated field error when using RequestHeaderModifier filter&lt;/li&gt;
&lt;li&gt;Fixed Envoy rejects XDS at runtime losing all routes on restart&lt;/li&gt;
&lt;li&gt;Fixed Requests not matching defined routes trigger per-route filters&lt;/li&gt;
&lt;li&gt;Bumped go-control-plane to v0.12.0&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="cli"&gt;Cli&lt;a class="td-heading-self-link" href="#cli" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for egctl x status&lt;/li&gt;
&lt;li&gt;Added Support for egctl experimental dashboard envoy-proxy&lt;/li&gt;
&lt;li&gt;Added Support for egctl config ratelimit&lt;/li&gt;
&lt;li&gt;Added Support for egctl translate from gateway-api resources to IR&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v0.6</title><link>/news/releases/v0.6/</link><pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate><guid>/news/releases/v0.6/</guid><description>&lt;p&gt;We are pleased to announce the release of Envoy Gateway v0.6!&lt;/p&gt;
&lt;p&gt;This is the fifth functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for
helping publish the release.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v0.6.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io/v0.6"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://github.com/envoyproxy/gateway/releases/tag/v0.6.0"&gt;Download&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The release adds a ton of features and functionality. Here are some highlights:&lt;/p&gt;



&lt;h3 id="gateway-api"&gt;Gateway API&lt;a class="td-heading-self-link" href="#gateway-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to Gateway API v1.0&lt;/li&gt;
&lt;li&gt;Added support for HTTPRoute Timeouts&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-control-plane-proxy-telemetry"&gt;Add Control Plane Proxy Telemetry&lt;a class="td-heading-self-link" href="#add-control-plane-proxy-telemetry" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Metrics Telemetry&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-support-for-directly-configuring-xds"&gt;Add Support for directly configuring xDS&lt;a class="td-heading-self-link" href="#add-support-for-directly-configuring-xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for the EnvoyPatchPolicy API&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;a class="td-heading-self-link" href="#clienttrafficpolicy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for configuring Downstream Keep Alives&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;a class="td-heading-self-link" href="#backendtrafficpolicy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for configuring Rate limiting&lt;/li&gt;
&lt;li&gt;Added Support for configuring load balancing&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="securitypolicy"&gt;SecurityPolicy&lt;a class="td-heading-self-link" href="#securitypolicy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for configuring JWT&lt;/li&gt;
&lt;li&gt;Added Support for configuring CORS&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="api-updates"&gt;API Updates&lt;a class="td-heading-self-link" href="#api-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added support for selectively watching resources based on Namespace Selector&lt;/li&gt;
&lt;li&gt;Added EnvoyGateway Metrics with Prometheus and OpenTelemetry support&lt;/li&gt;
&lt;li&gt;Added Support for InitContainers in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for LoadBalancerIP in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for AllocateLoadBalancerNodePorts in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for LoadBalancerClass in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for selecting EnvoyProxy stats to be generated&lt;/li&gt;
&lt;li&gt;Added Support for enabling EnvoyProxy Virtual Host metrics&lt;/li&gt;
&lt;li&gt;Added Support for Merging Gateway resources onto the same infrastructure&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="cli"&gt;CLI&lt;a class="td-heading-self-link" href="#cli" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;egctl stats&lt;/code&gt; command&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="kubernetes-provider"&gt;Kubernetes Provider&lt;a class="td-heading-self-link" href="#kubernetes-provider" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improved reconiliation by using the same enqueue request for all resources&lt;/li&gt;
&lt;li&gt;Added support for reconciling ServiceImport CRD&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="breaking-changes"&gt;Breaking changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Removed RateLimitFilter, and replaced it with BackendTrafficPolicy&lt;/li&gt;
&lt;li&gt;Removed AuthenticationFilter, and replaced it with SecurityPolicy&lt;/li&gt;
&lt;li&gt;Moved the EnvoyProxy CRD from &lt;code&gt;config.gateway.envoyproxy.io&lt;/code&gt; to &lt;code&gt;gateway.envoyproxy.io&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Converted the &lt;code&gt;bootstrap&lt;/code&gt; field within &lt;code&gt;EnvoyProxy&lt;/code&gt; into a struct to support merge operations.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v0.6.0</title><link>/news/releases/notes/v0.6.0/</link><pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate><guid>/news/releases/notes/v0.6.0/</guid><description>&lt;p&gt;Date: Nov 1, 2023&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introduced a new website based on Hugo&lt;/li&gt;
&lt;li&gt;Added Grafana dashboards and integration docs for EnvoyProxy metrics&lt;/li&gt;
&lt;li&gt;Added Grafana integration docs for Gateway API metrics&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Updated EnvoyProxy image to be a distroless variant.&lt;/li&gt;
&lt;li&gt;Removed resources around kube-rbac-proxy&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to Gateway API v1.0.0&lt;/li&gt;
&lt;li&gt;Added the ClientTrafficPolicy CRD with Keep Alive Support&lt;/li&gt;
&lt;li&gt;Added the BackendTrafficPolicy CRD with RateLimit and LoadBalancer Support&lt;/li&gt;
&lt;li&gt;Added the SecurityPolicy CRD with CORS and JWT Support&lt;/li&gt;
&lt;li&gt;Added EnvoyGateway Metrics with Prometheus and OpenTelemetry support&lt;/li&gt;
&lt;li&gt;Added Support for InitContainers in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for LoadBalancerIP in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for AllocateLoadBalancerNodePorts in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for LoadBalancerClass in EnvoyProxy CRD&lt;/li&gt;
&lt;li&gt;Added Support for selecting EnvoyProxy stats to be generated&lt;/li&gt;
&lt;li&gt;Added Support for enabling EnvoyProxy Virtual Host metrics&lt;/li&gt;
&lt;li&gt;Added Support for Merging Gateway resources onto the same infrastructure&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="breaking-changes"&gt;Breaking Changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Removed the AuthenticationFilter CRD&lt;/li&gt;
&lt;li&gt;Removed the RateLimitFilter CRD&lt;/li&gt;
&lt;li&gt;Moved EnvoyProxy CRD from &lt;code&gt;config.gateway.envoyproxy.io&lt;/code&gt; to &lt;code&gt;gateway.envoyproxy.io&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Enabled EnvoyProxy Prometheus Endpoint by default with an option to disable it&lt;/li&gt;
&lt;li&gt;Updated the Bootstrap field within the EnvoyProxy CRD with an additional value&lt;/li&gt;
&lt;li&gt;field to specify bootstrap config&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for HTTPRouteBackendProtocolH2C Test&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRouteBackendProtocolWebSocket Test&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRouteRequestMultipleMirrors Test&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRouteTimeoutRequest Test&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRouteTimeoutBackendRequest Test&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRouteRedirectPortAndScheme Test&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="watchable"&gt;Watchable&lt;a class="td-heading-self-link" href="#watchable" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Improved caching of resource by implementing a compare function agnostic of resource order&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added support for routing to EndpointSlice endpoints&lt;/li&gt;
&lt;li&gt;Added support for HTTPRoute Timeouts&lt;/li&gt;
&lt;li&gt;Added support for multiple RequestMirror filters per HTTPRoute rule&lt;/li&gt;
&lt;li&gt;Use / instead of - in IR Route Names&lt;/li&gt;
&lt;li&gt;Added Support to ignore ports in Host header&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added the generationChangedPredicate to most resources to limit resource reconiliation&lt;/li&gt;
&lt;li&gt;Improved reconiliation by using the same enqueue request for all resources&lt;/li&gt;
&lt;li&gt;Added support for reconciling ServiceImport CRD&lt;/li&gt;
&lt;li&gt;Added support for selectively watching resources based on Namespace Selector&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Layered Runtime warnings&lt;/li&gt;
&lt;li&gt;Upgraded to the latest version of go-control-plane that fixed xDS Resource ordering issues for ADS.&lt;/li&gt;
&lt;li&gt;Added HTTP2 Keep Alives to the xds connection&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="cli"&gt;Cli&lt;a class="td-heading-self-link" href="#cli" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for egctl stats command&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Control Plane Observability: Metrics</title><link>/contributions/design/eg-metrics/</link><pubDate>Tue, 10 Oct 2023 00:00:00 +0000</pubDate><guid>/contributions/design/eg-metrics/</guid><description>&lt;p&gt;This document aims to cover all aspects of envoy gateway control plane metrics observability.&lt;/p&gt;


&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;

 &lt;strong&gt;Data plane&lt;/strong&gt; observability (while important) is outside of scope for this document. For data plane observability, refer to &lt;a href="/contributions/design/proxy-metrics/"&gt;here&lt;/a&gt;.

&lt;/div&gt;




&lt;h2 id="current-state"&gt;Current State&lt;a class="td-heading-self-link" href="#current-state" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;At present, the Envoy Gateway control plane provides logs and controller-runtime metrics, without traces. Logs are managed through our proprietary library (&lt;code&gt;internal/logging&lt;/code&gt;, a shim to &lt;code&gt;zap&lt;/code&gt;) and are written to &lt;code&gt;/dev/stdout&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Control Plane Observability: Metrics</title><link>/v0.6/design/eg-metrics/</link><pubDate>Tue, 10 Oct 2023 00:00:00 +0000</pubDate><guid>/v0.6/design/eg-metrics/</guid><description>&lt;p&gt;This document aims to cover all aspects of envoy gateway control plane metrics observability.&lt;/p&gt;


&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;

 &lt;strong&gt;Data plane&lt;/strong&gt; observability (while important) is outside of scope for this document. For dataplane observability, refer to &lt;a href="../metrics"&gt;here&lt;/a&gt;.

&lt;/div&gt;




&lt;h2 id="current-state"&gt;Current State&lt;a class="td-heading-self-link" href="#current-state" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;At present, the Envoy Gateway control plane provides logs and controller-runtime metrics, without traces. Logs are managed through our proprietary library (&lt;code&gt;internal/logging&lt;/code&gt;, a shim to &lt;code&gt;zap&lt;/code&gt;) and are written to &lt;code&gt;/dev/stdout&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Our objectives include:&lt;/p&gt;</description></item><item><title>Welcome to new website!</title><link>/news/blogs/new-website/new-website/</link><pubDate>Sun, 08 Oct 2023 00:00:00 +0000</pubDate><guid>/news/blogs/new-website/new-website/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Summary&lt;/h4&gt;

 Migrate from &lt;em&gt;&lt;strong&gt;Sphinx&lt;/strong&gt;&lt;/em&gt; to &lt;em&gt;&lt;strong&gt;Hugo&lt;/strong&gt;&lt;/em&gt; for Envoy Gateway Documents.

&lt;/div&gt;




&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In the realm of static site generators, two names often come up: Sphinx and Hugo. While both are powerful tools, we recently made the decision to migrate our documentation from Sphinx to Hugo. This article aims to shed light on the reasons behind this move and the advantages we&amp;rsquo;ve discovered in using Hugo for static blogging.&lt;/p&gt;</description></item><item><title>KubeCon China 2023</title><link>/news/presentations/kubecon-cn-2023/kubecon-cn-2023/</link><pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate><guid>/news/presentations/kubecon-cn-2023/kubecon-cn-2023/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Topic: Envoy Gateway: The API Gateway in the Cloud Native Era&lt;/h4&gt;

 &lt;em&gt;&lt;strong&gt;&amp;mdash; KubeCon China 2023&lt;/strong&gt;&lt;/em&gt;

&lt;/div&gt;



&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Speaker&lt;/h4&gt;

 &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Xunzhuo Liu&lt;/strong&gt;: Tencent, Envoy Gateway Maintainer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Huabing Zhao&lt;/strong&gt;: Tetrate.io, Envoy Gateway Reviewer&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;



&lt;div class="alert alert-info" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Slides&lt;/h4&gt;

 Download from &lt;a href="https://static.sched.com/hosted_files/kccncosschn2023/60/KubeCon-Envoy%20Gateway_%20The%20API%20Gateway-in-the-Cloud-Native-Era.pptx?_gl=1*1aq9xw*_ga*MTM2MDcyNzI2My4xNjkwODU3ODMy*_ga_XH5XM35VHB*MTY5NjgzNjA1NC4xNS4xLjE2OTY4MzYwNjIuNTIuMC4w"&gt;Link&lt;/a&gt;.

&lt;/div&gt;




&lt;h2 id="watch-videos"&gt;Watch Videos&lt;a class="td-heading-self-link" href="#watch-videos" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/XBsDe9stMcg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>Announcing Envoy Gateway v0.5</title><link>/news/releases/v0.5/</link><pubDate>Wed, 02 Aug 2023 00:00:00 +0000</pubDate><guid>/news/releases/v0.5/</guid><description>&lt;p&gt;We are pleased to announce the release of Envoy Gateway v0.5!&lt;/p&gt;
&lt;p&gt;This is the fourth functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for
helping publish the release.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v0.5.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/v0.5/"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://github.com/envoyproxy/gateway/releases/tag/v0.5.0"&gt;Download&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The release adds a ton of features and functionality. Here are some highlights:&lt;/p&gt;



&lt;h3 id="upgrade-gateway-api-dependency"&gt;Upgrade Gateway API Dependency&lt;a class="td-heading-self-link" href="#upgrade-gateway-api-dependency" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to Gateway API v0.7.1&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-data-plane-proxy-telemetry"&gt;Add Data Plane Proxy Telemetry&lt;a class="td-heading-self-link" href="#add-data-plane-proxy-telemetry" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Access Logging, Tracing and Metrics Telemetry&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-support-for-directly-configuring-xds"&gt;Add Support for directly configuring xDS&lt;a class="td-heading-self-link" href="#add-support-for-directly-configuring-xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for the EnvoyPatchPolicy API&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="ratelimiting"&gt;Ratelimiting&lt;a class="td-heading-self-link" href="#ratelimiting" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Distinct Ratelimiting Based On IP Addresses&lt;/li&gt;
&lt;li&gt;Added Support for JWT Claim based Ratelimiting&lt;/li&gt;
&lt;li&gt;Switched to Xds SOTW Server for RateLimit Service Configuration&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="api-updates"&gt;API Updates&lt;a class="td-heading-self-link" href="#api-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for configuring EnvoyProxy Pod Labels&lt;/li&gt;
&lt;li&gt;Added Support for configuring EnvoyProxy Deployment Strategy Settings, Volumes and Volume Mounts&lt;/li&gt;
&lt;li&gt;Added Support for configuring EnvoyProxy as a NodePort Type Service&lt;/li&gt;
&lt;li&gt;Added Admin Server for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Pprof Debug Support for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Support to Watch for Resources in Select Namespaces&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="envoy-proxy"&gt;Envoy Proxy&lt;a class="td-heading-self-link" href="#envoy-proxy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Best Practices Default Edge Settings to Xds Resources&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v0.5.0</title><link>/news/releases/notes/v0.5.0/</link><pubDate>Wed, 26 Jul 2023 00:00:00 +0000</pubDate><guid>/news/releases/notes/v0.5.0/</guid><description>&lt;p&gt;Date: July 26, 2023&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Docs for Installation page using Helm&lt;/li&gt;
&lt;li&gt;Added Docs for Cert Manager Integration&lt;/li&gt;
&lt;li&gt;Added Docs for Presentation Links&lt;/li&gt;
&lt;li&gt;Added Docs for configuring multiple TLS Certificates per Listener&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for configuring Envoy Gateway Label and Annotations using Helm&lt;/li&gt;
&lt;li&gt;Increased default Resource defaults for Envoy Gateway to 100m CPU and 256Mi Memory&lt;/li&gt;
&lt;li&gt;Fixes Helm values for EnvoyGateway startup configuration&lt;/li&gt;
&lt;li&gt;Added opt-in field to skip creating control plane TLS Certificates allowing users to bring their own certificates.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to Gateway API v0.7.1&lt;/li&gt;
&lt;li&gt;Added Support for EnvoyPatchPolicy&lt;/li&gt;
&lt;li&gt;Added Support for EnvoyProxy Telemetry - Access Logging, Traces and Metrics&lt;/li&gt;
&lt;li&gt;Added Support for configuring EnvoyProxy Pod Labels&lt;/li&gt;
&lt;li&gt;Added Support for configuring EnvoyProxy Deployment Strategy Settings, Volumes and Volume Mounts&lt;/li&gt;
&lt;li&gt;Added Support for configuring EnvoyProxy as a NodePort Type Service&lt;/li&gt;
&lt;li&gt;Added Support for Distinct RateLimiting for IP Addresses&lt;/li&gt;
&lt;li&gt;Added Support for converting JWT Claims to Headers, to be used for RateLimiting&lt;/li&gt;
&lt;li&gt;Added Admin Server for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Pprof Debug Support for Envoy Gateway&lt;/li&gt;
&lt;li&gt;Added Support to Watch for Resources in Select Namespaces&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="breaking-changes"&gt;Breaking Changes&lt;a class="td-heading-self-link" href="#breaking-changes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Renamed field in EnvoyGateway API from Extension to ExtensionManager&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="ci-tooling-testing"&gt;Ci tooling testing&lt;a class="td-heading-self-link" href="#ci-tooling-testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Retest Github Action&lt;/li&gt;
&lt;li&gt;Added CherryPick Github Action&lt;/li&gt;
&lt;li&gt;Added E2E Step in Github CI Workflow&lt;/li&gt;
&lt;li&gt;Added RateLimit E2E Tests&lt;/li&gt;
&lt;li&gt;Added JWT Claim based RateLimit E2E Tests&lt;/li&gt;
&lt;li&gt;Added Access Logging E2E tests&lt;/li&gt;
&lt;li&gt;Added Metrics E2E tests&lt;/li&gt;
&lt;li&gt;Added Tracing E2E tests&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Enabled GatewayWithAttachedRoutes Test&lt;/li&gt;
&lt;li&gt;Enabled HttpRouteRequestMirror Test&lt;/li&gt;
&lt;li&gt;Skipped HTTPRouteRedirectPortAndScheme Test&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="breaking-changes-1"&gt;Breaking Changes&lt;a class="td-heading-self-link" href="#breaking-changes-1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Renamed IR resources from &lt;namespace&gt;-&lt;name&gt; to &lt;namespace&gt;/&lt;name&gt;&lt;/li&gt;
&lt;li&gt;which also affects generated Xds Resources&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reconcile Node resources to be able to compute Status Addresses for Gateway&lt;/li&gt;
&lt;li&gt;Discard Status before publishing Provider resources to reduce memory consumption&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fix Init Race in Xds Runner when starting Xds Server and receiving Xds Input&lt;/li&gt;
&lt;li&gt;Switched to Xds SOTW Server for RateLimit Service Configuration&lt;/li&gt;
&lt;li&gt;Added Control Plane TLS between EnvoyProxy and RateLimit Service&lt;/li&gt;
&lt;li&gt;Enabled adding RateLimit Headers when RateLimit is set&lt;/li&gt;
&lt;li&gt;Allowed GRPCRoute and HTTPRoute to be linked to the same HTTPS Listener&lt;/li&gt;
&lt;li&gt;Set ALPN in the Xds Listener with TLS enabled.&lt;/li&gt;
&lt;li&gt;Added Best Practices Default Edge Settings to Xds Resources&lt;/li&gt;
&lt;li&gt;Compute and Publish EnvoyPatchPolicy status from xds-translator runner&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="cli"&gt;Cli&lt;a class="td-heading-self-link" href="#cli" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added egctl x translate Support to generate default missing Resources&lt;/li&gt;
&lt;li&gt;Added egctl x translate Support for AuthenticationFilter and EnvoyPatchPolicy&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>KubeCon Europe 2023</title><link>/news/presentations/kubecon-eu-2023/kubecon-eu-2023/</link><pubDate>Mon, 01 May 2023 00:00:00 +0000</pubDate><guid>/news/presentations/kubecon-eu-2023/kubecon-eu-2023/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Topic: Envoy Gateway Update&lt;/h4&gt;

 &lt;em&gt;&lt;strong&gt;&amp;mdash; KubeCon Europe 2023&lt;/strong&gt;&lt;/em&gt;

&lt;/div&gt;



&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Speaker&lt;/h4&gt;

 &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Alice Wasko&lt;/strong&gt;: Ambassador Labs, Envoy Gateway Maintainer&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;



&lt;div class="alert alert-info" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Slides&lt;/h4&gt;

 Download from &lt;a href="https://static.sched.com/hosted_files/kccnceu2023/58/Kubecon_EU_2023_Envoy_Gateway_Update.pptx"&gt;Link&lt;/a&gt;.

&lt;/div&gt;




&lt;h2 id="watch-videos"&gt;Watch Videos&lt;a class="td-heading-self-link" href="#watch-videos" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/4vnJxt9sVho?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>Announcing Envoy Gateway v0.4</title><link>/news/releases/v0.4/</link><pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate><guid>/news/releases/v0.4/</guid><description>&lt;p&gt;We are pleased to announce the release of Envoy Gateway v0.4!&lt;/p&gt;
&lt;p&gt;This is the third functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for
helping publish the release.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v0.4.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/v0.4/"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://github.com/envoyproxy/gateway/releases/tag/v0.4.0"&gt;Download&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The release adds a ton of features and functionality. Here are some highlights:&lt;/p&gt;



&lt;h3 id="upgrade-gateway-api-dependency"&gt;Upgrade Gateway API Dependency&lt;a class="td-heading-self-link" href="#upgrade-gateway-api-dependency" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to Gateway API v0.6.2&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-helm-support"&gt;Add Helm Support&lt;a class="td-heading-self-link" href="#add-helm-support" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Installation of Envoy Gateway can now be done through helm&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-egctl-cli-tool"&gt;Add egctl CLI Tool&lt;a class="td-heading-self-link" href="#add-egctl-cli-tool" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added egctl Support for Dry Runs of Gateway API Config&lt;/li&gt;
&lt;li&gt;Added egctl Support for Dumping Envoy Proxy xDS Resources&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-support-for-extending-envoy-gateway"&gt;Add Support for extending Envoy Gateway&lt;a class="td-heading-self-link" href="#add-support-for-extending-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Initial Framework for Building an Extension on top of Envoy Gateway&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="ratelimiting"&gt;Ratelimiting&lt;a class="td-heading-self-link" href="#ratelimiting" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Ratelimiting Based On IP Subnet&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="api-updates"&gt;API Updates&lt;a class="td-heading-self-link" href="#api-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Custom Envoy Proxy Bootstrap Config&lt;/li&gt;
&lt;li&gt;Added Support for Configuring the Envoy Proxy Image and Service&lt;/li&gt;
&lt;li&gt;Added Support for Configuring Annotations, Resources, and Securitycontext Settings on Ratelimit Infra and Envoy Proxy&lt;/li&gt;
&lt;li&gt;Added Support for Using Multiple Certificates on a Single Fully Qualified Domain Name&lt;/li&gt;
&lt;li&gt;Envoy Proxy Pod and Container SecurityContext is now Configurable&lt;/li&gt;
&lt;li&gt;Added Support for Service Method Match in GRPCRoute&lt;/li&gt;
&lt;li&gt;Added EDS Support&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v0.4.0</title><link>/news/releases/notes/v0.4.0/</link><pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate><guid>/news/releases/notes/v0.4.0/</guid><description>&lt;p&gt;Date: April 24, 2023&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Docs for Installing and Using egctl&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Helm Installation Support&lt;/li&gt;
&lt;li&gt;Added Support for Ratelimiting Based On IP Subnet&lt;/li&gt;
&lt;li&gt;Added Gateway API Support Doc&lt;/li&gt;
&lt;li&gt;Added Namespace Resource to Helm Templates&lt;/li&gt;
&lt;li&gt;Updated Installation Yaml to Use the envoy-gateway-system Namespace&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to Gateway API v0.6.2&lt;/li&gt;
&lt;li&gt;Added Support for Custom Envoy Proxy Bootstrap Config&lt;/li&gt;
&lt;li&gt;Added Support for Configuring the Envoy Proxy Image and Service&lt;/li&gt;
&lt;li&gt;Added Support for Configuring Annotations, Resources, and Securitycontext Settings on Ratelimit Infra and Envoy Proxy&lt;/li&gt;
&lt;li&gt;Added Support for Using Multiple Certificates on a Single Fully Qualified Domain Name&lt;/li&gt;
&lt;li&gt;Gateway Status Address is now Populated for ClusterIP type Envoy Services&lt;/li&gt;
&lt;li&gt;Envoy Proxy Pod and Container SecurityContext is now Configurable&lt;/li&gt;
&lt;li&gt;Added Custom Envoy Gateway Extensions Framework&lt;/li&gt;
&lt;li&gt;Added Support for Service Method Match in GRPCRoute&lt;/li&gt;
&lt;li&gt;Fixed a Bug in the Extension Hooks for xDS Virtual Hosts and Routes&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="ci-tooling-testing"&gt;Ci tooling testing&lt;a class="td-heading-self-link" href="#ci-tooling-testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed CI Flakes During Helm Install&lt;/li&gt;
&lt;li&gt;Added Test To Ensure Static xDS Cluster Has Same Field Values as Dynamic Cluster&lt;/li&gt;
&lt;li&gt;Added egctl to Build and Test CI Workflow&lt;/li&gt;
&lt;li&gt;Code Coverage Thresholds are now Enforced by CI&lt;/li&gt;
&lt;li&gt;Fixed latest-release-check CI Job Failures&lt;/li&gt;
&lt;li&gt;Added Auto Release Tooling for Charts&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Enabled GatewayWithAttachedRoutes Test&lt;/li&gt;
&lt;li&gt;Enabled Enable HTTPRouteInvalidParentRefNotMatchingSectionName Test&lt;/li&gt;
&lt;li&gt;Enabled Enable HTTPRouteDisallowedKind Test&lt;/li&gt;
&lt;li&gt;Re-Enabled Gateway/HTTPRouteObservedGenerationBump Test&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Dynamic GatewayControllerName in Route Status&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Update GatewayClass Status Based on EnvoyProxy Config Validation&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added EDS Support&lt;/li&gt;
&lt;li&gt;Fixed PathSeparatedPrefix and Optimized Logic for Prefixes Ending With Trailing Slash&lt;/li&gt;
&lt;li&gt;Updated Deprecated RegexMatcher&lt;/li&gt;
&lt;li&gt;Refactored Authn and Ratelimit Features to Reuse buildXdsCluster&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="cli"&gt;Cli&lt;a class="td-heading-self-link" href="#cli" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added egctl CLI Tool&lt;/li&gt;
&lt;li&gt;Added egctl Support for Dry Runs of Gateway API Config&lt;/li&gt;
&lt;li&gt;Added egctl Support for Dumping Envoy Proxy xDS Resources&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Announcing Envoy Gateway v0.3</title><link>/news/releases/v0.3/</link><pubDate>Thu, 09 Feb 2023 00:00:00 +0000</pubDate><guid>/news/releases/v0.3/</guid><description>&lt;p&gt;We are pleased to announce the release of Envoy Gateway v0.3!&lt;/p&gt;
&lt;p&gt;This is the second functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for
helping publish the release.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v0.3.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/v0.3/"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://github.com/envoyproxy/gateway/releases/tag/v0.3.0"&gt;Download&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The release adds a ton of features and functionality. Here are some highlights:&lt;/p&gt;



&lt;h3 id="add-support-for-extended-gateway-api-fields"&gt;Add Support for extended Gateway API fields&lt;a class="td-heading-self-link" href="#add-support-for-extended-gateway-api-fields" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for HTTPRoute URLRewrite Filter&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRoute RequestMirror Filter&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRoute ResponseHeaderModifier Filter&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-support-for-experimental-gateway-apis"&gt;Add Support for experimental Gateway APIs&lt;a class="td-heading-self-link" href="#add-support-for-experimental-gateway-apis" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for the TCPRoute API&lt;/li&gt;
&lt;li&gt;Added Support for the UDPRoute API&lt;/li&gt;
&lt;li&gt;Added Support for the GRPCRoute API&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-support-for-rate-limiting"&gt;Add Support for Rate Limiting&lt;a class="td-heading-self-link" href="#add-support-for-rate-limiting" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Global Rate Limiting&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="add-support-for-authentication"&gt;Add Support for Authentication&lt;a class="td-heading-self-link" href="#add-support-for-authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added Support for Request Authentication&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v0.3.0</title><link>/news/releases/notes/v0.3.0/</link><pubDate>Thu, 09 Feb 2023 00:00:00 +0000</pubDate><guid>/news/releases/notes/v0.3.0/</guid><description>&lt;p&gt;Date: February 09, 2023&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Global Rate Limit User Docs&lt;/li&gt;
&lt;li&gt;Added Request Authentication User Docs&lt;/li&gt;
&lt;li&gt;Added TCP Routing User Docs&lt;/li&gt;
&lt;li&gt;Added UDP Routing User Docs&lt;/li&gt;
&lt;li&gt;Added GRPC Routing User Docs&lt;/li&gt;
&lt;li&gt;Added HTTP Response Headers User Docs&lt;/li&gt;
&lt;li&gt;Added TCP and UDP Proxy Design Docs&lt;/li&gt;
&lt;li&gt;Added egctl Design Docs&lt;/li&gt;
&lt;li&gt;Added Rate Limit Design Docs&lt;/li&gt;
&lt;li&gt;Added Request Authentication Design Docs&lt;/li&gt;
&lt;li&gt;Added Support for Versioned Docs&lt;/li&gt;
&lt;li&gt;Added Support for Multiple Release Versions&lt;/li&gt;
&lt;li&gt;Added Release Details Docs&lt;/li&gt;
&lt;li&gt;Added API Docs Generating Tooling&lt;/li&gt;
&lt;li&gt;Refactored Layout for User Docs&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upgraded to v0.6.1 Gateway API&lt;/li&gt;
&lt;li&gt;Added Support for the TCPRoute API&lt;/li&gt;
&lt;li&gt;Added Support for the UDPRoute API&lt;/li&gt;
&lt;li&gt;Added Support for the GRPCRoute API&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRoute URLRewrite Filter&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRoute RequestMirror Filter&lt;/li&gt;
&lt;li&gt;Added Support for HTTPRoute ResponseHeaderModifier Filter&lt;/li&gt;
&lt;li&gt;Added Support for Request Authentication&lt;/li&gt;
&lt;li&gt;Added Support for Global Rate Limiting&lt;/li&gt;
&lt;li&gt;Added Support for Routes ReferenceGrant&lt;/li&gt;
&lt;li&gt;Added Support for Namespace Server Config Type&lt;/li&gt;
&lt;li&gt;Added initial management of Envoy Proxy deployment via EnvoyProxy API&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="ci-tooling-testing"&gt;Ci tooling testing&lt;a class="td-heading-self-link" href="#ci-tooling-testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Make Image Failed in Darwin&lt;/li&gt;
&lt;li&gt;Fixed Wait for Job Succeeded before conformance test&lt;/li&gt;
&lt;li&gt;Upgraded Echoserver Image Tag&lt;/li&gt;
&lt;li&gt;Added Support for User-Facing Version&lt;/li&gt;
&lt;li&gt;Added Support for Testing EG against Multiple Kubernetes Versions&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="conformance"&gt;Conformance&lt;a class="td-heading-self-link" href="#conformance" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Enabled GatewayClassObservedGenerationBump conformance test&lt;/li&gt;
&lt;li&gt;Enabled GatewayInvalidTLSConfiguration conformance test&lt;/li&gt;
&lt;li&gt;Enabled GatewayInvalidRouteKind conformance test&lt;/li&gt;
&lt;li&gt;Enabled HTTPRouteReferenceGrant conformance test&lt;/li&gt;
&lt;li&gt;Enabled HTTPRouteMethodMatching conformance test&lt;/li&gt;
&lt;li&gt;Enabled HTTPRoutePartiallyInvalidViaInvalidReferenceGrant conformance test&lt;/li&gt;
&lt;li&gt;Enabled HTTPRouteInvalidParentRefNotMatchingListenerPort conformance test&lt;/li&gt;
&lt;li&gt;(Currently EG passes all conformance tests except redirect and gateway/httproute ObservedGenerationBump tests. Redirect tests are failing due to a possible issue with the way upstream conformance tests have made assumptions. Skip them for now until below issues #992 #993 #994 are resolved)&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="ir"&gt;IR&lt;a class="td-heading-self-link" href="#ir" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added TCP Listener per TLSRoute&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixes Remove Stale Listener Condition&lt;/li&gt;
&lt;li&gt;Added Support for Suffix Matches for Headers&lt;/li&gt;
&lt;li&gt;Added Support for HTTP Method Matching to HTTPRoute&lt;/li&gt;
&lt;li&gt;Added Support for Regex Match Type&lt;/li&gt;
&lt;li&gt;Added Support for HTTPQueryParamMatch&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Refactored Kubernetes Provider to Single Reconciler&lt;/li&gt;
&lt;li&gt;Upgraded Kube Provider Test Data Manifests to v0.6.1&lt;/li&gt;
&lt;li&gt;Removed Duplicate Settings from Bootstrap Config&lt;/li&gt;
&lt;li&gt;Updated Certgen to Use EG Namespace Env&lt;/li&gt;
&lt;li&gt;Added EnvoyProxy to Translator and Kube Infra Manager&lt;/li&gt;
&lt;li&gt;Upgraded Envoyproxy Image to envoy-dev latest in Main&lt;/li&gt;
&lt;li&gt;Removed EG Logs Private Key&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed Start xDS Server Watchable Map Panics&lt;/li&gt;
&lt;li&gt;Enabled Access Logging for xDS Components&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>KubeCon North America 2022</title><link>/news/presentations/kubecon-na-2022/kubecon-na-2022/</link><pubDate>Fri, 28 Oct 2022 00:00:00 +0000</pubDate><guid>/news/presentations/kubecon-na-2022/kubecon-na-2022/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Topic: Envoy Gateway Update&lt;/h4&gt;

 &lt;em&gt;&lt;strong&gt;&amp;mdash; KubeCon North America 2022&lt;/strong&gt;&lt;/em&gt;

&lt;/div&gt;



&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Speaker&lt;/h4&gt;

 &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Daneyon Hansen&lt;/strong&gt;: Solo.io, Envoy Gateway Maintainer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alice Wasko&lt;/strong&gt;: Ambassador Labs, Envoy Gateway Maintainer&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;



&lt;div class="alert alert-info" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Slides&lt;/h4&gt;

 Download from &lt;a href="https://static.sched.com/hosted_files/envoyconna22/2f/Envoy_Gateway_Project_Update_EnvoyCon_NA_2022.pptx"&gt;Link&lt;/a&gt;.

&lt;/div&gt;




&lt;h2 id="watch-videos"&gt;Watch Videos&lt;a class="td-heading-self-link" href="#watch-videos" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/3MUOZc8XNCc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>Announcing Envoy Gateway v0.2</title><link>/news/releases/v0.2/</link><pubDate>Thu, 20 Oct 2022 00:00:00 +0000</pubDate><guid>/news/releases/v0.2/</guid><description>&lt;p&gt;We are pleased to announce the release of Envoy Gateway v0.2!&lt;/p&gt;
&lt;p&gt;This is the first functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for
helping publish the release.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;a href="/news/releases/notes/v0.2.0/"&gt;Release Notes&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://gateway.envoyproxy.io/index.html"&gt;Docs&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="/news/releases/matrix/"&gt;Compatibility Matrix&lt;/a&gt;&lt;/th&gt;
 &lt;th&gt;&lt;a href="https://github.com/envoyproxy/gateway/releases/tag/v0.2.0"&gt;Download&lt;/a&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New&lt;a class="td-heading-self-link" href="#whats-new" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The release adds a ton of features and functionality. Here are some highlights:&lt;/p&gt;



&lt;h3 id="kubernetes-support"&gt;Kubernetes Support&lt;a class="td-heading-self-link" href="#kubernetes-support" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Run Envoy Gateway in a Kubernetes cluster. Checkout the &lt;a href="/v0.2/user/quickstart/"&gt;quickstart guide&lt;/a&gt; to get started with Envoy Gateway in a few
simple steps.&lt;/p&gt;</description></item><item><title>v0.2.0</title><link>/news/releases/notes/v0.2.0/</link><pubDate>Wed, 19 Oct 2022 00:00:00 +0000</pubDate><guid>/news/releases/notes/v0.2.0/</guid><description>&lt;p&gt;Date: October 19, 2022&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Config API, translator, roadmap, and message bus design documentation.&lt;/li&gt;
&lt;li&gt;Added documentation for releasing Envoy Gateway.&lt;/li&gt;
&lt;li&gt;Added user guides for configuring common tasks, e.g. HTTP request routing.&lt;/li&gt;
&lt;li&gt;Added support for the Sphinx documentation generator.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added the EnvoyGateway API type for configuring Envoy Gateway.&lt;/li&gt;
&lt;li&gt;Added the EnvoyProxy API type for configuring managed Envoys.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="ci-tooling-testing"&gt;Ci tooling testing&lt;a class="td-heading-self-link" href="#ci-tooling-testing" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added tooling to build, run, etc. Envoy Gateway.&lt;/li&gt;
&lt;li&gt;Added Gateway API conformance tests.&lt;/li&gt;
&lt;li&gt;Added Make-based tooling to fetch all tools so checks (code lint, spellchecks) and tests can be run locally.&lt;/li&gt;
&lt;li&gt;Added support for releasing latest artifacts to GitHub.&lt;/li&gt;
&lt;li&gt;Added code coverage with a minimum 60% threshold.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="ir"&gt;IR&lt;a class="td-heading-self-link" href="#ir" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added xds and infra IRs to decouple user-facing APIs from Envoy Gateway.&lt;/li&gt;
&lt;li&gt;Added IR validation.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="translator"&gt;Translator&lt;a class="td-heading-self-link" href="#translator" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added the gatewayapi translator to translate Gateway API and associated resources to the IR and manage the&lt;/li&gt;
&lt;li&gt;status of Gateway API resources.&lt;/li&gt;
&lt;li&gt;Added the xDS translator to translate the xds IR to xDS resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="message-service"&gt;Message-service&lt;a class="td-heading-self-link" href="#message-service" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added infra and xds IR watchable map messages for inter-component communication.&lt;/li&gt;
&lt;li&gt;Added a Runner to each Envoy Gateway component to support pub/sub between components.&lt;/li&gt;
&lt;li&gt;Added support for managing multiple separate Envoy proxy fleets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="infra-manager"&gt;Infra-manager&lt;a class="td-heading-self-link" href="#infra-manager" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added Kubernetes Infra Manager to manage Envoy infrastructure running in a Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;Added support for managing a separate Envoy infrastructure per Gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="providers"&gt;Providers&lt;a class="td-heading-self-link" href="#providers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added the Kubernetes provider with support for managing GatewayClass, Gateway, HTTPRoute, ReferenceGrant, and&lt;/li&gt;
&lt;li&gt;TLSRoute resources.&lt;/li&gt;
&lt;li&gt;Due to Issue #539, a ReferenceGrant is not removed from the system when unreferenced.&lt;/li&gt;
&lt;li&gt;Due to Issue #577, TLSRoute is not being tested for Gateway API conformance.&lt;/li&gt;
&lt;li&gt;Added watchers for dependent resources of managed Envoy infrastructure to trigger reconciliation.&lt;/li&gt;
&lt;li&gt;Added support for labeling managed infrastructure using Gateway namespace/name labels.&lt;/li&gt;
&lt;li&gt;Added support for finalizing the managed GatewayClass.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="xds"&gt;xDS&lt;a class="td-heading-self-link" href="#xds" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Added xDS server support to configure managed Envoys using Delta xDS.&lt;/li&gt;
&lt;li&gt;Added initial support for mTLS between the xDS server and managed Envoys.&lt;/li&gt;
&lt;li&gt;Due to envoyproxy/go-control-plane Issue #599, Envoy Gateway logs the private key of HTTPS listeners.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v0.1.0</title><link>/news/releases/notes/v0.1.0/</link><pubDate>Mon, 16 May 2022 00:00:00 +0000</pubDate><guid>/news/releases/notes/v0.1.0/</guid><description>&lt;p&gt;Date: May 16, 2022&lt;/p&gt;



&lt;h2 id="documentation"&gt;Documentation&lt;a class="td-heading-self-link" href="#documentation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The initial open source release describing project goals and high-level design.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>About Envoy Gateway</title><link>/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/about/</guid><description>&lt;section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-auto td-overlay td-overlay--dark -bg-primary"&gt;
 &lt;div class="col-12"&gt;
 &lt;div class="container td-overlay__inner"&gt;
 &lt;div class="text-center"&gt;
 &lt;h1 class="display-1 mt-0 mt-md-5 pb-4"&gt;Advanced Traffic Management for Everyone&lt;/h1&gt;
 
 &lt;div class="pt-3 lead"&gt;
 
 &lt;div class="container"&gt;
&lt;p class="lead"&gt;
Envoy Gateway democratizes the power of &lt;a href="https://www.envoyproxy.io/"&gt;Envoy Proxy&lt;/a&gt;, bringing you it's battle-tested traffic management via a Kubernetes Gateway API implementation. Envoy is trusted by tech giants worldwide, we're making enterprise capabilities accessible to everyone.
&lt;/p&gt;
&lt;div class="mt-5"&gt;
&lt;a class="btn btn-lg btn-glass me-3" href="/docs/tasks/quickstart/"&gt;
&lt;i class="fas fa-rocket me-2"&gt;&lt;/i&gt;Get Started
&lt;/a&gt;
&lt;a class="btn btn-lg btn-glass" href="https://github.com/envoyproxy/gateway"&gt;
&lt;i class="fab fa-github me-2"&gt;&lt;/i&gt;GitHub
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

 
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 
&lt;/section&gt;

&lt;div&gt;&lt;a id="td-block-1" class="td-offset-anchor"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;section class="row td-box td-box--white td-box--height-auto"&gt;
&lt;div class="col"&gt;
&lt;div class="container"&gt;
&lt;div class="row justify-content-center"&gt;
&lt;div class="col-md-10"&gt;
&lt;h2 class="text-center mb-5"&gt;Our Vision&lt;/h2&gt;
&lt;p class="text-center mb-5 lead"&gt;
Envoy Gateway was created with a clear mission: to make Envoy Proxy's powerful features accessible to all users while providing a robust implementation of the Kubernetes Gateway API. We believe that managing application
traffic should be straightforward, allowing teams to focus on building great applications rather than wrestling with complex proxy configurations.
&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/docs/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/latest/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/v1.1/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/v1.2/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/v1.3/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/v1.4/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/v1.5/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Accelerating TLS Handshakes using Private Key Provider in Envoy</title><link>/v1.6/tasks/security/private-key-provider/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/private-key-provider/</guid><description>&lt;p&gt;TLS operations can be accelerated or the private key can be protected using specialized hardware. This can be leveraged in Envoy using &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-privatekeyprovider"&gt;Envoy Private Key Provider&lt;/a&gt; is added to Envoy.&lt;/p&gt;
&lt;p&gt;Today, there are two private key providers implemented in Envoy as contrib extensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/qat/v3alpha/qat.proto#extensions-private-key-providers-qat-v3alpha-qatprivatekeymethodconfig"&gt;QAT in Envoy 1.24 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto"&gt;CryptoMB in Envoy 1.20 release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both of them are used to accelerate the TLS handshake through the hardware capabilities.&lt;/p&gt;
&lt;p&gt;This task will walk you through the steps required to configure TLS Termination mode for TCP traffic while also using the Envoy Private Key Provider to accelerate the TLS handshake by leveraging QAT and the HW accelerator available on Intel SPR/EMR Xeon server platforms.&lt;/p&gt;</description></item><item><title>Add Pprof support in Envoy Gateway</title><link>/v0.5/design/pprof/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/pprof/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway exposes endpoints at &lt;code&gt;localhost:8899/debug/pprof&lt;/code&gt; to run Golang profiles to aid in live debugging. The endpoints are equivalent to those found in the http/pprof package. &lt;code&gt;/debug/pprof/&lt;/code&gt; returns an HTML page listing the available profiles.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add Debug Pprof support to Envoy Gateway control plane.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to custom debug server configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following are the different types of profiles end-user can run:&lt;/p&gt;</description></item><item><title>Admin Console</title><link>/docs/troubleshooting/admin-console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/troubleshooting/admin-console/</guid><description>&lt;p&gt;Envoy Gateway provides a built-in web-based admin console that offers a comprehensive interface for monitoring, debugging, and managing your Envoy Gateway deployment. The admin console provides real-time visibility into the control plane status, configuration state, performance metrics, and debugging capabilities.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Admin Console</title><link>/latest/troubleshooting/admin-console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/troubleshooting/admin-console/</guid><description>&lt;p&gt;Envoy Gateway provides a built-in web-based admin console that offers a comprehensive interface for monitoring, debugging, and managing your Envoy Gateway deployment. The admin console provides real-time visibility into the control plane status, configuration state, performance metrics, and debugging capabilities.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Admin Console</title><link>/v1.5/troubleshooting/admin-console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/troubleshooting/admin-console/</guid><description>&lt;p&gt;Envoy Gateway provides a built-in web-based admin console that offers a comprehensive interface for monitoring, debugging, and managing your Envoy Gateway deployment. The admin console provides real-time visibility into the control plane status, configuration state, performance metrics, and debugging capabilities.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Admin Console</title><link>/v1.6/troubleshooting/admin-console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/troubleshooting/admin-console/</guid><description>&lt;p&gt;Envoy Gateway provides a built-in web-based admin console that offers a comprehensive interface for monitoring, debugging, and managing your Envoy Gateway deployment. The admin console provides real-time visibility into the control plane status, configuration state, performance metrics, and debugging capabilities.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Adopters</title><link>/contributions/adopters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/adopters/</guid><description>&lt;h1 id="join-the-envoy-gateway-adopters-list"&gt;Join the Envoy Gateway Adopters List&lt;a class="td-heading-self-link" href="#join-the-envoy-gateway-adopters-list" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://gateway.envoyproxy.io"&gt;Envoy Gateway&lt;/a&gt; is a sub-project of &lt;a href="https://www.envoyproxy.io"&gt;Envoy&lt;/a&gt;,
a &lt;a href="https://www.cncf.io/projects/envoy/"&gt;graduated CNCF project&lt;/a&gt; under the &lt;a href="https://www.cncf.io"&gt;Cloud Native Computing Foundation (CNCF)&lt;/a&gt;,
which is a part of the &lt;a href="https://www.linuxfoundation.org"&gt;Linux Foundation&lt;/a&gt;, a 501(c)(6) nonprofit organization.&lt;/p&gt;



&lt;h2 id="why-add-your-logo"&gt;Why Add Your Logo?&lt;a class="td-heading-self-link" href="#why-add-your-logo" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;As Envoy Gateway gains momentum as the preferred API gateway within the CNCF ecosystem, your company&amp;rsquo;s support helps drive its adoption and success. By joining the &lt;a href="https://gateway.envoyproxy.io/#adopters"&gt;Envoy Gateway Adopters List&lt;/a&gt;, you:&lt;/p&gt;</description></item><item><title>Advanced: Envoy Proxy Admin Interface</title><link>/docs/troubleshooting/envoy-proxy-admin-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/troubleshooting/envoy-proxy-admin-interface/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Platform admins looking to troubleshoot low level aspects of the data plane such as xDS config and heap dump, can directly connect to the Envoy Proxy Admin Interface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Application Developers may not have access to the namespace where the Envoy Proxy fleet is running and should rely on &lt;a href="https://gateway.envoyproxy.io/docs/tasks/observability/"&gt;exported telemetry&lt;/a&gt; instead for troubleshooting.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Advanced: Envoy Proxy Admin Interface</title><link>/latest/troubleshooting/envoy-proxy-admin-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/troubleshooting/envoy-proxy-admin-interface/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Platform admins looking to troubleshoot low level aspects of the data plane such as xDS config and heap dump, can directly connect to the Envoy Proxy Admin Interface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Application Developers may not have access to the namespace where the Envoy Proxy fleet is running and should rely on &lt;a href="https://gateway.envoyproxy.io/docs/tasks/observability/"&gt;exported telemetry&lt;/a&gt; instead for troubleshooting.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Advanced: Envoy Proxy Admin Interface</title><link>/v1.3/troubleshooting/envoy-proxy-admin-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/troubleshooting/envoy-proxy-admin-interface/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Platform admins looking to troubleshoot low level aspects of the data plane such as xDS config and heap dump, can directly connect to the Envoy Proxy Admin Interface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Application Developers may not have access to the namespace where the Envoy Proxy fleet is running and should rely on &lt;a href="https://gateway.envoyproxy.io/docs/tasks/observability/"&gt;exported telemetry&lt;/a&gt; instead for troubleshooting.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Advanced: Envoy Proxy Admin Interface</title><link>/v1.4/troubleshooting/envoy-proxy-admin-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/troubleshooting/envoy-proxy-admin-interface/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Platform admins looking to troubleshoot low level aspects of the data plane such as xDS config and heap dump, can directly connect to the Envoy Proxy Admin Interface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Application Developers may not have access to the namespace where the Envoy Proxy fleet is running and should rely on &lt;a href="https://gateway.envoyproxy.io/docs/tasks/observability/"&gt;exported telemetry&lt;/a&gt; instead for troubleshooting.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Advanced: Envoy Proxy Admin Interface</title><link>/v1.5/troubleshooting/envoy-proxy-admin-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/troubleshooting/envoy-proxy-admin-interface/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Platform admins looking to troubleshoot low level aspects of the data plane such as xDS config and heap dump, can directly connect to the Envoy Proxy Admin Interface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Application Developers may not have access to the namespace where the Envoy Proxy fleet is running and should rely on &lt;a href="https://gateway.envoyproxy.io/docs/tasks/observability/"&gt;exported telemetry&lt;/a&gt; instead for troubleshooting.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Advanced: Envoy Proxy Admin Interface</title><link>/v1.6/troubleshooting/envoy-proxy-admin-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/troubleshooting/envoy-proxy-admin-interface/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Platform admins looking to troubleshoot low level aspects of the data plane such as xDS config and heap dump, can directly connect to the Envoy Proxy Admin Interface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Application Developers may not have access to the namespace where the Envoy Proxy fleet is running and should rely on &lt;a href="https://gateway.envoyproxy.io/docs/tasks/observability/"&gt;exported telemetry&lt;/a&gt; instead for troubleshooting.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>AI Assistant Chat</title><link>/tools/ai-chat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/tools/ai-chat/</guid><description>&lt;div class="ai-chat-container"&gt;
 &lt;iframe
 src="/html/ai-chat-embed.html"
 title="Envoy Gateway AI Assistant"&gt;
 &lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>API Key Authentication</title><link>/docs/tasks/security/apikey-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/apikey-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring API Key Authentication.
API Key Authentication verifies whether an incoming request includes a valid API key in the header, parameter, or cookie before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure Api Key
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>API Key Authentication</title><link>/latest/tasks/security/apikey-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/apikey-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring API Key Authentication.
API Key Authentication verifies whether an incoming request includes a valid API key in the header, parameter, or cookie before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure Api Key
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>API Key Authentication</title><link>/v1.3/tasks/security/apikey-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/apikey-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring API Key Authentication.
API Key Authentication verifies whether an incoming request includes a valid API key in the header, parameter, or cookie before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure Api Key
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>API Key Authentication</title><link>/v1.4/tasks/security/apikey-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/apikey-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring API Key Authentication.
API Key Authentication verifies whether an incoming request includes a valid API key in the header, parameter, or cookie before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure Api Key
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>API Key Authentication</title><link>/v1.5/tasks/security/apikey-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/apikey-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring API Key Authentication.
API Key Authentication verifies whether an incoming request includes a valid API key in the header, parameter, or cookie before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure Api Key
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>API Key Authentication</title><link>/v1.6/tasks/security/apikey-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/apikey-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring API Key Authentication.
API Key Authentication verifies whether an incoming request includes a valid API key in the header, parameter, or cookie before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure Api Key
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>API Reference</title><link>/v0.6/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#backendtrafficpolicylist"&gt;BackendTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#clienttrafficpolicylist"&gt;ClientTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#envoypatchpolicylist"&gt;EnvoyPatchPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#securitypolicylist"&gt;SecurityPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;a class="td-heading-self-link" href="#backendtrafficpolicy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;BackendTrafficPolicy allows the user to configure the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/api/extension_types/#backendtrafficpolicylist"&gt;BackendTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gateway.envoyproxy.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata&lt;/code&gt; &lt;em&gt;&lt;a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#objectmeta-v1-meta"&gt;ObjectMeta&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Refer to Kubernetes API documentation for fields of &lt;code&gt;metadata&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.6/api/extension_types/#backendtrafficpolicyspec"&gt;BackendTrafficPolicySpec&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;spec defines the desired state of BackendTrafficPolicy.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="backendtrafficpolicylist"&gt;BackendTrafficPolicyList&lt;a class="td-heading-self-link" href="#backendtrafficpolicylist" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;BackendTrafficPolicyList contains a list of BackendTrafficPolicy resources.&lt;/p&gt;</description></item><item><title>API Reference</title><link>/v1.0/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#backendtrafficpolicylist"&gt;BackendTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#clienttrafficpolicylist"&gt;ClientTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#envoypatchpolicylist"&gt;EnvoyPatchPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#securitypolicylist"&gt;SecurityPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.0/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="activehealthcheck"&gt;ActiveHealthCheck&lt;a class="td-heading-self-link" href="#activehealthcheck" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ActiveHealthCheck defines the active health check configuration. EG supports various types of active health checking including HTTP, TCP.&lt;/p&gt;</description></item><item><title>API Reference</title><link>/v1.1/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#backendlist"&gt;BackendList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#backendtrafficpolicylist"&gt;BackendTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#clienttrafficpolicylist"&gt;ClientTrafficPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#envoyextensionpolicylist"&gt;EnvoyExtensionPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#envoypatchpolicylist"&gt;EnvoyPatchPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#securitypolicylist"&gt;SecurityPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established. Specifically, the following metadata is passed:&lt;/p&gt;</description></item><item><title>API Reference</title><link>/v1.2/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established. Specifically, the following metadata is passed:&lt;/p&gt;</description></item><item><title>Backend</title><link>/contributions/design/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/backend/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;Backend&lt;/code&gt; API allowing system administrators to represent backends without the use
of a K8s &lt;code&gt;Service&lt;/code&gt; resource.&lt;/p&gt;
&lt;p&gt;Common use cases for non-Service backends in the K8s and Envoy ecosystem include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cluster-external endpoints, which are currently second-class citizens in Gateway-API
(supported using &lt;a href="/latest/tasks/traffic/routing-outside-kubernetes/"&gt;Services and FQDN endpoints&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Host-local endpoints, such as sidecars or daemons that listen on &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-pipe"&gt;unix domain sockets&lt;/a&gt; or envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/other_features/internal_listener"&gt;internal listeners&lt;/a&gt;,
that cannot be represented by a K8s service at all.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Several projects currently support backends that are not registered in the infrastructure-specific service registry.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/docs/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/docs/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/latest/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/latest/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/v1.1/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/v1.2/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/v1.3/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.3/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/v1.4/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.4/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/v1.5/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.5/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Mutual TLS: Gateway to Backend</title><link>/v1.6/tasks/security/backend-mtls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/backend-mtls/</guid><description>&lt;p&gt;This task demonstrates how mTLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to establish TLS. For mTLS, the Gateway must authenticate by presenting a client certificate to the backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.6/tasks/security/backend-tls/"&gt;Backend TLS&lt;/a&gt; to install Envoy Gateway and configure TLS to the backend server.&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/docs/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendobjectreference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/docs/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/latest/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendobjectreference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/latest/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/v1.1/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendObjectReference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/v1.1/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/v1.2/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendObjectReference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/v1.2/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/v1.3/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendObjectReference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/v1.3/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/v1.4/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.BackendObjectReference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/v1.4/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/v1.5/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#backendobjectreference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/v1.5/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend Routing</title><link>/v1.6/tasks/traffic/backend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/backend/</guid><description>&lt;p&gt;Envoy Gateway supports routing to native K8s resources such as &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;ServiceImport&lt;/code&gt;. The &lt;code&gt;Backend&lt;/code&gt; API is a custom Envoy Gateway &lt;a href="https://gateway-api.sigs.k8s.io/guides/getting-started/migrating-from-ingress/#approach-to-extensibility"&gt;extension resource&lt;/a&gt; that can used in Gateway-API &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendobjectreference"&gt;BackendObjectReference&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Backend API was added to support several use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allowing users to integrate Envoy with services (Ext Auth, Rate Limit, ALS, &amp;hellip;) using Unix Domain Sockets, which are currently not supported by K8s.&lt;/li&gt;
&lt;li&gt;Simplify &lt;a href="/v1.6/tasks/traffic/routing-outside-kubernetes/"&gt;routing to cluster-external backends&lt;/a&gt;, which currently requires users to maintain both K8s &lt;code&gt;Service&lt;/code&gt; and &lt;code&gt;EndpointSlice&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="warning"&gt;Warning&lt;a class="td-heading-self-link" href="#warning" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Similar to the K8s EndpointSlice API, the Backend API can be misused to allow traffic to be sent to otherwise restricted destinations, as described in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-25740"&gt;CVE-2021-25740&lt;/a&gt;.
A Backend resource can be used to:&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/docs/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/latest/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.0/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.0/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the backend to terminate TLS connections from the Gateways.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.1/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the backend to terminate TLS connections from the Gateways.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.2/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.3/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.4/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.5/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Gateway to Backend</title><link>/v1.6/tasks/security/backend-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/backend-tls/</guid><description>&lt;p&gt;This task demonstrates how TLS can be achieved between the Gateway and a backend.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the Gateway-API defined &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Backend TLS: Skip TLS Verification</title><link>/docs/tasks/security/backend-skip-tls-verification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/backend-skip-tls-verification/</guid><description>&lt;p&gt;This task demonstrates how to skip TLS verification for a backend service in Envoy Gateway.&lt;/p&gt;
&lt;p&gt;By default, you must configure a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to validate the TLS certificate of a backend service when it uses TLS.&lt;/p&gt;
&lt;p&gt;However, in certain scenarios—such as development or testing—you might want to skip TLS verification for a backend service.
To do this, you can use the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; API and set the &lt;code&gt;tls.insecureSkipVerify&lt;/code&gt; field to true in the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Backend TLS: Skip TLS Verification</title><link>/latest/tasks/security/backend-skip-tls-verification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/backend-skip-tls-verification/</guid><description>&lt;p&gt;This task demonstrates how to skip TLS verification for a backend service in Envoy Gateway.&lt;/p&gt;
&lt;p&gt;By default, you must configure a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to validate the TLS certificate of a backend service when it uses TLS.&lt;/p&gt;
&lt;p&gt;However, in certain scenarios—such as development or testing—you might want to skip TLS verification for a backend service.
To do this, you can use the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; API and set the &lt;code&gt;tls.insecureSkipVerify&lt;/code&gt; field to true in the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Backend TLS: Skip TLS Verification</title><link>/v1.5/tasks/security/backend-skip-tls-verification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/backend-skip-tls-verification/</guid><description>&lt;p&gt;This task demonstrates how to skip TLS verification for a backend service in Envoy Gateway.&lt;/p&gt;
&lt;p&gt;By default, you must configure a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to validate the TLS certificate of a backend service when it uses TLS.&lt;/p&gt;
&lt;p&gt;However, in certain scenarios—such as development or testing—you might want to skip TLS verification for a backend service.
To do this, you can use the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; API and set the &lt;code&gt;tls.insecureSkipVerify&lt;/code&gt; field to true in the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Backend TLS: Skip TLS Verification</title><link>/v1.6/tasks/security/backend-skip-tls-verification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/backend-skip-tls-verification/</guid><description>&lt;p&gt;This task demonstrates how to skip TLS verification for a backend service in Envoy Gateway.&lt;/p&gt;
&lt;p&gt;By default, you must configure a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt; to validate the TLS certificate of a backend service when it uses TLS.&lt;/p&gt;
&lt;p&gt;However, in certain scenarios—such as development or testing—you might want to skip TLS verification for a backend service.
To do this, you can use the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; API and set the &lt;code&gt;tls.insecureSkipVerify&lt;/code&gt; field to true in the &lt;a href="../../../api/extension_types#backend"&gt;Backend&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>BackendTLSPolicy</title><link>/docs/api/gateway_api/backendtlspolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/gateway_api/backendtlspolicy/</guid><description>&lt;pre&gt;&lt;code&gt;The `BackendTLSPolicy` resource is GA and has been part of the Standard
Channel since `v1.4.0`. For more information on release channels, refer
to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#backendtlspolicy"&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration
of the connection from the Gateway to a backend pod/s via the Service API object.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTLSPolicy&lt;/code&gt; specifically addresses the configuration of TLS in order to convey HTTPS from the Gateway
dataplane to the backend. This is referred to as &amp;ldquo;backend TLS termination&amp;rdquo; and enables the Gateway to know
how to connect to a backend pod that has its own certificate.&lt;/p&gt;</description></item><item><title>BackendTLSPolicy</title><link>/latest/api/gateway_api/backendtlspolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/gateway_api/backendtlspolicy/</guid><description>&lt;pre&gt;&lt;code&gt;The `BackendTLSPolicy` resource is GA and has been part of the Standard
Channel since `v1.4.0`. For more information on release channels, refer
to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#backendtlspolicy"&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration
of the connection from the Gateway to a backend pod/s via the Service API object.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTLSPolicy&lt;/code&gt; specifically addresses the configuration of TLS in order to convey HTTPS from the Gateway
dataplane to the backend. This is referred to as &amp;ldquo;backend TLS termination&amp;rdquo; and enables the Gateway to know
how to connect to a backend pod that has its own certificate.&lt;/p&gt;</description></item><item><title>BackendTLSPolicy</title><link>/v1.3/api/gateway_api/backendtlspolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/gateway_api/backendtlspolicy/</guid><description>&lt;pre&gt;&lt;code&gt;The `BackendTLSPolicy` resource is Alpha and has been part of
the Experimental Channel since `v1.0.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha3.BackendTLSPolicy"&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration
of the connection from the Gateway to a backend pod/s via the Service API object.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTLSPolicy&lt;/code&gt; specifically addresses the configuration of TLS in order to convey HTTPS from the Gateway
dataplane to the backend. This is referred to as &amp;ldquo;backend TLS termination&amp;rdquo; and enables the Gateway to know
how to connect to a backend pod that has its own certificate.&lt;/p&gt;</description></item><item><title>BackendTLSPolicy</title><link>/v1.4/api/gateway_api/backendtlspolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/gateway_api/backendtlspolicy/</guid><description>&lt;pre&gt;&lt;code&gt;The `BackendTLSPolicy` resource is Alpha and has been part of
the Experimental Channel since `v1.0.0`. For more information on release
channels, refer to our [versioning guide](../concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1alpha3.BackendTLSPolicy"&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration
of the connection from the Gateway to a backend pod/s via the Service API object.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTLSPolicy&lt;/code&gt; specifically addresses the configuration of TLS in order to convey HTTPS from the Gateway
dataplane to the backend. This is referred to as &amp;ldquo;backend TLS termination&amp;rdquo; and enables the Gateway to know
how to connect to a backend pod that has its own certificate.&lt;/p&gt;</description></item><item><title>BackendTLSPolicy</title><link>/v1.5/api/gateway_api/backendtlspolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/gateway_api/backendtlspolicy/</guid><description>&lt;pre&gt;&lt;code&gt;The `BackendTLSPolicy` resource is Alpha and has been part of
the Experimental Channel since `v1.0.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec/#backendtlspolicy"&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration
of the connection from the Gateway to a backend pod/s via the Service API object.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTLSPolicy&lt;/code&gt; specifically addresses the configuration of TLS in order to convey HTTPS from the Gateway
dataplane to the backend. This is referred to as &amp;ldquo;backend TLS termination&amp;rdquo; and enables the Gateway to know
how to connect to a backend pod that has its own certificate.&lt;/p&gt;</description></item><item><title>BackendTLSPolicy</title><link>/v1.6/api/gateway_api/backendtlspolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/gateway_api/backendtlspolicy/</guid><description>&lt;pre&gt;&lt;code&gt;The `BackendTLSPolicy` resource is GA and has been part of the Standard
Channel since `v1.4.0`. For more information on release channels, refer
to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#backendtlspolicy"&gt;BackendTLSPolicy&lt;/a&gt; is a Gateway API type for specifying the TLS configuration
of the connection from the Gateway to a backend pod/s via the Service API object.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTLSPolicy&lt;/code&gt; specifically addresses the configuration of TLS in order to convey HTTPS from the Gateway
dataplane to the backend. This is referred to as &amp;ldquo;backend TLS termination&amp;rdquo; and enables the Gateway to know
how to connect to a backend pod that has its own certificate.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/contributions/design/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/backend-traffic-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; API allowing users to configure
the behavior for how the Envoy Proxy server communicates with upstream backend services/endpoints.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API definition to hold settings for configuring behavior of the connection between the backend services
and Envoy Proxy listener.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the API configuration fields in this API.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an implied hierarchy type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;.
It can target either a &lt;code&gt;Gateway&lt;/code&gt;, or an xRoute (&lt;code&gt;HTTPRoute&lt;/code&gt;/&lt;code&gt;GRPCRoute&lt;/code&gt;/etc.). When targeting a &lt;code&gt;Gateway&lt;/code&gt;,
it will apply the configured settings within ght &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; to all children xRoute resources of that &lt;code&gt;Gateway&lt;/code&gt;.
If a &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; targets an xRoute and a different &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; targets the &lt;code&gt;Gateway&lt;/code&gt; that route belongs to,
then the configuration from the policy that is targeting the xRoute resource will win in a conflict.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/docs/concepts/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/latest/concepts/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/v0.6/design/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/backend-traffic-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; API allowing users to configure
the behavior for how the Envoy Proxy server communicates with upstream backend services/endpoints.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API definition to hold settings for configuring behavior of the connection between the backend services
and Envoy Proxy listener.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the API configuration fields in this API.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an implied hierarchy type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;.
It can target either a &lt;code&gt;Gateway&lt;/code&gt;, or an xRoute (&lt;code&gt;HTTPRoute&lt;/code&gt;/&lt;code&gt;GRPCRoute&lt;/code&gt;/etc.). When targeting a &lt;code&gt;Gateway&lt;/code&gt;,
it will apply the configured settings within ght &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; to all children xRoute resources of that &lt;code&gt;Gateway&lt;/code&gt;.
If a &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; targets an xRoute and a different &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; targets the &lt;code&gt;Gateway&lt;/code&gt; that route belongs to,
then the configuration from the policy that is targeting the xRoute resource will win in a conflict.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/v1.3/concepts/introduction/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/introduction/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/concepts/introduction/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/v1.4/concepts/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/v1.4/concepts/introduction/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/concepts/introduction/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/v1.5/concepts/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>BackendTrafficPolicy</title><link>/v1.6/concepts/gateway_api_extensions/backend-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/gateway_api_extensions/backend-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;BackendTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that controls how Envoy Gateway communicates with your backend services. It can configure connection behavior, resilience mechanisms, and performance optimizations without requiring changes to your applications.&lt;/p&gt;
&lt;p&gt;Think of it as a traffic controller between your gateway and backend services. It can detect problems, prevent failures from spreading, and optimize request handling to improve system stability.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/docs/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/latest/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.0/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.1/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.2/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.3/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.4/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.5/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Basic Authentication</title><link>/v1.6/tasks/security/basic-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/basic-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc2617"&gt;HTTP Basic authentication&lt;/a&gt;.
HTTP Basic authentication checks if an incoming request has a valid username and password before routing the request to
a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure HTTP Basic
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Bootstrap Design</title><link>/contributions/design/bootstrap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/bootstrap/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/31"&gt;Issue 31&lt;/a&gt; specifies the need for allowing advanced users to specify their custom
Envoy Bootstrap configuration rather than using the default Bootstrap configuration
defined in Envoy Gateway. This allows advanced users to extend Envoy Gateway and
support their custom use cases such setting up tracing and stats configuration
that is not supported by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API field to allow a user to specify a custom Bootstrap&lt;/li&gt;
&lt;li&gt;Provide tooling to allow the user to generate the default Bootstrap configuration
as well as validate their custom Bootstrap.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Allow user to configure only a section of the Bootstrap&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Leverage the existing &lt;a href="/latest/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource which can be attached to the &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; using
the &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#parametersreference"&gt;parametersRef&lt;/a&gt; field, and define a &lt;code&gt;Bootstrap&lt;/code&gt; field within the resource. If this field is set,
the value is used as the Bootstrap configuration for all managed Envoy Proxies created by Envoy Gateway.&lt;/p&gt;</description></item><item><title>Bootstrap Design</title><link>/v0.4/design/bootstrap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/bootstrap/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/31"&gt;Issue 31&lt;/a&gt; specifies the need for allowing advanced users to specify their custom
Envoy Bootstrap configuration rather than using the default Bootstrap configuration
defined in Envoy Gateway. This allows advanced users to extend Envoy Gateway and
support their custom use cases such setting up tracing and stats configuration
that is not supported by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API field to allow a user to specify a custom Bootstrap&lt;/li&gt;
&lt;li&gt;Provide tooling to allow the user to generate the default Bootstrap configuration
as well as validate their custom Bootstrap.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Allow user to configure only a section of the Bootstrap&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Leverage the existing &lt;a href="/v0.4/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource which can be attached to the &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayClass"&gt;GatewayClass&lt;/a&gt; using
the &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.ParametersReference"&gt;parametersRef&lt;/a&gt; field, and define a &lt;code&gt;Bootstrap&lt;/code&gt; field within the resource. If this field is set,
the value is used as the Bootstrap configuration for all managed Envoy Proxies created by Envoy Gateway.&lt;/p&gt;</description></item><item><title>Bootstrap Design</title><link>/v0.5/design/bootstrap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/bootstrap/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/31"&gt;Issue 31&lt;/a&gt; specifies the need for allowing advanced users to specify their custom
Envoy Bootstrap configuration rather than using the default Bootstrap configuration
defined in Envoy Gateway. This allows advanced users to extend Envoy Gateway and
support their custom use cases such setting up tracing and stats configuration
that is not supported by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API field to allow a user to specify a custom Bootstrap&lt;/li&gt;
&lt;li&gt;Provide tooling to allow the user to generate the default Bootstrap configuration
as well as validate their custom Bootstrap.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Allow user to configure only a section of the Bootstrap&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Leverage the existing &lt;a href="/v0.5/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource which can be attached to the &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayClass"&gt;GatewayClass&lt;/a&gt; using
the &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.ParametersReference"&gt;parametersRef&lt;/a&gt; field, and define a &lt;code&gt;Bootstrap&lt;/code&gt; field within the resource. If this field is set,
the value is used as the Bootstrap configuration for all managed Envoy Proxies created by Envoy Gateway.&lt;/p&gt;</description></item><item><title>Bootstrap Design</title><link>/v0.6/design/bootstrap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/bootstrap/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/31"&gt;Issue 31&lt;/a&gt; specifies the need for allowing advanced users to specify their custom
Envoy Bootstrap configuration rather than using the default Bootstrap configuration
defined in Envoy Gateway. This allows advanced users to extend Envoy Gateway and
support their custom use cases such setting up tracing and stats configuration
that is not supported by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API field to allow a user to specify a custom Bootstrap&lt;/li&gt;
&lt;li&gt;Provide tooling to allow the user to generate the default Bootstrap configuration
as well as validate their custom Bootstrap.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Allow user to configure only a section of the Bootstrap&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Leverage the existing &lt;a href="/v0.6/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource which can be attached to the &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; using
the &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.ParametersReference"&gt;parametersRef&lt;/a&gt; field, and define a &lt;code&gt;Bootstrap&lt;/code&gt; field within the resource. If this field is set,
the value is used as the Bootstrap configuration for all managed Envoy Proxies created by Envoy Gateway.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/docs/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/latest/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/v1.1/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/v1.2/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/v1.3/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/v1.4/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/v1.5/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Build a Wasm image</title><link>/v1.6/tasks/extensibility/build-wasm-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/extensibility/build-wasm-image/</guid><description>&lt;p&gt;Envoy Gateway supports two types of Wasm extensions within the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API: HTTP Wasm Extensions and Image Wasm Extensions.
Packaging a Wasm extension as an OCI image is beneficial because it simplifies versioning and distribution for users.
Additionally, users can leverage existing image toolchain to build and manage Wasm images.&lt;/p&gt;
&lt;p&gt;This document describes how to build OCI images which are consumable by Envoy Gateway.&lt;/p&gt;



&lt;h2 id="wasm-image-formats"&gt;Wasm Image Formats&lt;a class="td-heading-self-link" href="#wasm-image-formats" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are two types of images that are supported by Envoy Gateway. One is in the Docker format, and another is the standard
OCI specification compliant format. Please note that both of them are supported by any OCI registries. You can choose
either format depending on your preference, and both types of images are consumable by Envoy Gateway &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; API.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/docs/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy Circuit Breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/latest/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy Circuit Breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.0/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy circuit breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.1/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy circuit breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.2/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy circuit breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.3/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy circuit breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.4/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy circuit breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.5/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy Circuit Breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Circuit Breakers</title><link>/v1.6/tasks/traffic/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/circuit-breaker/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking"&gt;Envoy Circuit Breakers&lt;/a&gt; can be used to fail quickly and apply back-pressure in response to upstream service degradation.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following circuit breaker thresholds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Connections&lt;/strong&gt;: limit the connections that Envoy can establish to the upstream service. When this threshold is met, new connections will not be established, and some requests will be queued until an existing connection becomes available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent Requests&lt;/strong&gt;: limit on concurrent requests in-flight from Envoy to the upstream service. When this threshold is met, requests will be queued.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pending Requests&lt;/strong&gt;: limit the pending request queue size. When this threshold is met, overflowing requests will be terminated with a &lt;code&gt;503&lt;/code&gt; status code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy&amp;rsquo;s circuit breakers are distributed: counters are not synchronized across different Envoy processes. The default Envoy and Envoy Gateway circuit breaker threshold values (1024) may be too strict for high-throughput systems.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/docs/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/latest/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.0/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This guide explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.1/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.2/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.3/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.4/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.5/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>Client Traffic Policy</title><link>/v1.6/tasks/traffic/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/client-traffic-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt; API allows system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This API was added as a new policy attachment resource that can be applied to Gateway resources and it is meant to hold settings for configuring behavior of the connection between the downstream client and Envoy Proxy listener. It is the counterpart to the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; API resource.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/docs/concepts/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/latest/concepts/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/v1.3/concepts/introduction/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/introduction/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/concepts/introduction/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/v1.4/concepts/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/v1.4/concepts/introduction/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/concepts/introduction/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/v1.5/concepts/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/v1.6/concepts/gateway_api_extensions/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/gateway_api_extensions/client-traffic-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is an extension to the Kubernetes Gateway API that allows system administrators to configure how the Envoy Proxy server behaves with downstream clients. It is a policy attachment resource that can be applied to Gateway resources and holds settings for configuring the behavior of the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;
&lt;p&gt;Think of &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; as a set of rules for your Gateway&amp;rsquo;s entry points, it lets you configure specific behaviors for each listener in your Gateway, with more specific rules taking precedence over general ones.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/contributions/design/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/client-traffic-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; API allowing system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API definition to hold settings for configuring behavior of the connection between the downstream
client and Envoy Proxy listener.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the API configuration fields in this API.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment/#direct-policy-attachment"&gt;Direct Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
to define configuration that affect the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;</description></item><item><title>ClientTrafficPolicy</title><link>/v0.6/design/client-traffic-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/client-traffic-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;ClientTrafficPolicy&lt;/code&gt; API allowing system administrators to configure
the behavior for how the Envoy Proxy server behaves with downstream clients.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API definition to hold settings for configuring behavior of the connection between the downstream
client and Envoy Proxy listener.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the API configuration fields in this API.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ClientTrafficPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment/#direct-policy-attachment"&gt;Direct Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
to define configuration that affect the connection between the downstream client and Envoy Proxy listener.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>/contributions/code_of_conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/code_of_conduct/</guid><description>&lt;p&gt;Envoy Gateway follows the &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md"&gt;CNCF Code of Conduct&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>/v0.2/contributions/code_of_conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/code_of_conduct/</guid><description>&lt;p&gt;Envoy Gateway follows the &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md"&gt;CNCF Code of Conduct&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>/v0.3/contributions/code_of_conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/code_of_conduct/</guid><description>&lt;p&gt;Envoy Gateway follows the &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md"&gt;CNCF Code of Conduct&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>/v0.4/contributions/code_of_conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/code_of_conduct/</guid><description>&lt;p&gt;Envoy Gateway follows the &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md"&gt;CNCF Code of Conduct&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>/v0.5/contributions/code_of_conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/code_of_conduct/</guid><description>&lt;p&gt;Envoy Gateway follows the &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md"&gt;CNCF Code of Conduct&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>/v0.6/contributions/code_of_conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/code_of_conduct/</guid><description>&lt;p&gt;Envoy Gateway follows the &lt;a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md"&gt;CNCF Code of Conduct&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Compatibility Matrix</title><link>/news/releases/matrix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/news/releases/matrix/</guid><description>&lt;p&gt;Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs within a Kubernetes cluster. Not all versions of each of these products can function together for Envoy Gateway. Supported version combinations are listed below; &lt;strong&gt;bold&lt;/strong&gt; type indicates the versions of the Envoy Proxy and the Gateway API actually compiled into each Envoy Gateway release.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Envoy Gateway version&lt;/th&gt;
 &lt;th&gt;Envoy Proxy version&lt;/th&gt;
 &lt;th&gt;Rate Limit version&lt;/th&gt;
 &lt;th&gt;Gateway API version&lt;/th&gt;
 &lt;th&gt;Kubernetes version&lt;/th&gt;
 &lt;th&gt;End of Life&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;latest&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;dev-latest&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;master&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.4.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.32, v1.33, v1.34, v1.35&lt;/td&gt;
 &lt;td&gt;n/a&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.6&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.36.2&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;99d85510&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.4.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.30, v1.31, v1.32, v1.33&lt;/td&gt;
 &lt;td&gt;2026/05/13&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.5&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.35.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;a90e0e5d&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.3.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.30, v1.31, v1.32, v1.33&lt;/td&gt;
 &lt;td&gt;2026/02/13&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.4&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.34.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;3e085e5b&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.3.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.30, v1.31, v1.32, v1.33&lt;/td&gt;
 &lt;td&gt;2025/11/13&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.3&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.33.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;60d8e81b&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.2.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.29, v1.30, v1.31, v1.32&lt;/td&gt;
 &lt;td&gt;2025/07/30&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.2&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.32.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;28b1629a&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.2.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.28, v1.29, v1.30, v1.31&lt;/td&gt;
 &lt;td&gt;2025/05/06&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.1&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.31.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;91484c59&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.1.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.27, v1.28, v1.29, v1.30&lt;/td&gt;
 &lt;td&gt;2025/01/22&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1.0&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.29.2&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;19f2079f&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.0.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.26, v1.27, v1.28, v1.29&lt;/td&gt;
 &lt;td&gt;2024/09/13&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0.6&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;distroless-v1.28-latest&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;b9796237&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.0.0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.26, v1.27, v1.28&lt;/td&gt;
 &lt;td&gt;2024/05/02&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0.5&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.27-latest&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;e059638d&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v0.7.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.25, v1.26, v1.27&lt;/td&gt;
 &lt;td&gt;2024/01/02&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0.4&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.26-latest&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;542a6047&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v0.6.2&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.25, v1.26, v1.27&lt;/td&gt;
 &lt;td&gt;2023/10/24&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0.3&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.25-latest&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;f28024e3&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v0.6.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.24, v1.25, v1.26&lt;/td&gt;
 &lt;td&gt;2023/08/09&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0.2&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v1.23-latest&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;v0.5.1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;v1.24&lt;/td&gt;
 &lt;td&gt;2023/04/20&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Config APIs</title><link>/v0.3/api/config_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/api/config_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.3/api/config_types/#configgatewayenvoyproxyiov1alpha1"&gt;config.gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="configgatewayenvoyproxyiov1alpha1"&gt;config.gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#configgatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the config.gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.3/api/config_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.3/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="envoygateway"&gt;EnvoyGateway&lt;a class="td-heading-self-link" href="#envoygateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EnvoyGateway is the schema for the envoygateways API.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;config.gateway.envoyproxy.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;EnvoyGateway&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;EnvoyGatewaySpec&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.3/api/config_types/#envoygatewayspec"&gt;EnvoyGatewaySpec&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGatewaySpec defines the desired state of EnvoyGateway.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="envoygatewayspec"&gt;EnvoyGatewaySpec&lt;a class="td-heading-self-link" href="#envoygatewayspec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EnvoyGatewaySpec defines the desired state of Envoy Gateway.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Config APIs</title><link>/v0.4/api/config_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/api/config_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.4/api/config_types/#configgatewayenvoyproxyiov1alpha1"&gt;config.gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="configgatewayenvoyproxyiov1alpha1"&gt;config.gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#configgatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the config.gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.4/api/config_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.4/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="envoygateway"&gt;EnvoyGateway&lt;a class="td-heading-self-link" href="#envoygateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EnvoyGateway is the schema for the envoygateways API.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;config.gateway.envoyproxy.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;EnvoyGateway&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;EnvoyGatewaySpec&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.4/api/config_types/#envoygatewayspec"&gt;EnvoyGatewaySpec&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGatewaySpec defines the desired state of EnvoyGateway.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="envoygatewayfileprovider"&gt;EnvoyGatewayFileProvider&lt;a class="td-heading-self-link" href="#envoygatewayfileprovider" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EnvoyGatewayFileProvider defines configuration for the File provider.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.4/api/config_types/#envoygatewayprovider"&gt;EnvoyGatewayProvider&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="envoygatewaykubernetesprovider"&gt;EnvoyGatewayKubernetesProvider&lt;a class="td-heading-self-link" href="#envoygatewaykubernetesprovider" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EnvoyGatewayKubernetesProvider defines configuration for the Kubernetes provider.&lt;/p&gt;</description></item><item><title>Config APIs</title><link>/v0.5/api/config_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/api/config_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/api/config_types/#configgatewayenvoyproxyiov1alpha1"&gt;config.gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="configgatewayenvoyproxyiov1alpha1"&gt;config.gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#configgatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the config.gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/api/config_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.5/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="customtag"&gt;CustomTag&lt;a class="td-heading-self-link" href="#customtag" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/api/config_types/#proxytracing"&gt;ProxyTracing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;type&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.5/api/config_types/#customtagtype"&gt;CustomTagType&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Type defines the type of custom tag.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;literal&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.5/api/config_types/#literalcustomtag"&gt;LiteralCustomTag&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Literal adds hard-coded value to each span. It&amp;rsquo;s required when the type is &amp;ldquo;Literal&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;environment&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.5/api/config_types/#environmentcustomtag"&gt;EnvironmentCustomTag&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Environment adds value from environment variable to each span. It&amp;rsquo;s required when the type is &amp;ldquo;Environment&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;requestHeader&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.5/api/config_types/#requestheadercustomtag"&gt;RequestHeaderCustomTag&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;RequestHeader adds value from request header to each span. It&amp;rsquo;s required when the type is &amp;ldquo;RequestHeader&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="customtagtype"&gt;CustomTagType&lt;a class="td-heading-self-link" href="#customtagtype" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;code&gt;string&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Configuration API Design</title><link>/contributions/design/config-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/config-api/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/51"&gt;Issue 51&lt;/a&gt; specifies the need to design an API for configuring Envoy Gateway. The control plane is configured
statically at startup and the data plane is configured dynamically through Kubernetes resources, primarily
&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Refer to the Envoy Gateway &lt;a href="../system-design/"&gt;design doc&lt;/a&gt; for additional details regarding
Envoy Gateway terminology and configuration.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API to configure Envoy Gateway at startup.&lt;/li&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API for configuring the managed data plane, e.g. Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implementation of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define the &lt;code&gt;status&lt;/code&gt; subresource of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define a &lt;strong&gt;complete&lt;/strong&gt; set of APIs for configuring Envoy Gateway. As stated in the &lt;a href="/contributions/design/config-api/#goals"&gt;Goals&lt;/a&gt;, this document
defines the initial configuration APIs.&lt;/li&gt;
&lt;li&gt;Define an API for deploying/provisioning/operating Envoy Gateway. If needed, a future Envoy Gateway operator would be
responsible for designing and implementing this type of API.&lt;/li&gt;
&lt;li&gt;Specify tooling for managing the API, e.g. generate protos, CRDs, controller RBAC, etc.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="control-plane-api"&gt;Control Plane API&lt;a class="td-heading-self-link" href="#control-plane-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;EnvoyGateway&lt;/code&gt; API defines the control plane configuration, e.g. Envoy Gateway. Key points of this API are:&lt;/p&gt;</description></item><item><title>Configuration API Design</title><link>/v0.2/design/config-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/design/config-api/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/51"&gt;Issue 51&lt;/a&gt; specifies the need to design an API for configuring Envoy Gateway. The control plane is configured
statically at startup and the data plane is configured dynamically through Kubernetes resources, primarily
&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Refer to the Envoy Gateway &lt;a href="https://github.com/envoyproxy/gateway/blob/main/docs/design/SYSTEM_DESIGN.md"&gt;design doc&lt;/a&gt; for additional details regarding
Envoy Gateway terminology and configuration.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API to configure Envoy Gateway at startup.&lt;/li&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API for configuring the managed data plane, e.g. Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implementation of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define the &lt;code&gt;status&lt;/code&gt; subresource of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define a &lt;strong&gt;complete&lt;/strong&gt; set of APIs for configuring Envoy Gateway. As stated in the &lt;a href="/v0.2/design/config-api/#goals"&gt;Goals&lt;/a&gt;, this document
defines the initial configuration APIs.&lt;/li&gt;
&lt;li&gt;Define an API for deploying/provisioning/operating Envoy Gateway. If needed, a future Envoy Gateway operator would be
responsible for designing and implementing this type of API.&lt;/li&gt;
&lt;li&gt;Specify tooling for managing the API, e.g. generate protos, CRDs, controller RBAC, etc.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="control-plane-api"&gt;Control Plane API&lt;a class="td-heading-self-link" href="#control-plane-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;EnvoyGateway&lt;/code&gt; API defines the control plane configuration, e.g. Envoy Gateway. Key points of this API are:&lt;/p&gt;</description></item><item><title>Configuration API Design</title><link>/v0.3/design/config-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/config-api/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/51"&gt;Issue 51&lt;/a&gt; specifies the need to design an API for configuring Envoy Gateway. The control plane is configured
statically at startup and the data plane is configured dynamically through Kubernetes resources, primarily
&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Refer to the Envoy Gateway &lt;a href="https://github.com/envoyproxy/gateway/blob/main/docs/design/SYSTEM_DESIGN.md"&gt;design doc&lt;/a&gt; for additional details regarding
Envoy Gateway terminology and configuration.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API to configure Envoy Gateway at startup.&lt;/li&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API for configuring the managed data plane, e.g. Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implementation of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define the &lt;code&gt;status&lt;/code&gt; subresource of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define a &lt;strong&gt;complete&lt;/strong&gt; set of APIs for configuring Envoy Gateway. As stated in the &lt;a href="/v0.3/design/config-api/#goals"&gt;Goals&lt;/a&gt;, this document
defines the initial configuration APIs.&lt;/li&gt;
&lt;li&gt;Define an API for deploying/provisioning/operating Envoy Gateway. If needed, a future Envoy Gateway operator would be
responsible for designing and implementing this type of API.&lt;/li&gt;
&lt;li&gt;Specify tooling for managing the API, e.g. generate protos, CRDs, controller RBAC, etc.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="control-plane-api"&gt;Control Plane API&lt;a class="td-heading-self-link" href="#control-plane-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;EnvoyGateway&lt;/code&gt; API defines the control plane configuration, e.g. Envoy Gateway. Key points of this API are:&lt;/p&gt;</description></item><item><title>Configuration API Design</title><link>/v0.4/design/config-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/config-api/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/51"&gt;Issue 51&lt;/a&gt; specifies the need to design an API for configuring Envoy Gateway. The control plane is configured
statically at startup and the data plane is configured dynamically through Kubernetes resources, primarily
&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Refer to the Envoy Gateway &lt;a href="https://github.com/envoyproxy/gateway/blob/main/docs/design/SYSTEM_DESIGN.md"&gt;design doc&lt;/a&gt; for additional details regarding
Envoy Gateway terminology and configuration.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API to configure Envoy Gateway at startup.&lt;/li&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API for configuring the managed data plane, e.g. Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implementation of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define the &lt;code&gt;status&lt;/code&gt; subresource of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define a &lt;strong&gt;complete&lt;/strong&gt; set of APIs for configuring Envoy Gateway. As stated in the &lt;a href="/v0.4/design/config-api/#goals"&gt;Goals&lt;/a&gt;, this document
defines the initial configuration APIs.&lt;/li&gt;
&lt;li&gt;Define an API for deploying/provisioning/operating Envoy Gateway. If needed, a future Envoy Gateway operator would be
responsible for designing and implementing this type of API.&lt;/li&gt;
&lt;li&gt;Specify tooling for managing the API, e.g. generate protos, CRDs, controller RBAC, etc.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="control-plane-api"&gt;Control Plane API&lt;a class="td-heading-self-link" href="#control-plane-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;EnvoyGateway&lt;/code&gt; API defines the control plane configuration, e.g. Envoy Gateway. Key points of this API are:&lt;/p&gt;</description></item><item><title>Configuration API Design</title><link>/v0.5/design/config-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/config-api/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/51"&gt;Issue 51&lt;/a&gt; specifies the need to design an API for configuring Envoy Gateway. The control plane is configured
statically at startup and the data plane is configured dynamically through Kubernetes resources, primarily
&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Refer to the Envoy Gateway &lt;a href="https://github.com/envoyproxy/gateway/blob/main/docs/design/SYSTEM_DESIGN.md"&gt;design doc&lt;/a&gt; for additional details regarding
Envoy Gateway terminology and configuration.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API to configure Envoy Gateway at startup.&lt;/li&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API for configuring the managed data plane, e.g. Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implementation of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define the &lt;code&gt;status&lt;/code&gt; subresource of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define a &lt;strong&gt;complete&lt;/strong&gt; set of APIs for configuring Envoy Gateway. As stated in the &lt;a href="/v0.5/design/config-api/#goals"&gt;Goals&lt;/a&gt;, this document
defines the initial configuration APIs.&lt;/li&gt;
&lt;li&gt;Define an API for deploying/provisioning/operating Envoy Gateway. If needed, a future Envoy Gateway operator would be
responsible for designing and implementing this type of API.&lt;/li&gt;
&lt;li&gt;Specify tooling for managing the API, e.g. generate protos, CRDs, controller RBAC, etc.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="control-plane-api"&gt;Control Plane API&lt;a class="td-heading-self-link" href="#control-plane-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;EnvoyGateway&lt;/code&gt; API defines the control plane configuration, e.g. Envoy Gateway. Key points of this API are:&lt;/p&gt;</description></item><item><title>Configuration API Design</title><link>/v0.6/design/config-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/config-api/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/51"&gt;Issue 51&lt;/a&gt; specifies the need to design an API for configuring Envoy Gateway. The control plane is configured
statically at startup and the data plane is configured dynamically through Kubernetes resources, primarily
&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Refer to the Envoy Gateway &lt;a href="../system-design/"&gt;design doc&lt;/a&gt; for additional details regarding
Envoy Gateway terminology and configuration.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API to configure Envoy Gateway at startup.&lt;/li&gt;
&lt;li&gt;Define an &lt;strong&gt;initial&lt;/strong&gt; API for configuring the managed data plane, e.g. Envoy proxies.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non-Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implementation of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define the &lt;code&gt;status&lt;/code&gt; subresource of the configuration APIs.&lt;/li&gt;
&lt;li&gt;Define a &lt;strong&gt;complete&lt;/strong&gt; set of APIs for configuring Envoy Gateway. As stated in the &lt;a href="/v0.6/design/config-api/#goals"&gt;Goals&lt;/a&gt;, this document
defines the initial configuration APIs.&lt;/li&gt;
&lt;li&gt;Define an API for deploying/provisioning/operating Envoy Gateway. If needed, a future Envoy Gateway operator would be
responsible for designing and implementing this type of API.&lt;/li&gt;
&lt;li&gt;Specify tooling for managing the API, e.g. generate protos, CRDs, controller RBAC, etc.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="control-plane-api"&gt;Control Plane API&lt;a class="td-heading-self-link" href="#control-plane-api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;EnvoyGateway&lt;/code&gt; API defines the control plane configuration, e.g. Envoy Gateway. Key points of this API are:&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/docs/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/latest/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/v1.2/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/v1.3/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/v1.4/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/v1.5/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Configuration Issues</title><link>/v1.6/troubleshooting/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/troubleshooting/configuration/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After configuring and applying resources, you might find that Envoy Gateway does not behave as expected. This guide helps troubleshoot configuration issues.&lt;/p&gt;
&lt;p&gt;Many &lt;strong&gt;syntax errors and simple semantic issues&lt;/strong&gt; are caught during resource validation by the &lt;strong&gt;Kubernetes API Server&lt;/strong&gt;, which rejects invalid resources. However, more complex configuration issues require additional debugging.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/docs/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/latest/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/v1.1/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/v1.2/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/v1.3/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/v1.4/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.Listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.Gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/v1.5/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connection Limit</title><link>/v1.6/tasks/traffic/connection-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/connection-limit/</guid><description>&lt;p&gt;The connection limit features allows users to limit the number of concurrently active TCP connections on a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway"&gt;Gateway&lt;/a&gt; or a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#listener"&gt;Listener&lt;/a&gt;.
When the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/connection_limit_filter"&gt;connection limit&lt;/a&gt; is reached, new connections are closed immediately by Envoy proxy. It&amp;rsquo;s possible to configure a delay for connection rejection.&lt;/p&gt;
&lt;p&gt;Users may want to limit the number of connections for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Protect resources like CPU and Memory.&lt;/li&gt;
&lt;li&gt;Ensure that different listeners can receive a fair share of global resources.&lt;/li&gt;
&lt;li&gt;Protect from malicious activity like DoS attacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#clienttrafficpolicy"&gt;Client Traffic Policy&lt;/a&gt; that allows the user to describe their desired connection limit settings.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway"&gt;Gateway&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>CORS</title><link>/docs/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;
&lt;p&gt;You can also configure CORS using the Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpcorsfilter"&gt;HTTPCORSFilter&lt;/a&gt;, which offers a simpler option but
is only supported on the &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>CORS</title><link>/latest/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;
&lt;p&gt;You can also configure CORS using the Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpcorsfilter"&gt;HTTPCORSFilter&lt;/a&gt;, which offers a simpler option but
is only supported on the &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v0.6/user/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/cors/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.0/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/cors/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.1/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.2/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.3/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.4/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;
&lt;p&gt;You can also configure CORS using the Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#httpcorsfilter"&gt;HTTPCORSFilter&lt;/a&gt;, which offers a simpler option but
is only supported on the &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.5/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;
&lt;p&gt;You can also configure CORS using the Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httpcorsfilter"&gt;HTTPCORSFilter&lt;/a&gt;, which offers a simpler option but
is only supported on the &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>CORS</title><link>/v1.6/tasks/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/cors/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"&gt;Cross-Origin Resource Sharing (CORS)&lt;/a&gt; on Envoy Gateway.
CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different
domain.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure CORS.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;
&lt;p&gt;You can also configure CORS using the Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpcorsfilter"&gt;HTTPCORSFilter&lt;/a&gt;, which offers a simpler option but
is only supported on the &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Credential Injection</title><link>/docs/tasks/security/credential-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/credential-injection/</guid><description>&lt;p&gt;This task shows how to use &lt;a href="../../../api/extension_types#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt; to inject credentials into requests. It can be used to add
credentials such as Basic Authentication, JWTs, or API keys before the requests are sent to the backend service.&lt;/p&gt;
&lt;p&gt;This is useful in scenarios where the backend service requires authentication or other credentials that are not provided
by the client. For example, you can use this feature to inject an access token into an API call to AWS.&lt;/p&gt;</description></item><item><title>Credential Injection</title><link>/latest/tasks/security/credential-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/credential-injection/</guid><description>&lt;p&gt;This task shows how to use &lt;a href="../../../api/extension_types#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt; to inject credentials into requests. It can be used to add
credentials such as Basic Authentication, JWTs, or API keys before the requests are sent to the backend service.&lt;/p&gt;
&lt;p&gt;This is useful in scenarios where the backend service requires authentication or other credentials that are not provided
by the client. For example, you can use this feature to inject an access token into an API call to AWS.&lt;/p&gt;</description></item><item><title>Credential Injection</title><link>/v1.4/tasks/security/credential-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/credential-injection/</guid><description>&lt;p&gt;This task shows how to use &lt;a href="../../../api/extension_types#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt; to inject credentials into requests. It can be used to add
credentials such as Basic Authentication, JWTs, or API keys before the requests are sent to the backend service.&lt;/p&gt;
&lt;p&gt;This is useful in scenarios where the backend service requires authentication or other credentials that are not provided
by the client. For example, you can use this feature to inject an access token into an API call to AWS.&lt;/p&gt;</description></item><item><title>Credential Injection</title><link>/v1.5/tasks/security/credential-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/credential-injection/</guid><description>&lt;p&gt;This task shows how to use &lt;a href="../../../api/extension_types#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt; to inject credentials into requests. It can be used to add
credentials such as Basic Authentication, JWTs, or API keys before the requests are sent to the backend service.&lt;/p&gt;
&lt;p&gt;This is useful in scenarios where the backend service requires authentication or other credentials that are not provided
by the client. For example, you can use this feature to inject an access token into an API call to AWS.&lt;/p&gt;</description></item><item><title>Credential Injection</title><link>/v1.6/tasks/security/credential-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/credential-injection/</guid><description>&lt;p&gt;This task shows how to use &lt;a href="../../../api/extension_types#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt; to inject credentials into requests. It can be used to add
credentials such as Basic Authentication, JWTs, or API keys before the requests are sent to the backend service.&lt;/p&gt;
&lt;p&gt;This is useful in scenarios where the backend service requires authentication or other credentials that are not provided
by the client. For example, you can use this feature to inject an access token into an API call to AWS.&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/docs/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: We recommend creating a &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource before creating a Gateway or GatewayClass that references it to avoid temporary disruption.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/latest/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: We recommend creating a &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource before creating a Gateway or GatewayClass that references it to avoid temporary disruption.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v0.4/user/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides a &lt;a href="/v0.4/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in GatewayClass y cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="add-gatewayclass-parametersref"&gt;Add GatewayClass ParametersRef&lt;a class="td-heading-self-link" href="#add-gatewayclass-parametersref" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;First, you need to add ParametersRef in GatewayClass, and refer to EnvoyProxy Config:&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v0.5/user/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="/v0.5/api/config_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="add-gatewayclass-parametersref"&gt;Add GatewayClass ParametersRef&lt;a class="td-heading-self-link" href="#add-gatewayclass-parametersref" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;First, you need to add ParametersRef in GatewayClass, and refer to EnvoyProxy Config:&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v0.6/user/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="/v0.6/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="add-gatewayclass-parametersref"&gt;Add GatewayClass ParametersRef&lt;a class="td-heading-self-link" href="#add-gatewayclass-parametersref" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;First, you need to add ParametersRef in GatewayClass, and refer to EnvoyProxy Config:&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.0/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="add-gatewayclass-parametersref"&gt;Add GatewayClass ParametersRef&lt;a class="td-heading-self-link" href="#add-gatewayclass-parametersref" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;First, you need to add ParametersRef in GatewayClass, and refer to EnvoyProxy Config:&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.1/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.2/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.3/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.4/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.5/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: We recommend creating a &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource before creating a Gateway or GatewayClass that references it to avoid temporary disruption.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Customize EnvoyProxy</title><link>/v1.6/tasks/operations/customize-envoyproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/customize-envoyproxy/</guid><description>&lt;p&gt;Envoy Gateway provides an &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; CRD that can be linked to the ParametersRef
in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
Service. To learn more about GatewayClass and ParametersRef, please refer to &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: We recommend creating a &lt;a href="../../../api/extension_types#envoyproxy"&gt;EnvoyProxy&lt;/a&gt; resource before creating a Gateway or GatewayClass that references it to avoid temporary disruption.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Data Plane Observability: Accesslog</title><link>/contributions/design/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/proxy-accesslog/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy supports extensible accesslog to different sinks, File, gRPC etc.&lt;/p&gt;
&lt;p&gt;Envoy supports customizable access log formats using predefined fields as well as arbitrary HTTP request and response headers.&lt;/p&gt;
&lt;p&gt;Envoy supports several built-in access log filters and extension filters that are registered at runtime.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since accesslog is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config access log formats and sinks per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Data Plane Observability: Metrics</title><link>/contributions/design/proxy-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/proxy-metrics/</guid><description>&lt;p&gt;This document aims to cover all aspects of envoy gateway data plane metrics observability.&lt;/p&gt;


&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;

 &lt;strong&gt;Control plane&lt;/strong&gt; observability (while important) is outside of scope for this document. For control plane observability, refer to &lt;a href="/contributions/design/eg-metrics/"&gt;here&lt;/a&gt;.

&lt;/div&gt;




&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy provide robust platform for metrics, Envoy support three different kinds of stats: counter, gauges, histograms.&lt;/p&gt;
&lt;p&gt;Envoy enables prometheus format output via the &lt;code&gt;/stats/prometheus&lt;/code&gt; &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/operations/admin"&gt;admin endpoint&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy support different kinds of sinks, but EG will only support &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/stat_sinks/open_telemetry/v3/open_telemetry.proto"&gt;Open Telemetry sink&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Data Plane Observability: Tracing</title><link>/contributions/design/proxy-tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/proxy-tracing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy supports extensible tracing to different sinks, Zipkin, OpenTelemetry etc. Overview of Envoy tracing can be found &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since tracing is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config tracing per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Only OpenTelemetry sink can be configured currently, you can use &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; to export to other tracing backends.&lt;/p&gt;</description></item><item><title>Debug support in Envoy Gateway</title><link>/contributions/design/pprof/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/pprof/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway exposes endpoints at &lt;code&gt;localhost:19000/debug/pprof&lt;/code&gt; to run Golang profiles to aid in live debugging.&lt;/p&gt;
&lt;p&gt;The endpoints are equivalent to those found in the http/pprof package. &lt;code&gt;/debug/pprof/&lt;/code&gt; returns an HTML page listing the available profiles.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add admin server to Envoy Gateway control plane, separated with admin server.&lt;/li&gt;
&lt;li&gt;Add pprof support to Envoy Gateway control plane.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to custom admin server configuration.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to open envoy gateway config dump in logs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following are the different types of profiles end-user can run:&lt;/p&gt;</description></item><item><title>Debug support in Envoy Gateway</title><link>/v0.6/design/pprof/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/pprof/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway exposes endpoints at &lt;code&gt;localhost:19000/debug/pprof&lt;/code&gt; to run Golang profiles to aid in live debugging.&lt;/p&gt;
&lt;p&gt;The endpoints are equivalent to those found in the http/pprof package. &lt;code&gt;/debug/pprof/&lt;/code&gt; returns an HTML page listing the available profiles.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add admin server to Envoy Gateway control plane, separated with admin server.&lt;/li&gt;
&lt;li&gt;Add pprof support to Envoy Gateway control plane.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to custom admin server configuration.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to open envoy gateway config dump in logs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following are the different types of profiles end-user can run:&lt;/p&gt;</description></item><item><title>Deploy Envoy Gateway in Air-Gapped Environments</title><link>/docs/tasks/operations/airgap-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/airgap-deployment/</guid><description>&lt;p&gt;Deploying the Envoy Gateway in an air-gapped environment using a Helm chart
requires careful configuration of the &lt;code&gt;values.yaml&lt;/code&gt; file as well as adjustments
when deploying a Gateway resource.&lt;/p&gt;
&lt;p&gt;You will need to specify custom image repositories for the following components
in the Helm chart. This can be done on a global level or image level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gateway&lt;/li&gt;
&lt;li&gt;Ratelimit&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gateway--valuesyaml-configuration"&gt;Gateway – &lt;code&gt;values.yaml&lt;/code&gt; Configuration&lt;a class="td-heading-self-link" href="#gateway--valuesyaml-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Example done in image level:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;deployment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;envoyGateway&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;repository&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;custom-cr.internal.io/envoyproxy/gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tag&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;v1.4.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It&amp;rsquo;s also possible to define the registry on a global level:&lt;/p&gt;</description></item><item><title>Deploy Envoy Gateway in Air-Gapped Environments</title><link>/latest/tasks/operations/airgap-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/airgap-deployment/</guid><description>&lt;p&gt;Deploying the Envoy Gateway in an air-gapped environment using a Helm chart
requires careful configuration of the &lt;code&gt;values.yaml&lt;/code&gt; file as well as adjustments
when deploying a Gateway resource.&lt;/p&gt;
&lt;p&gt;You will need to specify custom image repositories for the following components
in the Helm chart. This can be done on a global level or image level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gateway&lt;/li&gt;
&lt;li&gt;Ratelimit&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gateway--valuesyaml-configuration"&gt;Gateway – &lt;code&gt;values.yaml&lt;/code&gt; Configuration&lt;a class="td-heading-self-link" href="#gateway--valuesyaml-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Example done in image level:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;deployment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;envoyGateway&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;repository&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;custom-cr.internal.io/envoyproxy/gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tag&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;v1.4.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It&amp;rsquo;s also possible to define the registry on a global level:&lt;/p&gt;</description></item><item><title>Deploy Envoy Gateway in Air-Gapped Environments</title><link>/v1.4/tasks/operations/airgap-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/operations/airgap-deployment/</guid><description>&lt;p&gt;Deploying the Envoy Gateway in an air-gapped environment using a Helm chart
requires careful configuration of the &lt;code&gt;values.yaml&lt;/code&gt; file as well as adjustments
when deploying a Gateway resource.&lt;/p&gt;
&lt;p&gt;You will need to specify custom image repositories for the following components
in the Helm chart. This can be done on a global level or image level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gateway&lt;/li&gt;
&lt;li&gt;Ratelimit&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gateway--valuesyaml-configuration"&gt;Gateway – &lt;code&gt;values.yaml&lt;/code&gt; Configuration&lt;a class="td-heading-self-link" href="#gateway--valuesyaml-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Example done in image level:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;deployment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;envoyGateway&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;repository&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;custom-cr.internal.io/envoyproxy/gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tag&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;v1.4.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It&amp;rsquo;s also possible to define the registry on a global level:&lt;/p&gt;</description></item><item><title>Deploy Envoy Gateway in Air-Gapped Environments</title><link>/v1.5/tasks/operations/airgap-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/airgap-deployment/</guid><description>&lt;p&gt;Deploying the Envoy Gateway in an air-gapped environment using a Helm chart
requires careful configuration of the &lt;code&gt;values.yaml&lt;/code&gt; file as well as adjustments
when deploying a Gateway resource.&lt;/p&gt;
&lt;p&gt;You will need to specify custom image repositories for the following components
in the Helm chart. This can be done on a global level or image level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gateway&lt;/li&gt;
&lt;li&gt;Ratelimit&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gateway--valuesyaml-configuration"&gt;Gateway – &lt;code&gt;values.yaml&lt;/code&gt; Configuration&lt;a class="td-heading-self-link" href="#gateway--valuesyaml-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Example done in image level:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;deployment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;envoyGateway&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;repository&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;custom-cr.internal.io/envoyproxy/gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tag&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;v1.4.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It&amp;rsquo;s also possible to define the registry on a global level:&lt;/p&gt;</description></item><item><title>Deploy Envoy Gateway in Air-Gapped Environments</title><link>/v1.6/tasks/operations/airgap-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/airgap-deployment/</guid><description>&lt;p&gt;Deploying the Envoy Gateway in an air-gapped environment using a Helm chart
requires careful configuration of the &lt;code&gt;values.yaml&lt;/code&gt; file as well as adjustments
when deploying a Gateway resource.&lt;/p&gt;
&lt;p&gt;You will need to specify custom image repositories for the following components
in the Helm chart. This can be done on a global level or image level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gateway&lt;/li&gt;
&lt;li&gt;Ratelimit&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gateway--valuesyaml-configuration"&gt;Gateway – &lt;code&gt;values.yaml&lt;/code&gt; Configuration&lt;a class="td-heading-self-link" href="#gateway--valuesyaml-configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Example done in image level:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;deployment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;envoyGateway&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;repository&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;custom-cr.internal.io/envoyproxy/gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tag&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;v1.4.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It&amp;rsquo;s also possible to define the registry on a global level:&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/docs/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/docs/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/latest/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/latest/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v0.4/user/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/deployment-mode/</guid><description>&lt;h3 id="one-gatewayclass-per-envoy-gateway"&gt;One GatewayClass per Envoy Gateway&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Envoy Gateway can accept a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;
resource. If you&amp;rsquo;ve instantiated multiple GatewayClasses, we recommend running multiple Envoy Gateway controllers
in different namespaces, linking a GatewayClass to each of them.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClass is being tracked &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="supported-modes"&gt;Supported Modes&lt;a class="td-heading-self-link" href="#supported-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;




&lt;h4 id="kubernetes"&gt;Kubernetes&lt;a class="td-heading-self-link" href="#kubernetes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The current deployment model is - Envoy Gateway &lt;strong&gt;watches&lt;/strong&gt; for resources such a &lt;code&gt;Service&lt;/code&gt; &amp;amp; &lt;code&gt;HTTPRoute&lt;/code&gt; in &lt;strong&gt;all&lt;/strong&gt; namespaces
and &lt;strong&gt;creates&lt;/strong&gt; managed data plane resources such as EnvoyProxy &lt;code&gt;Deployment&lt;/code&gt; in the &lt;strong&gt;namespace where Envoy Gateway is running&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Support for alternate deployment modes is being tracked &lt;a href="https://github.com/envoyproxy/gateway/issues/1117"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multi-tenancy"&gt;Multi-tenancy&lt;a class="td-heading-self-link" href="#multi-tenancy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;




&lt;h4 id="kubernetes-1"&gt;Kubernetes&lt;a class="td-heading-self-link" href="#kubernetes-1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;tenant&lt;/code&gt; is a group within an organization (e.g. a team or department) who shares organizational resources. We recommend
each &lt;code&gt;tenant&lt;/code&gt; deploy their own Envoy Gateway controller in their respective &lt;code&gt;namespace&lt;/code&gt;. Below is an example of deploying Envoy Gateway
by the &lt;code&gt;marketing&lt;/code&gt; and &lt;code&gt;product&lt;/code&gt; teams in separate namespaces.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v0.5/user/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/deployment-mode/</guid><description>&lt;h3 id="one-gatewayclass-per-envoy-gateway"&gt;One GatewayClass per Envoy Gateway&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Envoy Gateway can accept a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;
resource. If you&amp;rsquo;ve instantiated multiple GatewayClasses, we recommend running multiple Envoy Gateway controllers
in different namespaces, linking a GatewayClass to each of them.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClass is being tracked &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="supported-modes"&gt;Supported Modes&lt;a class="td-heading-self-link" href="#supported-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;




&lt;h4 id="kubernetes"&gt;Kubernetes&lt;a class="td-heading-self-link" href="#kubernetes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The current deployment model is - Envoy Gateway &lt;strong&gt;watches&lt;/strong&gt; for resources such a &lt;code&gt;Service&lt;/code&gt; &amp;amp; &lt;code&gt;HTTPRoute&lt;/code&gt; in &lt;strong&gt;all&lt;/strong&gt; namespaces
and &lt;strong&gt;creates&lt;/strong&gt; managed data plane resources such as EnvoyProxy &lt;code&gt;Deployment&lt;/code&gt; in the &lt;strong&gt;namespace where Envoy Gateway is running&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Support for alternate deployment modes is being tracked &lt;a href="https://github.com/envoyproxy/gateway/issues/1117"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multi-tenancy"&gt;Multi-tenancy&lt;a class="td-heading-self-link" href="#multi-tenancy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;




&lt;h4 id="kubernetes-1"&gt;Kubernetes&lt;a class="td-heading-self-link" href="#kubernetes-1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;tenant&lt;/code&gt; is a group within an organization (e.g. a team or department) who shares organizational resources. We recommend
each &lt;code&gt;tenant&lt;/code&gt; deploy their own Envoy Gateway controller in their respective &lt;code&gt;namespace&lt;/code&gt;. Below is an example of deploying Envoy Gateway
by the &lt;code&gt;marketing&lt;/code&gt; and &lt;code&gt;product&lt;/code&gt; teams in separate namespaces.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v0.6/user/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/deployment-mode/</guid><description>&lt;h3 id="one-gatewayclass-per-envoy-gateway"&gt;One GatewayClass per Envoy Gateway&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Envoy Gateway can accept a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;
resource. If you&amp;rsquo;ve instantiated multiple GatewayClasses, we recommend running multiple Envoy Gateway controllers
in different namespaces, linking a GatewayClass to each of them.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClass is being tracked &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="supported-modes"&gt;Supported Modes&lt;a class="td-heading-self-link" href="#supported-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;




&lt;h4 id="kubernetes"&gt;Kubernetes&lt;a class="td-heading-self-link" href="#kubernetes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The default deployment model is - Envoy Gateway &lt;strong&gt;watches&lt;/strong&gt; for resources such a &lt;code&gt;Service&lt;/code&gt; &amp;amp; &lt;code&gt;HTTPRoute&lt;/code&gt; in &lt;strong&gt;all&lt;/strong&gt; namespaces
and &lt;strong&gt;creates&lt;/strong&gt; managed data plane resources such as EnvoyProxy &lt;code&gt;Deployment&lt;/code&gt; in the &lt;strong&gt;namespace where Envoy Gateway is running&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Envoy Gateway also supports &lt;strong&gt;Namespaced&lt;/strong&gt; deployment mode, you can watch resources in the specific namespaces by assigning
&lt;code&gt;EnvoyGateway.provider.kubernetes.watch.namespaces&lt;/code&gt; and &lt;strong&gt;creates&lt;/strong&gt; managed data plane resources in the &lt;strong&gt;namespace where Envoy Gateway is running&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Support for alternate deployment modes is being tracked &lt;a href="https://github.com/envoyproxy/gateway/issues/1117"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multi-tenancy"&gt;Multi-tenancy&lt;a class="td-heading-self-link" href="#multi-tenancy" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;




&lt;h4 id="kubernetes-1"&gt;Kubernetes&lt;a class="td-heading-self-link" href="#kubernetes-1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;tenant&lt;/code&gt; is a group within an organization (e.g. a team or department) who shares organizational resources. We recommend
each &lt;code&gt;tenant&lt;/code&gt; deploy their own Envoy Gateway controller in their respective &lt;code&gt;namespace&lt;/code&gt;. Below is an example of deploying Envoy Gateway
by the &lt;code&gt;marketing&lt;/code&gt; and &lt;code&gt;product&lt;/code&gt; teams in separate namespaces.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.0/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.0/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.1/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.1/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.2/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.2/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.3/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.3/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.4/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.4/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.5/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.5/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Deployment Mode</title><link>/v1.6/tasks/operations/deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/deployment-mode/</guid><description>&lt;h2 id="deployment-modes"&gt;Deployment modes&lt;a class="td-heading-self-link" href="#deployment-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="one-gatewayclass-per-envoy-gateway-controller"&gt;One GatewayClass per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#one-gatewayclass-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with a single &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resource under one controller.
This is the simplest deployment mode and is suitable for scenarios where each Gateway needs to have its own dedicated set of resources and configurations.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="multiple-gatewayclasses-per-envoy-gateway-controller"&gt;Multiple GatewayClasses per Envoy Gateway Controller&lt;a class="td-heading-self-link" href="#multiple-gatewayclasses-per-envoy-gateway-controller" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An Envoy Gateway is associated with multiple &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt; resources under one controller.&lt;/li&gt;
&lt;li&gt;Support for accepting multiple GatewayClasses was added &lt;a href="https://github.com/envoyproxy/gateway/issues/1231"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="separate-envoy-gateway-controllers"&gt;Separate Envoy Gateway Controllers&lt;a class="td-heading-self-link" href="#separate-envoy-gateway-controllers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;ve instantiated multiple GatewayClasses, you can also run separate Envoy Gateway controllers in different namespaces, linking a GatewayClass to each of them for multi-tenancy.
Please follow the example &lt;a href="/v1.6/tasks/operations/deployment-mode/#multi-tenancy"&gt;Multi-tenancy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/docs/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Note: the size of the response body (whether provided in-line or via a reference) cannot exceed 4096 bytes.&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/latest/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Note: the size of the response body (whether provided in-line or via a reference) cannot exceed 4096 bytes.&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/v1.2/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="apply from stdin" aria-controls="tabs-00-00" aria-selected="true"&gt;
 Apply from stdin
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="apply from file" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Apply from file
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#4e9a06"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: gateway.networking.k8s.io/v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: HTTPRoute
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: direct-response
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; parentRefs:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - name: eg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; hostnames:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - &amp;#34;www.example.com&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; rules:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - matches:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - path:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; type: PathPrefix
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; value: /inline
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; filters:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - type: ExtensionRef
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; extensionRef:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; group: gateway.envoyproxy.io
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; kind: HTTPRouteFilter
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: direct-response-inline
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - matches:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - path:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; type: PathPrefix
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; value: /value-ref
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; filters:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - type: ExtensionRef
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; extensionRef:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; group: gateway.envoyproxy.io
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; kind: HTTPRouteFilter
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: direct-response-value-ref
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: ConfigMap
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: value-ref-response
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;data:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; response.body: &amp;#39;{&amp;#34;error&amp;#34;: &amp;#34;Internal Server Error&amp;#34;}&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: gateway.envoyproxy.io/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: HTTPRouteFilter
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: direct-response-inline
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; directResponse:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; contentType: text/plain
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; statusCode: 503
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; body:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; type: Inline
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; inline: &amp;#34;Oops! Your request is not found.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: gateway.envoyproxy.io/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: HTTPRouteFilter
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: direct-response-value-ref
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; directResponse:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; contentType: application/json
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; statusCode: 500
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; body:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; type: ValueRef
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; valueRef:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; group: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; kind: ConfigMap
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: value-ref-response
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;p&gt;Save and apply the following resource to your cluster:&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/v1.3/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Note: the size of the response body (whether provided in-line or via a reference) cannot exceed 4096 bytes.&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/v1.4/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Note: the size of the response body (whether provided in-line or via a reference) cannot exceed 4096 bytes.&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/v1.5/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Note: the size of the response body (whether provided in-line or via a reference) cannot exceed 4096 bytes.&lt;/p&gt;</description></item><item><title>Direct Response</title><link>/v1.6/tasks/traffic/direct-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/direct-response/</guid><description>&lt;p&gt;Direct responses are valuable in cases where you want the gateway itself
to handle certain requests without forwarding them to backend services.
This task shows you how to configure them.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="testing-direct-response"&gt;Testing Direct Response&lt;a class="td-heading-self-link" href="#testing-direct-response" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Note: the size of the response body (whether provided in-line or via a reference) cannot exceed 4096 bytes.&lt;/p&gt;</description></item><item><title>egctl Design</title><link>/contributions/design/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/egctl/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EG should provide a command line tool with following capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collect configuration from envoy proxy and gateway&lt;/li&gt;
&lt;li&gt;Analyse system configuration to diagnose any issues in envoy gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tool is named &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="syntax"&gt;Syntax&lt;a class="td-heading-self-link" href="#syntax" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use the following syntax to run &lt;code&gt;egctl&lt;/code&gt; commands from your terminal window:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;egctl [command] [entity] [name] [flags]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;command&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, and &lt;code&gt;flags&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;command&lt;/code&gt;: Specifies the operation that you want to perform on one or more resources,
for example &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>egctl Design</title><link>/v0.4/design/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/egctl/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EG should provide a command line tool with following capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collect configuration from envoy proxy and gateway&lt;/li&gt;
&lt;li&gt;Analyse system configuration to diagnose any issues in envoy gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tool is named &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="syntax"&gt;Syntax&lt;a class="td-heading-self-link" href="#syntax" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use the following syntax to run &lt;code&gt;egctl&lt;/code&gt; commands from your terminal window:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;egctl [command] [entity] [name] [flags]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;command&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, and &lt;code&gt;flags&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;command&lt;/code&gt;: Specifies the operation that you want to perform on one or more resources,
for example &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>egctl Design</title><link>/v0.5/design/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/egctl/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EG should provide a command line tool with following capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collect configuration from envoy proxy and gateway&lt;/li&gt;
&lt;li&gt;Analyse system configuration to diagnose any issues in envoy gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tool is named &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="syntax"&gt;Syntax&lt;a class="td-heading-self-link" href="#syntax" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use the following syntax to run &lt;code&gt;egctl&lt;/code&gt; commands from your terminal window:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;egctl [command] [entity] [name] [flags]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;command&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, and &lt;code&gt;flags&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;command&lt;/code&gt;: Specifies the operation that you want to perform on one or more resources,
for example &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>egctl Design</title><link>/v0.6/design/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/egctl/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EG should provide a command line tool with following capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collect configuration from envoy proxy and gateway&lt;/li&gt;
&lt;li&gt;Analyse system configuration to diagnose any issues in envoy gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tool is named &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="syntax"&gt;Syntax&lt;a class="td-heading-self-link" href="#syntax" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use the following syntax to run &lt;code&gt;egctl&lt;/code&gt; commands from your terminal window:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;egctl [command] [entity] [name] [flags]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;command&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, and &lt;code&gt;flags&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;command&lt;/code&gt;: Specifies the operation that you want to perform on one or more resources,
for example &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Enterprise Support</title><link>/contributions/enterprise_support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/enterprise_support/</guid><description>&lt;h1 id="enterprise-support-for-envoy-gateway"&gt;Enterprise Support for Envoy Gateway&lt;a class="td-heading-self-link" href="#enterprise-support-for-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://gateway.envoyproxy.io"&gt;Envoy Gateway&lt;/a&gt; is a sub-project of &lt;a href="https://www.envoyproxy.io"&gt;Envoy&lt;/a&gt;,
a &lt;a href="https://www.cncf.io/projects/envoy/"&gt;graduated CNCF project&lt;/a&gt; under the &lt;a href="https://www.cncf.io"&gt;Cloud Native Computing Foundation (CNCF)&lt;/a&gt;,
which is a part of the &lt;a href="https://www.linuxfoundation.org"&gt;Linux Foundation&lt;/a&gt;, a 501(c)(6) nonprofit organization.&lt;/p&gt;



&lt;h2 id="professional-support--services"&gt;Professional Support &amp;amp; Services&lt;a class="td-heading-self-link" href="#professional-support--services" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While Envoy Gateway is open source and free to use, many organizations benefit from professional support, training, and consulting services to accelerate adoption and ensure production success.&lt;/p&gt;



&lt;h2 id="why-choose-enterprise-support"&gt;Why Choose Enterprise Support?&lt;a class="td-heading-self-link" href="#why-choose-enterprise-support" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;🛡️ &lt;strong&gt;Production Assurance&lt;/strong&gt; – Get expert guidance for mission-critical deployments with guaranteed response times and SLAs&lt;br&gt;
🚀 &lt;strong&gt;Faster Implementation&lt;/strong&gt; – Leverage professional services to accelerate your API gateway rollout and avoid common pitfalls&lt;br&gt;
📚 &lt;strong&gt;Training &amp;amp; Best Practices&lt;/strong&gt; – Access comprehensive training programs and learn proven deployment patterns from experts&lt;br&gt;
🔧 &lt;strong&gt;Custom Solutions&lt;/strong&gt; – Get help with complex integrations, custom policies, and advanced use cases&lt;/p&gt;</description></item><item><title>Envoy Gateway Extensions Design</title><link>/contributions/design/extending-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/extending-envoy-gateway/</guid><description>&lt;p&gt;As outlined in the &lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOALS.md#extensibility"&gt;official goals&lt;/a&gt; for the Envoy Gateway project, one of the main goals is to &amp;ldquo;provide a common foundation for vendors to build value-added products
without having to re-engineer fundamental interactions&amp;rdquo;. Development of the Envoy Gateway project has been focused on developing the core features for the project and
Kubernetes Gateway API conformance. This system focuses on the “common foundation for vendors” component by introducing a way for vendors to extend Envoy Gateway.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extensions Design</title><link>/v0.4/design/extending-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/extending-envoy-gateway/</guid><description>&lt;p&gt;As outlined in the &lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOALS.md#extensibility"&gt;official goals&lt;/a&gt; for the Envoy Gateway project, one of the main goals is to &amp;ldquo;provide a common foundation for vendors to build value-added products
without having to re-engineer fundamental interactions&amp;rdquo;. Development of the Envoy Gateway project has been focused on developing the core features for the project and
Kubernetes Gateway API conformance. This system focuses on the “common foundation for vendors” component by introducing a way for vendors to extend Envoy Gateway.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extensions Design</title><link>/v0.5/design/extending-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/extending-envoy-gateway/</guid><description>&lt;p&gt;As outlined in the &lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOALS.md#extensibility"&gt;official goals&lt;/a&gt; for the Envoy Gateway project, one of the main goals is to &amp;ldquo;provide a common foundation for vendors to build value-added products
without having to re-engineer fundamental interactions&amp;rdquo;. Development of the Envoy Gateway project has been focused on developing the core features for the project and
Kubernetes Gateway API conformance. This system focuses on the “common foundation for vendors” component by introducing a way for vendors to extend Envoy Gateway.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extensions Design</title><link>/v0.6/design/extending-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/extending-envoy-gateway/</guid><description>&lt;p&gt;As outlined in the &lt;a href="../goals#extensibility"&gt;official goals&lt;/a&gt; for the Envoy Gateway project, one of the main goals is to &amp;ldquo;provide a common foundation for vendors to build value-added products
without having to re-engineer fundamental interactions&amp;rdquo;. Development of the Envoy Gateway project has been focused on developing the core features for the project and
Kubernetes Gateway API conformance. This system focuses on the “common foundation for vendors” component by introducing a way for vendors to extend Envoy Gateway.&lt;/p&gt;</description></item><item><title>Envoy Gateway Resources</title><link>/v1.1/concepts/concepts_overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/concepts/concepts_overview/</guid><description>&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/envoy-gateway-resources-overview.png"&gt;&lt;/p&gt;
&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h3 id="kubernetes-gateway-api-resources"&gt;Kubernetes Gateway API Resources&lt;a class="td-heading-self-link" href="#kubernetes-gateway-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GatewayClass:&lt;/strong&gt; Defines a class of Gateways with common configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway:&lt;/strong&gt; Specifies how traffic can enter the cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routes:&lt;/strong&gt; &lt;strong&gt;HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, UDPRoute:&lt;/strong&gt; Define routing rules for different types of traffic.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="envoy-gateway-eg-api-resources"&gt;Envoy Gateway (EG) API Resources&lt;a class="td-heading-self-link" href="#envoy-gateway-eg-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EnvoyProxy:&lt;/strong&gt; Represents the deployment and configuration of the Envoy proxy within a Kubernetes cluster, managing its lifecycle and settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EnvoyPatchPolicy, ClientTrafficPolicy, SecurityPolicy, BackendTrafficPolicy, EnvoyExtensionPolicy, BackendTLSPolicy:&lt;/strong&gt; Additional policies and configurations specific to Envoy Gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend:&lt;/strong&gt; A resource that makes routing to cluster-external backends easier and makes access to external processes via Unix Domain Sockets possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;API&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;th&gt;References&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;Core&lt;/td&gt;
 &lt;td&gt;Defines a class of Gateways with common configuration.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;GatewayClass&lt;/td&gt;
 &lt;td&gt;Specifies how traffic can enter the cluster.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute"&gt;TLSRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Define routing rules for different types of traffic. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;For simplicity these resources are referenced collectively as Route in the References column&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/tasks/traffic/backend/"&gt;Backend&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Used for routing to cluster-external backends using FQDN or IP. Can also be used when you want to extend Envoy with external processes accessed via Unix Domain Sockets.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Specifies policies for handling client traffic, including rate limiting, retries, and other client-specific configurations.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway Route&lt;/td&gt;
 &lt;td&gt;Specifies policies for traffic directed towards backend services, including load balancing, health checks, and failover strategies. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Gateway Route&lt;/td&gt;
 &lt;td&gt;Defines security-related policies such as authentication, authorization, and encryption settings for traffic handled by Envoy Gateway. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Service&lt;/td&gt;
 &lt;td&gt;Defines TLS settings for backend connections, including certificate management, TLS version settings, and other security configurations. This policy is applied to Kubernetes Services.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass Gateway&lt;/td&gt;
 &lt;td&gt;The EnvoyProxy resource represents the deployment and configuration of the Envoy proxy itself within a Kubernetes cluster, managing its lifecycle and settings. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass Gateway&lt;/td&gt;
 &lt;td&gt;This policy defines custom patches to be applied to Envoy Gateway resources, allowing users to tailor the configuration to their specific needs. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.1/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;Gateway Route, Backend&lt;/td&gt;
 &lt;td&gt;Allows for the configuration of Envoy proxy extensions, enabling custom behavior and functionality. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Envoy Gateway Resources</title><link>/v1.2/concepts/concepts_overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/concepts/concepts_overview/</guid><description>&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/envoy-gateway-resources-overview.png"&gt;&lt;/p&gt;
&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h3 id="kubernetes-gateway-api-resources"&gt;Kubernetes Gateway API Resources&lt;a class="td-heading-self-link" href="#kubernetes-gateway-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GatewayClass:&lt;/strong&gt; Defines a class of Gateways with common configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway:&lt;/strong&gt; Specifies how traffic can enter the cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routes:&lt;/strong&gt; &lt;strong&gt;HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, UDPRoute:&lt;/strong&gt; Define routing rules for different types of traffic.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="envoy-gateway-eg-api-resources"&gt;Envoy Gateway (EG) API Resources&lt;a class="td-heading-self-link" href="#envoy-gateway-eg-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EnvoyProxy:&lt;/strong&gt; Represents the deployment and configuration of the Envoy proxy within a Kubernetes cluster, managing its lifecycle and settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EnvoyPatchPolicy, ClientTrafficPolicy, SecurityPolicy, BackendTrafficPolicy, EnvoyExtensionPolicy, BackendTLSPolicy:&lt;/strong&gt; Additional policies and configurations specific to Envoy Gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend:&lt;/strong&gt; A resource that makes routing to cluster-external backends easier and makes access to external processes via Unix Domain Sockets possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;API&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;th&gt;References&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;Core&lt;/td&gt;
 &lt;td&gt;Defines a class of Gateways with common configuration.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;GatewayClass&lt;/td&gt;
 &lt;td&gt;Specifies how traffic can enter the cluster.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute"&gt;TLSRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Define routing rules for different types of traffic. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;For simplicity these resources are referenced collectively as Route in the References column&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/tasks/traffic/backend/"&gt;Backend&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Used for routing to cluster-external backends using FQDN or IP. Can also be used when you want to extend Envoy with external processes accessed via Unix Domain Sockets.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Specifies policies for handling client traffic, including rate limiting, retries, and other client-specific configurations.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Specifies policies for traffic directed towards backend services, including load balancing, health checks, and failover strategies. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Defines security-related policies such as authentication, authorization, and encryption settings for traffic handled by Envoy Gateway. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Service&lt;/td&gt;
 &lt;td&gt;Defines TLS settings for backend connections, including certificate management, TLS version settings, and other security configurations. This policy is applied to Kubernetes Services.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;The EnvoyProxy resource represents the deployment and configuration of the Envoy proxy itself within a Kubernetes cluster, managing its lifecycle and settings. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;This policy defines custom patches to be applied to Envoy Gateway resources, allowing users to tailor the configuration to their specific needs. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;Gateway, Route, Backend&lt;/td&gt;
 &lt;td&gt;Allows for the configuration of Envoy proxy extensions, enabling custom behavior and functionality. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.2/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;HTTPRoute&lt;/td&gt;
 &lt;td&gt;Allows for the additional request/response processing.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Envoy Gateway Resources</title><link>/v1.3/concepts/concepts_overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/concepts_overview/</guid><description>&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/envoy-gateway-resources-overview.png"&gt;&lt;/p&gt;
&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h3 id="kubernetes-gateway-api-resources"&gt;Kubernetes Gateway API Resources&lt;a class="td-heading-self-link" href="#kubernetes-gateway-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GatewayClass:&lt;/strong&gt; Defines a class of Gateways with common configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway:&lt;/strong&gt; Specifies how traffic can enter the cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routes:&lt;/strong&gt; &lt;strong&gt;HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, UDPRoute:&lt;/strong&gt; Define routing rules for different types of traffic.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="envoy-gateway-eg-api-resources"&gt;Envoy Gateway (EG) API Resources&lt;a class="td-heading-self-link" href="#envoy-gateway-eg-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EnvoyProxy:&lt;/strong&gt; Represents the deployment and configuration of the Envoy proxy within a Kubernetes cluster, managing its lifecycle and settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EnvoyPatchPolicy, ClientTrafficPolicy, SecurityPolicy, BackendTrafficPolicy, EnvoyExtensionPolicy, BackendTLSPolicy:&lt;/strong&gt; Additional policies and configurations specific to Envoy Gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend:&lt;/strong&gt; A resource that makes routing to cluster-external backends easier and makes access to external processes via Unix Domain Sockets possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;API&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;th&gt;References&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;Core&lt;/td&gt;
 &lt;td&gt;Defines a class of Gateways with common configuration.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;GatewayClass&lt;/td&gt;
 &lt;td&gt;Specifies how traffic can enter the cluster.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute"&gt;TLSRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Define routing rules for different types of traffic. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;For simplicity these resources are referenced collectively as Route in the References column&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/tasks/traffic/backend/"&gt;Backend&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Used for routing to cluster-external backends using FQDN or IP. Can also be used when you want to extend Envoy with external processes accessed via Unix Domain Sockets.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Specifies policies for handling client traffic, including rate limiting, retries, and other client-specific configurations.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Specifies policies for traffic directed towards backend services, including load balancing, health checks, and failover strategies. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Defines security-related policies such as authentication, authorization, and encryption settings for traffic handled by Envoy Gateway. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Service&lt;/td&gt;
 &lt;td&gt;Defines TLS settings for backend connections, including certificate management, TLS version settings, and other security configurations. This policy is applied to Kubernetes Services.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;The EnvoyProxy resource represents the deployment and configuration of the Envoy proxy itself within a Kubernetes cluster, managing its lifecycle and settings. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;This policy defines custom patches to be applied to Envoy Gateway resources, allowing users to tailor the configuration to their specific needs. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;Gateway, Route, Backend&lt;/td&gt;
 &lt;td&gt;Allows for the configuration of Envoy proxy extensions, enabling custom behavior and functionality. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.3/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;HTTPRoute&lt;/td&gt;
 &lt;td&gt;Allows for the additional request/response processing.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Envoy Gateway Resources</title><link>/v1.4/concepts/concepts_overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/concepts_overview/</guid><description>&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/envoy-gateway-resources-overview.png"&gt;&lt;/p&gt;
&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h3 id="kubernetes-gateway-api-resources"&gt;Kubernetes Gateway API Resources&lt;a class="td-heading-self-link" href="#kubernetes-gateway-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GatewayClass:&lt;/strong&gt; Defines a class of Gateways with common configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway:&lt;/strong&gt; Specifies how traffic can enter the cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routes:&lt;/strong&gt; &lt;strong&gt;HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, UDPRoute:&lt;/strong&gt; Define routing rules for different types of traffic.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="envoy-gateway-eg-api-resources"&gt;Envoy Gateway (EG) API Resources&lt;a class="td-heading-self-link" href="#envoy-gateway-eg-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EnvoyProxy:&lt;/strong&gt; Represents the deployment and configuration of the Envoy proxy within a Kubernetes cluster, managing its lifecycle and settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EnvoyPatchPolicy, ClientTrafficPolicy, SecurityPolicy, BackendTrafficPolicy, EnvoyExtensionPolicy, BackendTLSPolicy:&lt;/strong&gt; Additional policies and configurations specific to Envoy Gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend:&lt;/strong&gt; A resource that makes routing to cluster-external backends easier and makes access to external processes via Unix Domain Sockets possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;API&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;th&gt;References&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;Core&lt;/td&gt;
 &lt;td&gt;Defines a class of Gateways with common configuration.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;GatewayClass&lt;/td&gt;
 &lt;td&gt;Specifies how traffic can enter the cluster.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.TLSRoute"&gt;TLSRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Define routing rules for different types of traffic. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;For simplicity these resources are referenced collectively as Route in the References column&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/tasks/traffic/backend/"&gt;Backend&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Used for routing to cluster-external backends using FQDN or IP. Can also be used when you want to extend Envoy with external processes accessed via Unix Domain Sockets.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Specifies policies for handling client traffic, including rate limiting, retries, and other client-specific configurations.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Specifies policies for traffic directed towards backend services, including load balancing, health checks, and failover strategies. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Defines security-related policies such as authentication, authorization, and encryption settings for traffic handled by Envoy Gateway. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Service&lt;/td&gt;
 &lt;td&gt;Defines TLS settings for backend connections, including certificate management, TLS version settings, and other security configurations. This policy is applied to Kubernetes Services.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;The EnvoyProxy resource represents the deployment and configuration of the Envoy proxy itself within a Kubernetes cluster, managing its lifecycle and settings. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;This policy defines custom patches to be applied to Envoy Gateway resources, allowing users to tailor the configuration to their specific needs. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;Gateway, Route, Backend&lt;/td&gt;
 &lt;td&gt;Allows for the configuration of Envoy proxy extensions, enabling custom behavior and functionality. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;HTTPRoute&lt;/td&gt;
 &lt;td&gt;Allows for the additional request/response processing.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Envoy Patch Policy</title><link>/docs/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/latest/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v0.5/user/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/envoy-patch-policy/</guid><description>&lt;p&gt;This guide explains the usage of the &lt;a href="/v0.5/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="/v0.5/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v0.6/user/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/envoy-patch-policy/</guid><description>&lt;p&gt;This guide explains the usage of the &lt;a href="/v0.6/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="/v0.6/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.0/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.1/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.2/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.3/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.4/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.5/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>Envoy Patch Policy</title><link>/v1.6/tasks/extensibility/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/extensibility/envoy-patch-policy/</guid><description>&lt;p&gt;This task explains the usage of the &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API.
&lt;strong&gt;Note:&lt;/strong&gt; This API is meant for users extremely familiar with Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; semantics.
Also before considering this API for production use cases, please be aware that this API
is unstable and the outcome may change across versions. Use at your own risk.&lt;/p&gt;



&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="../../../api/extension_types#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt; API allows user to modify the output &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt;
configuration generated by Envoy Gateway intended for EnvoyProxy,
using &lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;JSON Patch&lt;/a&gt; semantics.&lt;/p&gt;</description></item><item><title>EnvoyExtensionPolicy</title><link>/contributions/design/envoy-extension-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/envoy-extension-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;EnvoyExtensionPolicy&lt;/code&gt; API allowing system administrators to configure traffic
processing extensibility policies, based on existing Network and HTTP Envoy proxy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/extending/extending"&gt;extension points&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway already provides two methods of control plane extensibility that can be used to achieve this functionality:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/api/extension_types/#envoypatchpolicy"&gt;Envoy Patch Policy&lt;/a&gt; can be used to patch Listener filters and HTTP Connection Manager filters.&lt;/li&gt;
&lt;li&gt;&lt;a href="/contributions/design/extending-envoy-gateway/"&gt;Envoy Extension Manager&lt;/a&gt; can be used to programmatically mutate Listener filters and HTTP Connection Manager filters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These approaches require a high level of Envoy and Envoy Gateway expertise and may create a significant operational
burden for users (see &lt;a href="/contributions/design/envoy-extension-policy/#Alternatives"&gt;Alternatives&lt;/a&gt; for more details). For this reason, this document proposes to support Envoy
data plane extensibility options as first class citizens of Envoy Gateway.&lt;/p&gt;</description></item><item><title>EnvoyPatchPolicy</title><link>/contributions/design/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/envoy-patch-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design introduces the &lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; API allowing users to modify the generated Envoy xDS Configuration
that Envoy Gateway generates before sending it to Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows users to configure networking and security intent using the
upstream &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; as well as implementation specific &lt;a href="/latest/api/extension_types/"&gt;Extension APIs&lt;/a&gt; defined in this project
to provide a more batteries included experience for application developers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;These APIs are an abstracted version of the underlying Envoy xDS API to provide a better user experience for the application developer, exposing and setting only a subset of the fields for a specific feature, sometimes in a opinionated way (e.g &lt;a href="/contributions/design/rate-limit/"&gt;RateLimit&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;These APIs do not expose all the features capabilities that Envoy has either because these features are desired but the API
is not defined yet or the project cannot support such an extensive list of features.
To alleviate this problem, and provide an interim solution for a small section of advanced users who are well versed in
Envoy xDS API and its capabilities, this API is being introduced.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API allowing users to modify the generated xDS Configuration&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support multiple patch mechanisims&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment/#direct-policy-attachment"&gt;Direct Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
Modifications to the generated xDS configuration can be provided as a JSON Patch which is defined in
&lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;RFC 6902&lt;/a&gt;. This patching mechanism has been adopted in &lt;a href="https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/"&gt;Kubernetes&lt;/a&gt; as well as &lt;a href="https://github.com/kubernetes-sigs/kustomize/blob/master/examples/jsonpatch.md"&gt;Kustomize&lt;/a&gt; to update
resource objects.&lt;/p&gt;</description></item><item><title>EnvoyPatchPolicy</title><link>/v0.5/design/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/envoy-patch-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design introduces the &lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; API allowing users to modify the generated Envoy xDS Configuration
that Envoy Gateway generates before sending it to Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows users to configure networking and security intent using the
upstream &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; as well as implementation specific &lt;a href="/v0.5/api/extension_types/"&gt;Extension APIs&lt;/a&gt; defined in this project
to provide a more batteries included experience for application developers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;These APIs are an abstracted version of the underlying Envoy xDS API to provide a better user experience for the application developer, exposing and setting only a subset of the fields for a specific feature, sometimes in a opinionated way (e.g &lt;a href="/v0.5/user/rate-limit/"&gt;RateLimit&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;These APIs do not expose all the features capabilities that Envoy has either because these features are desired but the API
is not defined yet or the project cannot support such an extensive list of features.
To alleviate this problem, and provide an interim solution for a small section of advanced users who are well versed in
Envoy xDS API and its capabilities, this API is being introduced.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API allowing users to modify the generated xDS Configuration&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support multiple patch mechanisims&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment/#direct-policy-attachment"&gt;Direct Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
Modifications to the generated xDS configuration can be provided as a JSON Patch which is defined in
&lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;RFC 6902&lt;/a&gt;. This patching mechanism has been adopted in &lt;a href="https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/"&gt;Kubernetes&lt;/a&gt; as well as &lt;a href="https://github.com/kubernetes-sigs/kustomize/blob/master/examples/jsonpatch.md"&gt;Kustomize&lt;/a&gt; to update
resource objects.&lt;/p&gt;</description></item><item><title>EnvoyPatchPolicy</title><link>/v0.6/design/envoy-patch-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/envoy-patch-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design introduces the &lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; API allowing users to modify the generated Envoy xDS Configuration
that Envoy Gateway generates before sending it to Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows users to configure networking and security intent using the
upstream &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; as well as implementation specific &lt;a href="/v0.6/api/extension_types/"&gt;Extension APIs&lt;/a&gt; defined in this project
to provide a more batteries included experience for application developers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;These APIs are an abstracted version of the underlying Envoy xDS API to provide a better user experience for the application developer, exposing and setting only a subset of the fields for a specific feature, sometimes in a opinionated way (e.g &lt;a href="/v0.6/user/rate-limit/"&gt;RateLimit&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;These APIs do not expose all the features capabilities that Envoy has either because these features are desired but the API
is not defined yet or the project cannot support such an extensive list of features.
To alleviate this problem, and provide an interim solution for a small section of advanced users who are well versed in
Envoy xDS API and its capabilities, this API is being introduced.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API allowing users to modify the generated xDS Configuration&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support multiple patch mechanisms&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;EnvoyPatchPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment/#direct-policy-attachment"&gt;Direct Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
Modifications to the generated xDS configuration can be provided as a JSON Patch which is defined in
&lt;a href="https://datatracker.ietf.org/doc/html/rfc6902"&gt;RFC 6902&lt;/a&gt;. This patching mechanism has been adopted in &lt;a href="https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/"&gt;Kubernetes&lt;/a&gt; as well as &lt;a href="https://github.com/kubernetes-sigs/kustomize/blob/master/examples/jsonpatch.md"&gt;Kustomize&lt;/a&gt; to update
resource objects.&lt;/p&gt;</description></item><item><title>Extension APIs</title><link>/v0.3/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.3/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.3/api/extension_types/#authenticationfilter"&gt;AuthenticationFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.3/api/extension_types/#ratelimitfilter"&gt;RateLimitFilter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="authenticationfilter"&gt;AuthenticationFilter&lt;a class="td-heading-self-link" href="#authenticationfilter" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gateway.envoyproxy.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;AuthenticationFilter&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata&lt;/code&gt; &lt;em&gt;&lt;a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#objectmeta-v1-meta"&gt;ObjectMeta&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Refer to Kubernetes API documentation for fields of &lt;code&gt;metadata&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.3/api/extension_types/#authenticationfilterspec"&gt;AuthenticationFilterSpec&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Spec defines the desired state of the AuthenticationFilter type.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="authenticationfilterspec"&gt;AuthenticationFilterSpec&lt;a class="td-heading-self-link" href="#authenticationfilterspec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;AuthenticationFilterSpec defines the desired state of the AuthenticationFilter type.&lt;/p&gt;</description></item><item><title>Extension APIs</title><link>/v0.4/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.4/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.4/api/extension_types/#authenticationfilter"&gt;AuthenticationFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.4/api/extension_types/#ratelimitfilter"&gt;RateLimitFilter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="authenticationfilter"&gt;AuthenticationFilter&lt;a class="td-heading-self-link" href="#authenticationfilter" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gateway.envoyproxy.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;AuthenticationFilter&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata&lt;/code&gt; &lt;em&gt;&lt;a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#objectmeta-v1-meta"&gt;ObjectMeta&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Refer to Kubernetes API documentation for fields of &lt;code&gt;metadata&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.4/api/extension_types/#authenticationfilterspec"&gt;AuthenticationFilterSpec&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Spec defines the desired state of the AuthenticationFilter type.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="authenticationfilterspec"&gt;AuthenticationFilterSpec&lt;a class="td-heading-self-link" href="#authenticationfilterspec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;AuthenticationFilterSpec defines the desired state of the AuthenticationFilter type.&lt;/p&gt;</description></item><item><title>Extension APIs</title><link>/v0.5/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/api/extension_types/#authenticationfilter"&gt;AuthenticationFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.5/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.5/api/extension_types/#envoypatchpolicylist"&gt;EnvoyPatchPolicyList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.5/api/extension_types/#ratelimitfilter"&gt;RateLimitFilter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="authenticationfilter"&gt;AuthenticationFilter&lt;a class="td-heading-self-link" href="#authenticationfilter" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gateway.envoyproxy.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt; &lt;em&gt;string&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;AuthenticationFilter&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata&lt;/code&gt; &lt;em&gt;&lt;a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#objectmeta-v1-meta"&gt;ObjectMeta&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Refer to Kubernetes API documentation for fields of &lt;code&gt;metadata&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec&lt;/code&gt; &lt;em&gt;&lt;a href="/v0.5/api/extension_types/#authenticationfilterspec"&gt;AuthenticationFilterSpec&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;Spec defines the desired state of the AuthenticationFilter type.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="authenticationfilterspec"&gt;AuthenticationFilterSpec&lt;a class="td-heading-self-link" href="#authenticationfilterspec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;AuthenticationFilterSpec defines the desired state of the AuthenticationFilter type.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/docs/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/latest/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/v1.1/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/v1.2/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/v1.3/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/v1.4/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/v1.5/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>Envoy Gateway Extension Server</title><link>/v1.6/tasks/extensibility/extension-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/extensibility/extension-server/</guid><description>&lt;p&gt;This task explains how to extend Envoy Gateway using an Extension Server. Envoy Gateway
can be configured to call an external server over gRPC with the xDS configuration &lt;em&gt;before&lt;/em&gt;
it is sent to Envoy Proxy. The external server can modify the provided configuration
programmatically using any semantics supported by the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration"&gt;xDS&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;Using an extension server allows vendors to add xDS configuration that Envoy Gateway itself
doesn&amp;rsquo;t support with a very high level of control over the generated xDS configuration.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/docs/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/latest/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.0/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/ext-auth/</guid><description>&lt;p&gt;This guide provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.1/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.2/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.3/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.4/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.5/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Authorization</title><link>/v1.6/tasks/security/ext-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/ext-auth/</guid><description>&lt;p&gt;This task provides instructions for configuring external authentication.&lt;/p&gt;
&lt;p&gt;External authorization calls an external HTTP or gRPC service to check whether an incoming HTTP request is authorized
or not. If the request is deemed unauthorized, then the request will be denied with a 403 (Forbidden) response. If the
request is authorized, then the request will be allowed to proceed to the backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure external authorization.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/docs/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/latest/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/v1.1/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/v1.2/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/v1.3/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/v1.4/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/v1.5/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>External Processing</title><link>/v1.6/tasks/extensibility/ext-proc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/extensibility/ext-proc/</guid><description>&lt;p&gt;This task provides instructions for configuring external processing.&lt;/p&gt;
&lt;p&gt;External processing calls an external gRPC service to process HTTP requests and responses.
The external processing service can inspect and mutate requests and responses.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure external processing.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Failover</title><link>/docs/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Failover</title><link>/latest/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Failover</title><link>/v1.2/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Failover</title><link>/v1.3/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Failover</title><link>/v1.4/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Failover</title><link>/v1.5/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Failover</title><link>/v1.6/tasks/traffic/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/failover/</guid><description>&lt;p&gt;Active-passive failover in an API gateway setup is like having a backup plan in place to keep things
running smoothly if something goes wrong. Here’s why it’s valuable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Staying Online: When the main (or &amp;ldquo;active&amp;rdquo;) backend has issues or goes offline,
the fallback (or &amp;ldquo;passive&amp;rdquo;) backend is ready to step in instantly.
This helps keep your API accessible and your services running, so users don’t even notice any interruptions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Automatic Switch Over: If a problem occurs, the system can automatically switch traffic over to the fallback backend.
This avoids needing someone to jump in and fix things manually, which could take time and might even lead to mistakes.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/docs/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/latest/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.0/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.1/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.2/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.3/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.4/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.5/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fault Injection</title><link>/v1.6/tasks/traffic/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/fault-injection/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html"&gt;Envoy fault injection&lt;/a&gt; can be used to inject delays and abort requests to mimic failure scenarios such as service failures and overloads.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following fault scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;delay fault&lt;/strong&gt;: inject a custom fixed delay into the request with a certain probability to simulate delay failures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;abort fault&lt;/strong&gt;: inject a custom response code into the response with a certain probability to simulate abort failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired fault scenarios.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Fuzzing</title><link>/contributions/design/fuzzing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/fuzzing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces &lt;strong&gt;Fuzz Testing&lt;/strong&gt; in Envoy Gateway.
Its goal is to detect unexpected crashes, memory leaks, and undefined behaviors in the translation of Gateway
API resources and configuration parsing, areas that may not be fully covered by unit tests.&lt;/p&gt;
&lt;p&gt;Additionally, &lt;a href="https://github.com/google/oss-fuzz"&gt;OSS-Fuzz&lt;/a&gt;
provides a continuous fuzzing infrastructure for popular open-source projects. By writing fuzz tests,
we can leverage OSS-Fuzz to continuously fuzz Envoy Gateway against a wide range of inputs,
improving its resilience and reliability.&lt;/p&gt;</description></item><item><title>Gateway</title><link>/docs/api/gateway_api/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/gateway_api/gateway/</guid><description>&lt;pre&gt;&lt;code&gt;The `Gateway` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.
When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is
provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;
controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other
resources in this API are configuration snippets until a Gateway has been
created to link the resources together.&lt;/p&gt;</description></item><item><title>Gateway</title><link>/latest/api/gateway_api/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/gateway_api/gateway/</guid><description>&lt;pre&gt;&lt;code&gt;The `Gateway` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.
When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is
provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;
controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other
resources in this API are configuration snippets until a Gateway has been
created to link the resources together.&lt;/p&gt;</description></item><item><title>Gateway</title><link>/v1.3/api/gateway_api/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/gateway_api/gateway/</guid><description>&lt;pre&gt;&lt;code&gt;The `Gateway` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.
When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is
provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;
controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other
resources in this API are configuration snippets until a Gateway has been
created to link the resources together.&lt;/p&gt;</description></item><item><title>Gateway</title><link>/v1.4/api/gateway_api/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/gateway_api/gateway/</guid><description>&lt;pre&gt;&lt;code&gt;The `Gateway` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](../concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.
When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is
provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;
controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other
resources in this API are configuration snippets until a Gateway has been
created to link the resources together.&lt;/p&gt;</description></item><item><title>Gateway</title><link>/v1.5/api/gateway_api/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/gateway_api/gateway/</guid><description>&lt;pre&gt;&lt;code&gt;The `Gateway` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.
When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is
provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;
controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other
resources in this API are configuration snippets until a Gateway has been
created to link the resources together.&lt;/p&gt;</description></item><item><title>Gateway</title><link>/v1.6/api/gateway_api/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/gateway_api/gateway/</guid><description>&lt;pre&gt;&lt;code&gt;The `Gateway` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;Gateway&lt;/code&gt; is 1:1 with the lifecycle of the configuration of infrastructure.
When a user creates a &lt;code&gt;Gateway&lt;/code&gt;, some load balancing infrastructure is
provisioned or configured (see below for details) by the &lt;code&gt;GatewayClass&lt;/code&gt;
controller. &lt;code&gt;Gateway&lt;/code&gt; is the resource that triggers actions in this API. Other
resources in this API are configuration snippets until a Gateway has been
created to link the resources together.&lt;/p&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/docs/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;0.9.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.117.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.envoyals.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9000&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoyals&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.address&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.level&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.host&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;localhost&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.121.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.appProtocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;CustomResourceStateMetrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayClassName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;allowedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespaces&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;from&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.hostname[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.protocol[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;protocol&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tls&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;mode&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway listener information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listener_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attachedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Number of attached routes for a listener&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_listener_attached_routes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.value[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;addresses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway address types and values&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_address_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gatewayclass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.labelsFromPath.features&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;supportedFeatures&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;List of supported features for the GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_supported_features&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;HTTPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_httproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GRPCRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_grpcroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tcproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TLSRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tlsroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;UDPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_udproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;BackendTLSPolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha3&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_backendtlspolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;targetRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Target references that the backendtlspolicy wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;target_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].apiGroups[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateways&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayclasses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;httproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[3]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpcroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[4]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tcproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[5]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tlsroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[6]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;udproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[7]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;backendtlspolicies&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;list&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;watch&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/latest/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.55.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;1.5.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;10.5.13&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;6.51.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.144.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;28.6.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[1].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[1].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[1].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://tempo:3100&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[2].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[2].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[2].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki:3100&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.env.GF_AUTH_ANONYMOUS_ENABLED&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.env.GF_AUTH_ANONYMOUS_ORG_ROLE&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.env.GF_AUTH_BASIC_ENABLED&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;false&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.env.GF_SECURITY_ADMIN_PASSWORD&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.env.GF_SECURITY_ADMIN_USER&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.chunksCache.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.instance_addr&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${INSTANCE_ADDR}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.ring.kvstore.store&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.limits_config.otlp_config.resource_attributes.attributes_config[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;index_label&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.limits_config.otlp_config.resource_attributes.attributes_config[0].attributes[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;exporter&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.useTestSchema&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.resultsCache.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.extraArgs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;-config.expand-env=true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.extraEnv[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;INSTANCE_ADDR&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.extraEnv[0].valueFrom.fieldRef.fieldPath&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status.podIP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlphttp/loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.transform/loki.log_statements[0].context&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;log&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.transform/loki.log_statements[0].statements[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;set(resource.attributes[\&amp;quot;exporter\&amp;quot;], \&amp;quot;OTLP\&amp;quot;)&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.transform/loki.log_statements[0].statements[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;set(resource.attributes[\&amp;quot;k8s.namespace.name\&amp;quot;], log.attributes[\&amp;quot;k8s.namespace.name\&amp;quot;])&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.transform/loki.log_statements[0].statements[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;delete_key(log.attributes, \&amp;quot;k8s.namespace.name\&amp;quot;)&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.envoyals.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9000&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlphttp/loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;transform/loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoyals&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.level&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.host&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;localhost&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.144.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.appProtocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.presets.kubernetesAttributes.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;CustomResourceStateMetrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayClassName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;allowedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespaces&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;from&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.hostname[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.protocol[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;protocol&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tls&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;mode&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway listener information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listener_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attachedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Number of attached routes for a listener&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_listener_attached_routes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.value[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;addresses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway address types and values&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_address_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gatewayclass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.labelsFromPath.features&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;supportedFeatures&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;List of supported features for the GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_supported_features&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;HTTPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_httproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GRPCRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_grpcroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tcproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TLSRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tlsroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;UDPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_udproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;BackendTLSPolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha3&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_backendtlspolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;targetRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Target references that the backendtlspolicy wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;target_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].apiGroups[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateways&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayclasses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;httproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[3]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpcroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[4]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tcproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[5]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tlsroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[6]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;udproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[7]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;backendtlspolicies&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;list&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;watch&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/v1.1/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.73.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.logging.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.0.0.0:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${env:MY_POD_IP}:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${env:MY_POD_IP}:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${env:MY_POD_IP}:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/v1.2/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;0.9.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.108.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.address&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/v1.3/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;0.9.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.117.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.envoyals.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9000&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoyals&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.address&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.level&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.host&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;localhost&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.121.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.appProtocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;CustomResourceStateMetrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayClassName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;allowedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespaces&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;from&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.hostname[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.protocol[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;protocol&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tls&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;mode&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway listener information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listener_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attachedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Number of attached routes for a listener&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_listener_attached_routes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.value[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;addresses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway address types and values&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_address_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gatewayclass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.labelsFromPath.features&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;supportedFeatures&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;List of supported features for the GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_supported_features&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;HTTPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_httproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GRPCRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_grpcroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tcproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TLSRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tlsroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;UDPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_udproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;BackendTLSPolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha3&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_backendtlspolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;targetRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Target references that the backendtlspolicy wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;target_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].apiGroups[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateways&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayclasses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;httproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[3]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpcroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[4]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tcproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[5]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tlsroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[6]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;udproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[7]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;backendtlspolicies&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;list&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;watch&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/v1.4/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;0.9.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.117.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.envoyals.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9000&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoyals&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.address&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.level&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.host&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;localhost&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.121.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.appProtocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;CustomResourceStateMetrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayClassName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;allowedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespaces&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;from&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.hostname[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.protocol[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;protocol&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tls&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;mode&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway listener information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listener_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attachedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Number of attached routes for a listener&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_listener_attached_routes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.value[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;addresses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway address types and values&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_address_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gatewayclass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.labelsFromPath.features&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;supportedFeatures&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;List of supported features for the GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_supported_features&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;HTTPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_httproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GRPCRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_grpcroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tcproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TLSRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tlsroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;UDPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_udproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;BackendTLSPolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha3&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_backendtlspolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;targetRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Target references that the backendtlspolicy wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;target_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].apiGroups[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateways&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayclasses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;httproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[3]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpcroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[4]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tcproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[5]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tlsroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[6]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;udproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[7]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;backendtlspolicies&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;list&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;watch&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/v1.5/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;0.9.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.117.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.envoyals.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9000&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoyals&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.address&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.level&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.host&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;localhost&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.121.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.appProtocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;CustomResourceStateMetrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayClassName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;allowedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespaces&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;from&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.hostname[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.protocol[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;protocol&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tls&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;mode&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway listener information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listener_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attachedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Number of attached routes for a listener&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_listener_attached_routes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.value[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;addresses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway address types and values&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_address_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gatewayclass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.labelsFromPath.features&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;supportedFeatures&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;List of supported features for the GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_supported_features&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;HTTPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_httproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GRPCRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_grpcroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tcproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TLSRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tlsroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;UDPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_udproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;BackendTLSPolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha3&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_backendtlspolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;targetRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Target references that the backendtlspolicy wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;target_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].apiGroups[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateways&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayclasses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;httproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[3]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpcroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[4]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tcproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[5]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tlsroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[6]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;udproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[7]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;backendtlspolicies&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;list&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;watch&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Addons Helm Chart</title><link>/v1.6/install/gateway-addons-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/gateway-addons-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;An Add-ons Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Repository&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://fluent.github.io/helm-charts"&gt;https://fluent.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;fluent-bit&lt;/td&gt;
 &lt;td&gt;0.30.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;alloy&lt;/td&gt;
 &lt;td&gt;0.9.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;grafana&lt;/td&gt;
 &lt;td&gt;8.0.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;loki&lt;/td&gt;
 &lt;td&gt;4.8.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://grafana.github.io/helm-charts"&gt;https://grafana.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;tempo&lt;/td&gt;
 &lt;td&gt;1.3.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://open-telemetry.github.io/opentelemetry-helm-charts"&gt;https://open-telemetry.github.io/opentelemetry-helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;opentelemetry-collector&lt;/td&gt;
 &lt;td&gt;0.117.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://prometheus-community.github.io/helm-charts"&gt;https://prometheus-community.github.io/helm-charts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;prometheus&lt;/td&gt;
 &lt;td&gt;25.21.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.alloy.configMap.content&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;// Write your Alloy config here:\nlogging {\n level = \&amp;quot;info\&amp;quot;\n format = \&amp;quot;logfmt\&amp;quot;\n}\nloki.write \&amp;quot;alloy\&amp;quot; {\n endpoint {\n url = \&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push\&amp;quot;\n }\n}\n// discovery.kubernetes allows you to find scrape targets from Kubernetes resources.\n// It watches cluster state and ensures targets are continually synced with what is currently running in your cluster.\ndiscovery.kubernetes \&amp;quot;pod\&amp;quot; {\n role = \&amp;quot;pod\&amp;quot;\n}\n\n// discovery.relabel rewrites the label set of the input targets by applying one or more relabeling rules.\n// If no rules are defined, then the input targets are exported as-is.\ndiscovery.relabel \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.kubernetes.pod.targets\n\n // Label creation - \&amp;quot;namespace\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;namespace\&amp;quot;\n }\n\n // Label creation - \&amp;quot;pod\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;pod\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container\&amp;quot;\n }\n\n // Label creation - \&amp;quot;app\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_label_app_kubernetes_io_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;app\&amp;quot;\n }\n\n // Label creation - \&amp;quot;job\&amp;quot; field from \&amp;quot;__meta_kubernetes_namespace\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_namespace/__meta_kubernetes_pod_container_name\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_namespace\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;job\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_uid\&amp;quot; and \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;\n // Concatenate values __meta_kubernetes_pod_uid/__meta_kubernetes_pod_container_name.log\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_uid\&amp;quot;, \&amp;quot;__meta_kubernetes_pod_container_name\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;__path__\&amp;quot;\n separator = \&amp;quot;/\&amp;quot;\n replacement = \&amp;quot;/var/log/pods/*$1/*.log\&amp;quot;\n }\n\n // Label creation - \&amp;quot;container_runtime\&amp;quot; field from \&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;\n rule {\n source_labels = [\&amp;quot;__meta_kubernetes_pod_container_id\&amp;quot;]\n action = \&amp;quot;replace\&amp;quot;\n target_label = \&amp;quot;container_runtime\&amp;quot;\n regex = \&amp;quot;^(\\\\S+):\\\\/\\\\/.+$\&amp;quot;\n replacement = \&amp;quot;$1\&amp;quot;\n }\n}\n\n// loki.source.kubernetes tails logs from Kubernetes containers using the Kubernetes API.\nloki.source.kubernetes \&amp;quot;pod_logs\&amp;quot; {\n targets = discovery.relabel.pod_logs.output\n forward_to = [loki.process.pod_logs.receiver]\n}\n// loki.process receives log entries from other Loki components, applies one or more processing stages,\n// and forwards the results to the list of receivers in the component’s arguments.\nloki.process \&amp;quot;pod_logs\&amp;quot; {\n stage.static_labels {\n values = {\n cluster = \&amp;quot;envoy-gateway\&amp;quot;,\n }\n }\n\n forward_to = [loki.write.alloy.receiver]\n}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alloy.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;alloy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;dashboard.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.filters&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log Off\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n\n[FILTER]\n Name grep\n Match kube.*\n Regex $kubernetes['container_name'] ^envoy$\n\n[FILTER]\n Name parser\n Match kube.*\n Key_Name log\n Parser envoy\n Reserve_Data True\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.inputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[INPUT]\n Name tail\n Path /var/log/containers/*.log\n multiline.parser docker, cri\n Tag kube.*\n Mem_Buf_Limit 5MB\n Skip_Long_Lines On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.outputs&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[OUTPUT]\n Name loki\n Match kube.*\n Host loki.monitoring.svc.cluster.local\n Port 3100\n Labels job=fluentbit, app=$kubernetes['labels']['app'], k8s_namespace_name=$kubernetes['namespace_name'], k8s_pod_name=$kubernetes['pod_name'], k8s_container_name=$kubernetes['container_name']\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.config.service&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[SERVICE]\n Daemon Off\n Flush {{ .Values.flush }}\n Log_Level {{ .Values.logLevel }}\n Parsers_File parsers.conf\n Parsers_File custom_parsers.conf\n HTTP_Server On\n HTTP_Listen 0.0.0.0\n HTTP_Port {{ .Values.metricsPort }}\n Health_Check On\n&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;fluent/fluent-bit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;fluentbit.io/exclude&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/path&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/api/v1/metrics/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;2020&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.podAnnotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fluent-bit.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.adminPassword&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;admin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].disableDeletion&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].editable&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].folder&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].options.path&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;/var/lib/grafana/dashboards/envoy-gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].orgId&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardProviders.&amp;ldquo;dashboardproviders.yaml&amp;rdquo;.providers[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;file&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.dashboardsConfigMaps.envoy-gateway&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana-dashboards&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.apiVersion&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.datasources.&amp;ldquo;datasources.yaml&amp;rdquo;.datasources[0].url&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grafana&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;grafana.testFramework.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.backend.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.deploymentMode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;SingleBinary&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.gateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.auth_enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.commonConfig.replication_factor&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.compactorAddress&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.memberlist&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki-memberlist&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.rulerConfig.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.loki.storage.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;filesystem&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.lokiCanary.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.monitoring.selfMonitoring.grafanaAgent.installOperator&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.read.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.singleBinary.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.test.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;loki.write.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.debug.verbosity&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;detailed&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.loki.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http://loki.monitoring.svc:3100/loki/api/v1/push&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo.monitoring.svc:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.otlp.tls.insecure&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.exporters.prometheus.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.extensions.health_check.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:13133&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].action&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;insert&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].key&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki.attribute.labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.processors.attributes.actions[0].value&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;k8s.pod.name, k8s.namespace.name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.datadog.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8126&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.envoyals.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9000&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14250&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_compact.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:6831&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.jaeger.protocols.thrift_http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:14268&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4317&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.otlp.protocols.http.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:4318&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].job_name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;opentelemetry-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.prometheus.config.scrape_configs[0].static_configs[0].targets[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:8888&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.receivers.zipkin.endpoint&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;[${env:MY_POD_IP}]:9411&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.extensions[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;health_check&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;loki&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.processors[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attributes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.logs.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;envoyals&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.metrics.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.exporters[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;datadog&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otlp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.pipelines.traces.receivers[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;zipkin&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.address&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.level&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.host&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;localhost&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.config.service.telemetry.metrics.readers[0].pull.exporter.prometheus.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel-collector&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;otel/opentelemetry-collector-contrib&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;0.121.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.mode&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deployment&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.datadog.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8126&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.appProtocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.containerPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.hostPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;opentelemetry-collector.ports.envoy-als.servicePort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.alertmanager.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;CustomResourceStateMetrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gateway&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.info.labelsFromPath.gatewayclass_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayClassName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;allowedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespaces&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.allowed_routes_namespaces_from[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;from&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.hostname[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.protocol[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;protocol&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tls&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.labelsFromPath.tls_mode[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;mode&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway listener information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listener_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.labelsFromPath.listener_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;listeners&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;attachedRoutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Number of attached routes for a listener&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[6].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_listener_attached_routes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.labelsFromPath.value[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;addresses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gateway address types and values&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[0].metrics[7].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_address_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_gatewayclass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.info.labelsFromPath.controller_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GatewayClass information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.labelsFromPath.type[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;type&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;conditions&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.gauge.valueFrom[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status condition&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.labelsFromPath.features&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;supportedFeatures&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;List of supported features for the GatewayClass&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[1].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_supported_features&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;HTTPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_httproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the httproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[2].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;GRPCRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_grpcroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the grpcroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[3].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tcproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tcproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[4].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TLSRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_tlsroute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.labelsFromPath.hostname&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostnames&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Hostname information&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;hostname_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the tlsroute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[5].metrics[5].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;UDPRoute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha2&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_udproute&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRefs&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.controller_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;controllerName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_group[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_kind[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_port[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;port&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parentRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.labelsFromPath.parent_section_name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;sectionName&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;parents&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Parent references that the udproute is attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[6].metrics[4].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;status_parent_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.group&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.kind&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;BackendTLSPolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].groupVersionKind.version&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v1alpha3&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.name[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].labelsFromPath.namespace[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metricNamePrefix&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayapi_backendtlspolicy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.labelsFromPath.*[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes labels converted to Prometheus labels.&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;labels&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;creationTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;created&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metadata&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.gauge.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletionTimestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Gauge&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deletion timestamp&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;deleted&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_group[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;group&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_kind[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;kind&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_name[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.labelsFromPath.target_namespace[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;namespace&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;spec&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.info.path[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;targetRef&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].each.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].help&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Target references that the backendtlspolicy wants to be attached to&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.config.spec.resources[7].metrics[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;target_info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.customResourceState.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].apiGroups[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.networking.k8s.io&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateways&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gatewayclasses&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[2]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;httproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[3]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpcroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[4]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tcproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[5]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tlsroutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[6]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;udproutes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].resources[7]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;backendtlspolicies&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;list&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.kube-state-metrics.rbac.extraRules[0].verbs[1]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;watch&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-node-exporter.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.prometheus-pushgateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.global.scrape_interval&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;prom/prometheus&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.persistentVolume.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.readinessProbeInitialDelay&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.securityContext&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;prometheus.server.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.fullnameOverride&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;tempo&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tempo.service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;LoadBalancer&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Address</title><link>/docs/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gatewayaddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/tasks/traffic/gateway-address/#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/docs/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/latest/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gatewayaddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/tasks/traffic/gateway-address/#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/latest/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v0.5/user/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/user/gateway-address/#External-IPs"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="external-ips"&gt;External IPs&lt;a class="td-heading-self-link" href="#external-ips" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Using the addresses in &lt;code&gt;Gateway.Spec.Addresses&lt;/code&gt; as the &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#external-ips"&gt;External IPs&lt;/a&gt; of Envoy Proxy Service, this will &lt;strong&gt;require&lt;/strong&gt; the address to be of type &lt;code&gt;IPAddress&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v0.6/user/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/user/gateway-address/#External-IPs"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.6.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="external-ips"&gt;External IPs&lt;a class="td-heading-self-link" href="#external-ips" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Using the addresses in &lt;code&gt;Gateway.Spec.Addresses&lt;/code&gt; as the &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#external-ips"&gt;External IPs&lt;/a&gt; of Envoy Proxy Service, this will &lt;strong&gt;require&lt;/strong&gt; the address to be of type &lt;code&gt;IPAddress&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.0/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.0/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.0/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.&lt;/p&gt;



&lt;h2 id="external-ips"&gt;External IPs&lt;a class="td-heading-self-link" href="#external-ips" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Using the addresses in &lt;code&gt;Gateway.Spec.Addresses&lt;/code&gt; as the &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#external-ips"&gt;External IPs&lt;/a&gt; of Envoy Proxy Service,
this will &lt;strong&gt;require&lt;/strong&gt; the address to be of type &lt;code&gt;IPAddress&lt;/code&gt; and the &lt;a href="../../../api/extension_types#servicetype"&gt;ServiceType&lt;/a&gt; to be of &lt;code&gt;LoadBalancer&lt;/code&gt; or &lt;code&gt;NodePort&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.1/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.1/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.1/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.&lt;/p&gt;



&lt;h2 id="external-ips"&gt;External IPs&lt;a class="td-heading-self-link" href="#external-ips" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Using the addresses in &lt;code&gt;Gateway.Spec.Addresses&lt;/code&gt; as the &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#external-ips"&gt;External IPs&lt;/a&gt; of Envoy Proxy Service,
this will &lt;strong&gt;require&lt;/strong&gt; the address to be of type &lt;code&gt;IPAddress&lt;/code&gt; and the &lt;a href="../../../api/extension_types#servicetype"&gt;ServiceType&lt;/a&gt; to be of &lt;code&gt;LoadBalancer&lt;/code&gt; or &lt;code&gt;NodePort&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.2/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.2/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.2/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.3/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.4/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The Gateway API provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.GatewayAddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.4/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.5/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#gatewayaddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/tasks/traffic/gateway-address/#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.5/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Address</title><link>/v1.6/tasks/traffic/gateway-address/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/gateway-address/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; provides an optional &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gatewayaddress"&gt;Addresses&lt;/a&gt; field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/tasks/traffic/gateway-address/#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/tasks/traffic/gateway-address/#external-ips"&gt;External IPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.6/tasks/traffic/gateway-address/#cluster-ip"&gt;Cluster IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway API Extensions</title><link>/v1.3/api/extension_types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/extension_types/</guid><description>&lt;h2 id="packages"&gt;Packages&lt;a class="td-heading-self-link" href="#packages" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="gatewayenvoyproxyiov1alpha1"&gt;gateway.envoyproxy.io/v1alpha1&lt;a class="td-heading-self-link" href="#gatewayenvoyproxyiov1alpha1" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
API group.&lt;/p&gt;



&lt;h3 id="resource-types"&gt;Resource Types&lt;a class="td-heading-self-link" href="#resource-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#backend"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#envoygateway"&gt;EnvoyGateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h4 id="alpnprotocol"&gt;ALPNProtocol&lt;a class="td-heading-self-link" href="#alpnprotocol" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Underlying type:&lt;/em&gt; &lt;em&gt;string&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ALPNProtocol specifies the protocol to be negotiated using ALPN&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Appears in:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#backendtlsconfig"&gt;BackendTLSConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#clienttlssettings"&gt;ClientTLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v1.3/api/extension_types/#tlssettings"&gt;TLSSettings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_0 specifies that HTTP/1.0 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;http/1.1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion1_1 specifies that HTTP/1.1 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;HTTPProtocolVersion2 specifies that HTTP/2 should be negotiable with ALPN&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h4 id="alsenvoyproxyaccesslog"&gt;ALSEnvoyProxyAccessLog&lt;a class="td-heading-self-link" href="#alsenvoyproxyaccesslog" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;ALSEnvoyProxyAccessLog defines the gRPC Access Log Service (ALS) sink.
The service must implement the Envoy gRPC Access Log Service streaming API:
&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto"&gt;https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/accesslog/v3/als.proto&lt;/a&gt;
Access log format information is passed in the form of gRPC metadata when the
stream is established.&lt;/p&gt;</description></item><item><title>Gateway API Metadata</title><link>/docs/tasks/observability/gateway-api-metadata/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/gateway-api-metadata/</guid><description>&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway translates Gateway API resources to Envoy XDS resources. In this translation process, Envoy Gateway annotates XDS resources with additional metadata from their origin Gateway API resources.&lt;/p&gt;
&lt;p&gt;Gateway API Metadata includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;K8s Resource Kinds, Names and Namespaces.&lt;/li&gt;
&lt;li&gt;K8s Resource Annotations with the &lt;code&gt;gateway.envoyproxy.io/&lt;/code&gt; prefix.&lt;/li&gt;
&lt;li&gt;K8s Resource SectionNames (when applicable, e.g. for Route rules and Listeners).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gateway API Metadata is added to XDS resources using envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata"&gt;Static Metadata&lt;/a&gt; under &lt;code&gt;metadata.filter_metadata.envoy-gateway.resources&lt;/code&gt;. Currently, &lt;code&gt;resources&lt;/code&gt; only contains the primary origin resource.
However, in the future, additional relevant resources (e.g. policies, filters attached to the primary origin resources) may be added.&lt;/p&gt;</description></item><item><title>Gateway API Metadata</title><link>/latest/tasks/observability/gateway-api-metadata/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/gateway-api-metadata/</guid><description>&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway translates Gateway API resources to Envoy XDS resources. In this translation process, Envoy Gateway annotates XDS resources with additional metadata from their origin Gateway API resources.&lt;/p&gt;
&lt;p&gt;Gateway API Metadata includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;K8s Resource Kinds, Names and Namespaces.&lt;/li&gt;
&lt;li&gt;K8s Resource Annotations with the &lt;code&gt;gateway.envoyproxy.io/&lt;/code&gt; prefix.&lt;/li&gt;
&lt;li&gt;K8s Resource SectionNames (when applicable, e.g. for Route rules and Listeners).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gateway API Metadata is added to XDS resources using envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata"&gt;Static Metadata&lt;/a&gt; under &lt;code&gt;metadata.filter_metadata.envoy-gateway.resources&lt;/code&gt;. Currently, &lt;code&gt;resources&lt;/code&gt; only contains the primary origin resource.
However, in the future, additional relevant resources (e.g. policies, filters attached to the primary origin resources) may be added.&lt;/p&gt;</description></item><item><title>Gateway API Metadata</title><link>/v1.5/tasks/observability/gateway-api-metadata/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/gateway-api-metadata/</guid><description>&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway translates Gateway API resources to Envoy XDS resources. In this translation process, Envoy Gateway annotates XDS resources with additional metadata from their origin Gateway API resources.&lt;/p&gt;
&lt;p&gt;Gateway API Metadata includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;K8s Resource Kinds, Names and Namespaces.&lt;/li&gt;
&lt;li&gt;K8s Resource Annotations with the &lt;code&gt;gateway.envoyproxy.io/&lt;/code&gt; prefix.&lt;/li&gt;
&lt;li&gt;K8s Resource SectionNames (when applicable, e.g. for Route rules and Listeners).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gateway API Metadata is added to XDS resources using envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata"&gt;Static Metadata&lt;/a&gt; under &lt;code&gt;metadata.filter_metadata.envoy-gateway.resources&lt;/code&gt;. Currently, &lt;code&gt;resources&lt;/code&gt; only contains the primary origin resource.
However, in the future, additional relevant resources (e.g. policies, filters attached to the primary origin resources) may be added.&lt;/p&gt;</description></item><item><title>Gateway API Metadata</title><link>/v1.6/tasks/observability/gateway-api-metadata/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/gateway-api-metadata/</guid><description>&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway translates Gateway API resources to Envoy XDS resources. In this translation process, Envoy Gateway annotates XDS resources with additional metadata from their origin Gateway API resources.&lt;/p&gt;
&lt;p&gt;Gateway API Metadata includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;K8s Resource Kinds, Names and Namespaces.&lt;/li&gt;
&lt;li&gt;K8s Resource Annotations with the &lt;code&gt;gateway.envoyproxy.io/&lt;/code&gt; prefix.&lt;/li&gt;
&lt;li&gt;K8s Resource SectionNames (when applicable, e.g. for Route rules and Listeners).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gateway API Metadata is added to XDS resources using envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata"&gt;Static Metadata&lt;/a&gt; under &lt;code&gt;metadata.filter_metadata.envoy-gateway.resources&lt;/code&gt;. Currently, &lt;code&gt;resources&lt;/code&gt; only contains the primary origin resource.
However, in the future, additional relevant resources (e.g. policies, filters attached to the primary origin resources) may be added.&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/docs/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/gateway-api-metrics/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v1.6.3/quickstart.yaml -n default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify Connectivity:

 
 
 &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="with external loadbalancer support" aria-controls="tabs-00-00" aria-selected="true"&gt;
 With External LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="without loadbalancer support" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Without LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;p&gt;Get the External IP of the Gateway:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/latest/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/gateway-api-metrics/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/latest/quickstart.yaml -n default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify Connectivity:

 
 
 &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="with external loadbalancer support" aria-controls="tabs-00-00" aria-selected="true"&gt;
 With External LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="without loadbalancer support" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Without LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;p&gt;Get the External IP of the Gateway:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v0.6/user/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/gateway-api-metrics/</guid><description>&lt;p&gt;Resource metrics for Gateway API objects are available using the &lt;a href="https://github.com/Kuadrant/gateway-api-state-metrics"&gt;Gateway API State Metrics&lt;/a&gt; project.
The project also provides example dashboard for visualising the metrics using Grafana, and example alerts using Prometheus &amp;amp; Alertmanager.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Run the following commands to install the metrics stack, with the Gateway API State Metrics configuration, on your kubernetes cluster:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.0/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/observability/gateway-api-metrics/</guid><description>&lt;p&gt;Resource metrics for Gateway API objects are available using the &lt;a href="https://github.com/Kuadrant/gateway-api-state-metrics"&gt;Gateway API State Metrics&lt;/a&gt; project.
The project also provides example dashboard for visualising the metrics using Grafana, and example alerts using Prometheus &amp;amp; Alertmanager.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Run the following commands to install the metrics stack, with the Gateway API State Metrics configuration, on your kubernetes cluster:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.1/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/gateway-api-metrics/</guid><description>&lt;p&gt;Resource metrics for Gateway API objects are available using the &lt;a href="https://github.com/Kuadrant/gateway-api-state-metrics"&gt;Gateway API State Metrics&lt;/a&gt; project.
The project also provides example dashboard for visualising the metrics using Grafana, and example alerts using Prometheus &amp;amp; Alertmanager.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Run the following commands to install the metrics stack, with the Gateway API State Metrics configuration, on your kubernetes cluster:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.2/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/gateway-api-metrics/</guid><description>&lt;p&gt;Resource metrics for Gateway API objects are available using the &lt;a href="https://github.com/Kuadrant/gateway-api-state-metrics"&gt;Gateway API State Metrics&lt;/a&gt; project.
The project also provides example dashboard for visualising the metrics using Grafana, and example alerts using Prometheus &amp;amp; Alertmanager.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Run the following commands to install the metrics stack, with the Gateway API State Metrics configuration, on your kubernetes cluster:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.3/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/gateway-api-metrics/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.3.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v1.3.3/quickstart.yaml -n default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify Connectivity:

 
 
 &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="with external loadbalancer support" aria-controls="tabs-00-00" aria-selected="true"&gt;
 With External LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="without loadbalancer support" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Without LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;p&gt;Get the External IP of the Gateway:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.4/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/gateway-api-metrics/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.4.6 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v1.4.6/quickstart.yaml -n default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify Connectivity:

 
 
 &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="with external loadbalancer support" aria-controls="tabs-00-00" aria-selected="true"&gt;
 With External LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="without loadbalancer support" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Without LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;p&gt;Get the External IP of the Gateway:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.5/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/gateway-api-metrics/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.5.8 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v1.5.8/quickstart.yaml -n default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify Connectivity:

 
 
 &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="with external loadbalancer support" aria-controls="tabs-00-00" aria-selected="true"&gt;
 With External LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="without loadbalancer support" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Without LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;p&gt;Get the External IP of the Gateway:&lt;/p&gt;</description></item><item><title>Gateway API Metrics</title><link>/v1.6/tasks/observability/gateway-api-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/gateway-api-metrics/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v1.6.3/quickstart.yaml -n default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify Connectivity:

 
 
 &lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="with external loadbalancer support" aria-controls="tabs-00-00" aria-selected="true"&gt;
 With External LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="without loadbalancer support" aria-controls="tabs-00-01" aria-selected="false"&gt;
 Without LoadBalancer Support
 &lt;/button&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;p&gt;Get the External IP of the Gateway:&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/docs/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/latest/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v0.3/design/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/v0.3/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v0.4/user/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/v0.4/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v0.5/user/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/v0.5/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v0.6/user/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="../../design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.0/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.1/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.2/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.3/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.4/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.5/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#gatewayclass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway API Support</title><link>/v1.6/tasks/traffic/gatewayapi-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/gatewayapi-support/</guid><description>&lt;p&gt;As mentioned in the &lt;a href="/contributions/design/system-design/"&gt;system design&lt;/a&gt; document, Envoy Gateway&amp;rsquo;s managed data plane is configured dynamically through
Kubernetes resources, primarily &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; objects. Envoy Gateway supports configuration using the following Gateway API resources.&lt;/p&gt;



&lt;h2 id="gatewayclass"&gt;GatewayClass&lt;a class="td-heading-self-link" href="#gatewayclass" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; represents a &amp;ldquo;class&amp;rdquo; of gateways, i.e. which Gateways should be managed by Envoy Gateway.
Envoy Gateway supports managing &lt;strong&gt;a single&lt;/strong&gt; GatewayClass resource that matches its configured &lt;code&gt;controllerName&lt;/code&gt; and
follows Gateway API guidelines for &lt;a href="https://gateway-api.sigs.k8s.io/concepts/guidelines/?h=conflict#conflicts"&gt;resolving conflicts&lt;/a&gt; when multiple GatewayClasses exist with a matching
&lt;code&gt;controllerName&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Gateway Crds Helm Chart</title><link>/docs/install/gateway-crds-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/gateway-crds-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;A Helm chart for Envoy Gateway CRDs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.envoyGateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.channel&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;experimental&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Crds Helm Chart</title><link>/latest/install/gateway-crds-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/gateway-crds-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;A Helm chart for Envoy Gateway CRDs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.envoyGateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.channel&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;experimental&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Crds Helm Chart</title><link>/v1.4/install/gateway-crds-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/gateway-crds-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square" alt="Version: 0.1.0"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-1.16.0-informational?style=flat-square" alt="AppVersion: 1.16.0"&gt;&lt;/p&gt;
&lt;p&gt;A Helm chart for Kubernetes&lt;/p&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.envoyGateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.channel&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;experimental&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Crds Helm Chart</title><link>/v1.5/install/gateway-crds-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/gateway-crds-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;A Helm chart for Envoy Gateway CRDs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.envoyGateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.channel&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;experimental&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Crds Helm Chart</title><link>/v1.6/install/gateway-crds-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/gateway-crds-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;A Helm chart for Envoy Gateway CRDs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.envoyGateway.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.channel&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;experimental&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;crds.gatewayAPI.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/docs/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/docs/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/latest/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/latest/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/v1.1/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/v1.1/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/v1.2/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/v1.2/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/v1.3/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/v1.3/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/v1.4/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/v1.4/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/v1.5/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/v1.5/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Exported Metrics</title><link>/v1.6/tasks/observability/gateway-exported-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/gateway-exported-metrics/</guid><description>&lt;p&gt;The Envoy Gateway provides a collection of self-monitoring metrics in &lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format"&gt;Prometheus format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These metrics allow monitoring of the behavior of Envoy Gateway itself (as distinct from that of the EnvoyProxy it managed).&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;EnvoyProxy Metrics&lt;/h4&gt;

 For EnvoyProxy Metrics, please refer to the &lt;a href="/v1.6/tasks/observability/proxy-metric/"&gt;EnvoyProxy Metrics&lt;/a&gt; to learn more.

&lt;/div&gt;




&lt;h2 id="watching-components"&gt;Watching Components&lt;a class="td-heading-self-link" href="#watching-components" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Resource Provider, xDS Translator and Infra Manager etc. are key components that made up of Envoy Gateway,
they all follow the design of &lt;a href="/contributions/design/watching/"&gt;Watching Components&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Helm Chart</title><link>/docs/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;args&amp;quot;:[],&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;pod&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65532,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65532,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;extensionApis&amp;quot;:{},&amp;quot;gateway&amp;quot;:{&amp;quot;controllerName&amp;quot;:&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;},&amp;quot;logging&amp;quot;:{&amp;quot;level&amp;quot;:{&amp;quot;default&amp;quot;:&amp;quot;info&amp;quot;}},&amp;quot;provider&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;Kubernetes&amp;quot;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGateway configuration. Visit &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway"&gt;https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway&lt;/a&gt; to view all options.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image pull secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imageRegistry&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.behavior&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.maxReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.metrics&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.minReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.trafficDistribution&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ClusterIP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/latest/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;args&amp;quot;:[],&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;pod&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65532,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65532,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;extensionApis&amp;quot;:{},&amp;quot;gateway&amp;quot;:{&amp;quot;controllerName&amp;quot;:&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;},&amp;quot;logging&amp;quot;:{&amp;quot;level&amp;quot;:{&amp;quot;default&amp;quot;:&amp;quot;info&amp;quot;}},&amp;quot;provider&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;Kubernetes&amp;quot;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGateway configuration. Visit &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway"&gt;https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway&lt;/a&gt; to view all options.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image pull secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imageRegistry&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.behavior&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.maxReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.metrics&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.minReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.trafficDistribution&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ClusterIP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service type. Can be set to LoadBalancer with specific IP, e.g.: type: LoadBalancer loadBalancerIP: 10.236.90.20&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/v1.1/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;resources&amp;quot;:{},&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.gateway.controllerName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.logging.level.default&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.provider.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;500m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/v1.2/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65534,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65534,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.gateway.controllerName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.logging.level.default&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.provider.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/v1.3/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;args&amp;quot;:[],&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65534,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65534,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.gateway.controllerName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.logging.level.default&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.provider.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/v1.4/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;args&amp;quot;:[],&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65532,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65532,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;extensionApis&amp;quot;:{},&amp;quot;gateway&amp;quot;:{&amp;quot;controllerName&amp;quot;:&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;},&amp;quot;logging&amp;quot;:{&amp;quot;level&amp;quot;:{&amp;quot;default&amp;quot;:&amp;quot;info&amp;quot;}},&amp;quot;provider&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;Kubernetes&amp;quot;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGateway configuration. Visit &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway"&gt;https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway&lt;/a&gt; to view all options.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image pull secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imageRegistry&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:3e085e5b&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.behavior&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.maxReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.metrics&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.minReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.trafficDistribution&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/v1.5/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;args&amp;quot;:[],&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;pod&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65532,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65532,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;extensionApis&amp;quot;:{},&amp;quot;gateway&amp;quot;:{&amp;quot;controllerName&amp;quot;:&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;},&amp;quot;logging&amp;quot;:{&amp;quot;level&amp;quot;:{&amp;quot;default&amp;quot;:&amp;quot;info&amp;quot;}},&amp;quot;provider&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;Kubernetes&amp;quot;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGateway configuration. Visit &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway"&gt;https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway&lt;/a&gt; to view all options.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image pull secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imageRegistry&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.behavior&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.maxReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.metrics&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.minReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.trafficDistribution&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Helm Chart</title><link>/v1.6/install/gateway-helm-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/gateway-helm-api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;job&amp;quot;:{&amp;quot;affinity&amp;quot;:{},&amp;quot;annotations&amp;quot;:{},&amp;quot;args&amp;quot;:[],&amp;quot;nodeSelector&amp;quot;:{},&amp;quot;pod&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}},&amp;quot;resources&amp;quot;:{},&amp;quot;securityContext&amp;quot;:{&amp;quot;allowPrivilegeEscalation&amp;quot;:false,&amp;quot;capabilities&amp;quot;:{&amp;quot;drop&amp;quot;:[&amp;quot;ALL&amp;quot;]},&amp;quot;privileged&amp;quot;:false,&amp;quot;readOnlyRootFilesystem&amp;quot;:true,&amp;quot;runAsGroup&amp;quot;:65532,&amp;quot;runAsNonRoot&amp;quot;:true,&amp;quot;runAsUser&amp;quot;:65532,&amp;quot;seccompProfile&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;RuntimeDefault&amp;quot;}},&amp;quot;tolerations&amp;quot;:[],&amp;quot;ttlSecondsAfterFinished&amp;quot;:30},&amp;quot;rbac&amp;quot;:{&amp;quot;annotations&amp;quot;:{},&amp;quot;labels&amp;quot;:{}}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Certgen is used to generate the certificates required by EnvoyGateway. If you want to construct a custom certificate, you can generate a custom certificate through Cert-Manager before installing EnvoyGateway. Certgen will not overwrite the custom certificate. Please do not manually modify &lt;code&gt;values.yaml&lt;/code&gt; to disable certgen, it may cause EnvoyGateway OIDC,OAuth2,etc. to not work as expected.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{&amp;quot;extensionApis&amp;quot;:{},&amp;quot;gateway&amp;quot;:{&amp;quot;controllerName&amp;quot;:&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;},&amp;quot;logging&amp;quot;:{&amp;quot;level&amp;quot;:{&amp;quot;default&amp;quot;:&amp;quot;info&amp;quot;}},&amp;quot;provider&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;Kubernetes&amp;quot;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;EnvoyGateway configuration. Visit &lt;a href="https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway"&gt;https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway&lt;/a&gt; to view all options.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.allowPrivilegeEscalation&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.capabilities.drop[0]&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ALL&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.privileged&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsGroup&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsNonRoot&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.runAsUser&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;65532&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.securityContext.seccompProfile.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;RuntimeDefault&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/port&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;19001&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations.&amp;ldquo;prometheus.io/scrape&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.nodeSelector&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.tolerations&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.topologySpreadConstraints&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;wasm&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[2].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18002&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[3].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.priorityClassName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image pull secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.imageRegistry&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global override for image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.envoyGateway.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.image&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;docker.io/envoyproxy/ratelimit:master&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;IfNotPresent&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;global.images.ratelimit.pullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.behavior&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.maxReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.metrics&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hpa.minReplicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;podDisruptionBudget.minAvailable&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.trafficDistribution&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;service.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ClusterIP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;topologyInjector.enabled&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Gateway Namespace Mode</title><link>/docs/tasks/operations/gateway-namespace-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/gateway-namespace-mode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In standard deployment mode, Envoy Gateway creates all data plane resources in the controller namespace (typically &lt;code&gt;envoy-gateway-system&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;The motivation behind this was to operate with minimum permissions needed to be given for Envoy Gateway controller, as the control plane and data plane was deployed in the same namespace.&lt;/p&gt;
&lt;p&gt;Gateway Namespace Mode changes this behavior by placing Envoy Proxy data plane resources like Deployments, Services and ServiceAccounts in each Gateway&amp;rsquo;s namespace, which provides stronger isolation and multi-tenancy compared to the Controller Namespace mode, as it isolates Envoy proxy data plane across different tenants.
This distributed architecture requires additional RBAC permissions for the Envoy Gateway controller to manage Kubernetes resources across multiple namespaces.&lt;/p&gt;</description></item><item><title>Gateway Namespace Mode</title><link>/latest/tasks/operations/gateway-namespace-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/gateway-namespace-mode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In standard deployment mode, Envoy Gateway creates all data plane resources in the controller namespace (typically &lt;code&gt;envoy-gateway-system&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;The motivation behind this was to operate with minimum permissions needed to be given for Envoy Gateway controller, as the control plane and data plane was deployed in the same namespace.&lt;/p&gt;
&lt;p&gt;Gateway Namespace Mode changes this behavior by placing Envoy Proxy data plane resources like Deployments, Services and ServiceAccounts in each Gateway&amp;rsquo;s namespace, which provides stronger isolation and multi-tenancy compared to the Controller Namespace mode, as it isolates Envoy proxy data plane across different tenants.
This distributed architecture requires additional RBAC permissions for the Envoy Gateway controller to manage Kubernetes resources across multiple namespaces.&lt;/p&gt;</description></item><item><title>Gateway Namespace Mode</title><link>/v1.4/tasks/operations/gateway-namespace-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/operations/gateway-namespace-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 &lt;p&gt;Gateway Namespace Mode is currently an &lt;strong&gt;alpha&lt;/strong&gt; feature. We recommend against using it in production workloads until it reaches beta status.&lt;/p&gt;
&lt;p&gt;For status updates or to provide feedback, please follow our &lt;a href="https://github.com/envoyproxy/gateway/issues"&gt;GitHub issues&lt;/a&gt;.&lt;/p&gt;


&lt;/div&gt;




&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In standard deployment mode, Envoy Gateway creates all data plane resources in the controller namespace (typically &lt;code&gt;envoy-gateway-system&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;The motivation behind this was to operate with minimum permissions needed to be given for Envoy Gateway controller, as the control plane and data plane was deployed in the same namespace.&lt;/p&gt;</description></item><item><title>Gateway Namespace Mode</title><link>/v1.5/tasks/operations/gateway-namespace-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/gateway-namespace-mode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In standard deployment mode, Envoy Gateway creates all data plane resources in the controller namespace (typically &lt;code&gt;envoy-gateway-system&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;The motivation behind this was to operate with minimum permissions needed to be given for Envoy Gateway controller, as the control plane and data plane was deployed in the same namespace.&lt;/p&gt;
&lt;p&gt;Gateway Namespace Mode changes this behavior by placing Envoy Proxy data plane resources like Deployments, Services and ServiceAccounts in each Gateway&amp;rsquo;s namespace, which provides stronger isolation and multi-tenancy compared to the Controller Namespace mode, as it isolates Envoy proxy data plane across different tenants.
This distributed architecture requires additional RBAC permissions for the Envoy Gateway controller to manage Kubernetes resources across multiple namespaces.&lt;/p&gt;</description></item><item><title>Gateway Namespace Mode</title><link>/v1.6/tasks/operations/gateway-namespace-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/gateway-namespace-mode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In standard deployment mode, Envoy Gateway creates all data plane resources in the controller namespace (typically &lt;code&gt;envoy-gateway-system&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;The motivation behind this was to operate with minimum permissions needed to be given for Envoy Gateway controller, as the control plane and data plane was deployed in the same namespace.&lt;/p&gt;
&lt;p&gt;Gateway Namespace Mode changes this behavior by placing Envoy Proxy data plane resources like Deployments, Services and ServiceAccounts in each Gateway&amp;rsquo;s namespace, which provides stronger isolation and multi-tenancy compared to the Controller Namespace mode, as it isolates Envoy proxy data plane across different tenants.
This distributed architecture requires additional RBAC permissions for the Envoy Gateway controller to manage Kubernetes resources across multiple namespaces.&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/docs/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/latest/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/v1.1/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; is disabled.&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/v1.2/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;





&lt;h3 id="install-add-ons"&gt;Install Add-ons&lt;a class="td-heading-self-link" href="#install-add-ons" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Envoy Gateway provides an add-ons Helm chart to simplify the installation of observability components.&lt;br&gt;
The documentation for the add-ons chart can be found
&lt;a href="https://gateway.envoyproxy.io/docs/install/gateway-addons-helm-api/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/v1.3/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/v1.4/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/v1.5/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Gateway Observability</title><link>/v1.6/tasks/observability/gateway-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/gateway-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config gateway control-plane observability, includes metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>gateway-helm</title><link>/v0.6/install/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/install/api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.job.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.job.ttlSecondsAfterFinished&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.rbac.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.rbac.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.gateway.controllerName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.logging.level.default&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.provider.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.cert.expiryDays&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;365&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${ImageRepository}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${ImageTag}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Always&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;500m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;http&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>gateway-helm</title><link>/v1.0/install/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/install/api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v1.0.0-informational?style=flat-square" alt="Version: v1.0.0"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.job.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.job.resources&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.job.ttlSecondsAfterFinished&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.rbac.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;certgen.rbac.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.gateway.controllerName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.logging.level.default&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.provider.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${ImageRepository}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${ImageTag}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Always&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullSecrets&lt;/td&gt;
 &lt;td&gt;list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;500m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.affinity&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;19001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>GatewayClass</title><link>/docs/api/gateway_api/gatewayclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/gateway_api/gatewayclass/</guid><description>&lt;pre&gt;&lt;code&gt;The `GatewayClass` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the
infrastructure provider. This resource represents a class of Gateways that can
be instantiated.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: GatewayClass serves the same function as the
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class"&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;GatewayClass&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;cluster-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;controllerName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&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
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an
infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and
&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal
applications.&lt;/p&gt;</description></item><item><title>GatewayClass</title><link>/latest/api/gateway_api/gatewayclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/gateway_api/gatewayclass/</guid><description>&lt;pre&gt;&lt;code&gt;The `GatewayClass` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the
infrastructure provider. This resource represents a class of Gateways that can
be instantiated.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: GatewayClass serves the same function as the
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class"&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;GatewayClass&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;cluster-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;controllerName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&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
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an
infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and
&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal
applications.&lt;/p&gt;</description></item><item><title>GatewayClass</title><link>/v1.3/api/gateway_api/gatewayclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/gateway_api/gatewayclass/</guid><description>&lt;pre&gt;&lt;code&gt;The `GatewayClass` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the
infrastructure provider. This resource represents a class of Gateways that can
be instantiated.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: GatewayClass serves the same function as the
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class"&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;GatewayClass&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;cluster-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;controllerName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&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
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an
infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and
&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal
applications.&lt;/p&gt;</description></item><item><title>GatewayClass</title><link>/v1.4/api/gateway_api/gatewayclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/gateway_api/gatewayclass/</guid><description>&lt;pre&gt;&lt;code&gt;The `GatewayClass` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](../concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.GatewayClass"&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the
infrastructure provider. This resource represents a class of Gateways that can
be instantiated.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: GatewayClass serves the same function as the
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class"&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;GatewayClass&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;cluster-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;controllerName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&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
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an
infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and
&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal
applications.&lt;/p&gt;</description></item><item><title>GatewayClass</title><link>/v1.5/api/gateway_api/gatewayclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/gateway_api/gatewayclass/</guid><description>&lt;pre&gt;&lt;code&gt;The `GatewayClass` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the
infrastructure provider. This resource represents a class of Gateways that can
be instantiated.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: GatewayClass serves the same function as the
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class"&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;GatewayClass&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;cluster-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;controllerName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&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
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an
infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and
&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal
applications.&lt;/p&gt;</description></item><item><title>GatewayClass</title><link>/v1.6/api/gateway_api/gatewayclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/gateway_api/gatewayclass/</guid><description>&lt;pre&gt;&lt;code&gt;The `GatewayClass` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#gatewayclass"&gt;GatewayClass&lt;/a&gt; is cluster-scoped resource defined by the
infrastructure provider. This resource represents a class of Gateways that can
be instantiated.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: GatewayClass serves the same function as the
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class"&gt;&lt;code&gt;networking.IngressClass&lt;/code&gt; resource&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;GatewayClass&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;cluster-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;controllerName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;example.net/gateway-controller&amp;#34;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&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
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the &lt;code&gt;Gateways&lt;/code&gt; from the user. For instance, an
infrastructure provider may create two &lt;code&gt;GatewayClasses&lt;/code&gt; named &lt;code&gt;internet&lt;/code&gt; and
&lt;code&gt;private&lt;/code&gt; to reflect &lt;code&gt;Gateways&lt;/code&gt; that define Internet-facing vs private, internal
applications.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/docs/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/latest/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.0/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.1/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.2/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.3/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.4/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.5/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Global Rate Limit</title><link>/v1.6/tasks/traffic/global-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/global-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Graceful Shutdown and Hitless Upgrades</title><link>/docs/tasks/operations/graceful-shutdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/graceful-shutdown/</guid><description>&lt;p&gt;Envoy Gateway enables zero-downtime deployments through graceful connection draining during pod termination.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The shutdown manager sidecar coordinates graceful connection draining during pod termination, providing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero-downtime rolling updates&lt;/li&gt;
&lt;li&gt;Configurable drain timeouts&lt;/li&gt;
&lt;li&gt;Automatic health check failure to remove pods from load balancer rotation&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="shutdown-process"&gt;Shutdown Process&lt;a class="td-heading-self-link" href="#shutdown-process" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Kubernetes sends SIGTERM to the pod&lt;/li&gt;
&lt;li&gt;Shutdown manager fails health checks via &lt;code&gt;/healthcheck/fail&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;This causes Kubernetes readiness probes to fail&lt;/li&gt;
&lt;li&gt;External load balancers and services stop routing new traffic to the pod&lt;/li&gt;
&lt;li&gt;Existing connections continue to be served while draining&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Connection monitoring begins, polling &lt;code&gt;server.total_connections&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Process exits when connections reach zero or drain timeout is exceeded&lt;/li&gt;
&lt;/ol&gt;



&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Graceful shutdown behavior includes default values that can be overridden using the EnvoyProxy resource. The EnvoyProxy resource can be referenced in two ways:&lt;/p&gt;</description></item><item><title>Graceful Shutdown and Hitless Upgrades</title><link>/latest/tasks/operations/graceful-shutdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/graceful-shutdown/</guid><description>&lt;p&gt;Envoy Gateway enables zero-downtime deployments through graceful connection draining during pod termination.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The shutdown manager sidecar coordinates graceful connection draining during pod termination, providing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero-downtime rolling updates&lt;/li&gt;
&lt;li&gt;Configurable drain timeouts&lt;/li&gt;
&lt;li&gt;Automatic health check failure to remove pods from load balancer rotation&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="shutdown-process"&gt;Shutdown Process&lt;a class="td-heading-self-link" href="#shutdown-process" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Kubernetes sends SIGTERM to the pod&lt;/li&gt;
&lt;li&gt;Shutdown manager fails health checks via &lt;code&gt;/healthcheck/fail&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;This causes Kubernetes readiness probes to fail&lt;/li&gt;
&lt;li&gt;External load balancers and services stop routing new traffic to the pod&lt;/li&gt;
&lt;li&gt;Existing connections continue to be served while draining&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Connection monitoring begins, polling &lt;code&gt;server.total_connections&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Process exits when connections reach zero or drain timeout is exceeded&lt;/li&gt;
&lt;/ol&gt;



&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Graceful shutdown behavior includes default values that can be overridden using the EnvoyProxy resource. The EnvoyProxy resource can be referenced in two ways:&lt;/p&gt;</description></item><item><title>Graceful Shutdown and Hitless Upgrades</title><link>/v1.5/tasks/operations/graceful-shutdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/graceful-shutdown/</guid><description>&lt;p&gt;Envoy Gateway enables zero-downtime deployments through graceful connection draining during pod termination.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The shutdown manager sidecar coordinates graceful connection draining during pod termination, providing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero-downtime rolling updates&lt;/li&gt;
&lt;li&gt;Configurable drain timeouts&lt;/li&gt;
&lt;li&gt;Automatic health check failure to remove pods from load balancer rotation&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="shutdown-process"&gt;Shutdown Process&lt;a class="td-heading-self-link" href="#shutdown-process" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Kubernetes sends SIGTERM to the pod&lt;/li&gt;
&lt;li&gt;Shutdown manager fails health checks via &lt;code&gt;/healthcheck/fail&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;This causes Kubernetes readiness probes to fail&lt;/li&gt;
&lt;li&gt;External load balancers and services stop routing new traffic to the pod&lt;/li&gt;
&lt;li&gt;Existing connections continue to be served while draining&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Connection monitoring begins, polling &lt;code&gt;server.total_connections&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Process exits when connections reach zero or drain timeout is exceeded&lt;/li&gt;
&lt;/ol&gt;



&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Graceful shutdown behavior includes default values that can be overridden using the EnvoyProxy resource. The EnvoyProxy resource can be referenced in two ways:&lt;/p&gt;</description></item><item><title>Graceful Shutdown and Hitless Upgrades</title><link>/v1.6/tasks/operations/graceful-shutdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/graceful-shutdown/</guid><description>&lt;p&gt;Envoy Gateway enables zero-downtime deployments through graceful connection draining during pod termination.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The shutdown manager sidecar coordinates graceful connection draining during pod termination, providing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero-downtime rolling updates&lt;/li&gt;
&lt;li&gt;Configurable drain timeouts&lt;/li&gt;
&lt;li&gt;Automatic health check failure to remove pods from load balancer rotation&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="shutdown-process"&gt;Shutdown Process&lt;a class="td-heading-self-link" href="#shutdown-process" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Kubernetes sends SIGTERM to the pod&lt;/li&gt;
&lt;li&gt;Shutdown manager fails health checks via &lt;code&gt;/healthcheck/fail&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;This causes Kubernetes readiness probes to fail&lt;/li&gt;
&lt;li&gt;External load balancers and services stop routing new traffic to the pod&lt;/li&gt;
&lt;li&gt;Existing connections continue to be served while draining&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Connection monitoring begins, polling &lt;code&gt;server.total_connections&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Process exits when connections reach zero or drain timeout is exceeded&lt;/li&gt;
&lt;/ol&gt;



&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Graceful shutdown behavior includes default values that can be overridden using the EnvoyProxy resource. The EnvoyProxy resource can be referenced in two ways:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/docs/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/latest/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v0.3/user/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.3.0/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://raw.githubusercontent.com/envoyproxy/gateway/v0.3.0/examples/kubernetes/grpc-routing.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The manifest installs a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, a Deployment, a Service, and a GRPCRoute resource.
The GatewayClass is a cluster-scoped resource that represents a class of Gateways that can be instantiated.&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v0.4/user/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.4.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v0.5/user/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v0.6/user/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.6.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.0/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.0/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.1/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.2/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;





&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install the gRPC routing example resources:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.3/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.4/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.5/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>GRPC Routing</title><link>/v1.6/tasks/traffic/grpc-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/grpc-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers.
To learn more about gRPC routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>GRPCRoute</title><link>/docs/api/gateway_api/grpcroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/gateway_api/grpcroute/</guid><description>&lt;pre&gt;&lt;code&gt;The `GRPCRoute` resource is GA and has been part of the Standard Channel since
`v1.1.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#grpcroute"&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree
CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description></item><item><title>GRPCRoute</title><link>/latest/api/gateway_api/grpcroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/gateway_api/grpcroute/</guid><description>&lt;pre&gt;&lt;code&gt;The `GRPCRoute` resource is GA and has been part of the Standard Channel since
`v1.1.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#grpcroute"&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree
CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description></item><item><title>GRPCRoute</title><link>/v1.3/api/gateway_api/grpcroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/gateway_api/grpcroute/</guid><description>&lt;pre&gt;&lt;code&gt;The `GRPCRoute` resource is GA and has been part of the Standard Channel since
`v1.1.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GRPCRoute"&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree
CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description></item><item><title>GRPCRoute</title><link>/v1.4/api/gateway_api/grpcroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/gateway_api/grpcroute/</guid><description>&lt;pre&gt;&lt;code&gt;The `GRPCRoute` resource is GA and has been part of the Standard Channel since
`v1.1.0`. For more information on release channels, refer to our [versioning
guide](../concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.GRPCRoute"&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree
CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description></item><item><title>GRPCRoute</title><link>/v1.5/api/gateway_api/grpcroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/gateway_api/grpcroute/</guid><description>&lt;pre&gt;&lt;code&gt;The `GRPCRoute` resource is GA and has been part of the Standard Channel since
`v1.1.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#grpcroute"&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree
CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description></item><item><title>GRPCRoute</title><link>/v1.6/api/gateway_api/grpcroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/gateway_api/grpcroute/</guid><description>&lt;pre&gt;&lt;code&gt;The `GRPCRoute` resource is GA and has been part of the Standard Channel since
`v1.1.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#grpcroute"&gt;GRPCRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of gRPC requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="background"&gt;Background&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While it is possible to route gRPC with &lt;code&gt;HTTPRoutes&lt;/code&gt; or via custom, out-of-tree
CRDs, in the long run, this leads to a fragmented ecosystem.&lt;/p&gt;</description></item><item><title>Helm Chart Values</title><link>/v0.5/install/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/install/api/</guid><description>&lt;p&gt;


&lt;img src="https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square" alt="Version: v0.0.0-latest"&gt; 


&lt;img src="https://img.shields.io/badge/Type-application-informational?style=flat-square" alt="Type: application"&gt; 


&lt;img src="https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square" alt="AppVersion: latest"&gt;&lt;/p&gt;
&lt;p&gt;The Helm chart for Envoy Gateway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Homepage:&lt;/strong&gt; &lt;a href="https://gateway.envoyproxy.io/"&gt;https://gateway.envoyproxy.io/&lt;/a&gt;&lt;/p&gt;



&lt;h2 id="maintainers"&gt;Maintainers&lt;a class="td-heading-self-link" href="#maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Email&lt;/th&gt;
 &lt;th&gt;Url&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-steering-committee&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md"&gt;https://github.com/envoyproxy/gateway/blob/main/GOVERNANCE.md&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoy-gateway-maintainers&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS"&gt;https://github.com/envoyproxy/gateway/blob/main/CODEOWNERS&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id="source-code"&gt;Source Code&lt;a class="td-heading-self-link" href="#source-code" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/envoyproxy/gateway"&gt;https://github.com/envoyproxy/gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="values"&gt;Values&lt;a class="td-heading-self-link" href="#values" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.gateway.controllerName&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gateway.envoyproxy.io/gatewayclass-controller&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.logging.level.default&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;config.envoyGateway.provider.type&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Kubernetes&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;createNamespace&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${ImageRepository}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;${ImageTag}&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.imagePullPolicy&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;Always&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;500m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;1024Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;100m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.envoyGateway.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;256Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.kubeRbacProxy.image.repository&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;gcr.io/kubebuilder/kube-rbac-proxy&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.kubeRbacProxy.image.tag&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;v0.11.0&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.kubeRbacProxy.resources.limits.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;500m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.kubeRbacProxy.resources.limits.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;128Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.kubeRbacProxy.resources.requests.cpu&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.kubeRbacProxy.resources.requests.memory&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;64Mi&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.annotations&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.pod.labels&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;grpc&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;ratelimit&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.ports[1].targetPort&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;18001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;deployment.replicas&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].name&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;https&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].port&lt;/td&gt;
 &lt;td&gt;int&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8443&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].protocol&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;TCP&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;envoyGatewayMetricsService.ports[0].targetPort&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;https&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubernetesClusterDomain&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;cluster.local&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>HTTP CONNECT Tunnels</title><link>/docs/tasks/traffic/http-connect-tunnels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-connect-tunnels/</guid><description>&lt;p&gt;HTTP CONNECT tunnels are a mechanism that allows a client to establish a tunnel through an HTTP proxy server
to communicate directly with a destination server. This is commonly used for HTTPS traffic through proxies,
but can also be used for other protocols.&lt;/p&gt;
&lt;p&gt;This task will help you get started using HTTP Connect based tunnels using Envoy Gateway.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP CONNECT Tunnels</title><link>/latest/tasks/traffic/http-connect-tunnels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-connect-tunnels/</guid><description>&lt;p&gt;HTTP CONNECT tunnels are a mechanism that allows a client to establish a tunnel through an HTTP proxy server
to communicate directly with a destination server. This is commonly used for HTTPS traffic through proxies,
but can also be used for other protocols.&lt;/p&gt;
&lt;p&gt;This task will help you get started using HTTP Connect based tunnels using Envoy Gateway.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP CONNECT Tunnels</title><link>/v1.5/tasks/traffic/http-connect-tunnels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-connect-tunnels/</guid><description>&lt;p&gt;HTTP CONNECT tunnels are a mechanism that allows a client to establish a tunnel through an HTTP proxy server
to communicate directly with a destination server. This is commonly used for HTTPS traffic through proxies,
but can also be used for other protocols.&lt;/p&gt;
&lt;p&gt;This task will help you get started using HTTP Connect based tunnels using Envoy Gateway.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP CONNECT Tunnels</title><link>/v1.6/tasks/traffic/http-connect-tunnels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-connect-tunnels/</guid><description>&lt;p&gt;HTTP CONNECT tunnels are a mechanism that allows a client to establish a tunnel through an HTTP proxy server
to communicate directly with a destination server. This is commonly used for HTTPS traffic through proxies,
but can also be used for other protocols.&lt;/p&gt;
&lt;p&gt;This task will help you get started using HTTP Connect based tunnels using Envoy Gateway.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/docs/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/latest/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v0.2/user/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.2/user/secure-gateways/"&gt;Secure Gateways&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v0.3/user/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.3/user/secure-gateways/"&gt;Secure Gateways&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v0.4/user/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.4/user/secure-gateways/"&gt;Secure Gateways&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v0.5/user/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.5/user/secure-gateways/"&gt;Secure Gateways&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v0.6/user/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.0/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.1/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTPS.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.2/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.3/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.4/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.5/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec/#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Redirects</title><link>/v1.6/tasks/traffic/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-redirect/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that
HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt;
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To
learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/docs/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpheaderfilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client. Header values support Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format"&gt;format strings&lt;/a&gt;, enabling dynamic values sourced from the
request and connection metadata.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/latest/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpheaderfilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client. Header values support Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format"&gt;format strings&lt;/a&gt;, enabling dynamic values sourced from the
request and connection metadata.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v0.2/user/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v0.3/user/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v0.4/user/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v0.5/user/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v0.6/user/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.0/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.1/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.2/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.3/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.4/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.5/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httpheaderfilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client. Header values support Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format"&gt;format strings&lt;/a&gt;, enabling dynamic values sourced from the
request and connection metadata.&lt;/p&gt;</description></item><item><title>HTTP Request Headers</title><link>/v1.6/tasks/traffic/http-request-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-request-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute
rules cannot use both filter types at once. Currently, Envoy Gateway only supports &lt;strong&gt;core&lt;/strong&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutefilter"&gt;HTTPRoute filters&lt;/a&gt; which
consist of &lt;code&gt;RequestRedirect&lt;/code&gt; and &lt;code&gt;RequestHeaderModifier&lt;/code&gt; at the time of this writing. To learn more about HTTP routing,
refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpheaderfilter"&gt;&lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in requests that match the rule
before forwarding the request upstream. Note that the &lt;code&gt;RequestHeaderModifier&lt;/code&gt; filter will only modify headers before the
request is sent from Envoy to the upstream service and will not affect response headers returned to the downstream
client. Header values support Envoy &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format"&gt;format strings&lt;/a&gt;, enabling dynamic values sourced from the
request and connection metadata.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/docs/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpheaderfilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/latest/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpheaderfilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v0.3/user/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v0.4/user/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v0.5/user/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v0.6/user/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.0/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.1/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.2/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.3/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.4/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPHeaderFilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.5/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httpheaderfilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Response Headers</title><link>/v1.6/tasks/traffic/http-response-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-response-headers/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource can modify the headers of a response before responding it to the downstream service. To learn
more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpheaderfilter"&gt;&lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter&lt;/a&gt; instructs Gateways to modify the headers in responses that match the
rule before responding to the downstream. Note that the &lt;code&gt;ResponseHeaderModifier&lt;/code&gt; filter will only modify headers before
the response is returned from Envoy to the downstream client and will not affect request headers forwarding to the
upstream service.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/docs/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Service&lt;/a&gt; resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Services&lt;/a&gt;. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/latest/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only backend supported by Envoy Gateway is a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Service&lt;/a&gt; resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Services&lt;/a&gt;. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v0.2/user/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v0.3/user/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v0.4/user/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v0.5/user/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v0.6/user/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.0/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.1/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.2/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.3/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.4/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
Services. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.5/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Service&lt;/a&gt; resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Services&lt;/a&gt;. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Routing</title><link>/v1.6/tasks/traffic/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to
Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Service&lt;/a&gt; resource. This task
shows how to route traffic based on host, header, and path fields and forward the traffic to different Kubernetes
&lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Services&lt;/a&gt;. To learn more about HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/docs/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httprouterule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/latest/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httprouterule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.0/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.1/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.2/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.3/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.4/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.5/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httprouterule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP Timeouts</title><link>/v1.6/tasks/traffic/http-timeouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-timeouts/</guid><description>&lt;p&gt;The default request timeout is set to 15 seconds in Envoy Proxy.
The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; resource allows users to configure request timeouts for an &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httprouterule"&gt;HTTPRouteRule&lt;/a&gt;.
This task shows you how to configure timeouts.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httproutetimeouts"&gt;HTTPRouteTimeouts&lt;/a&gt; supports two kinds of timeouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt;: Request specifies the maximum duration for a gateway to respond to an HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backendRequest&lt;/strong&gt;: BackendRequest specifies a timeout for an individual request from the gateway to a backend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Request duration must be &amp;gt;= BackendRequest duration&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/docs/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpurlrewritefilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/latest/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpurlrewritefilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v0.3/user/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="rewrite-url-prefix-path"&gt;Rewrite URL Prefix Path&lt;a class="td-heading-self-link" href="#rewrite-url-prefix-path" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You can configure to rewrite the prefix in the url like below. In this example, any curls to
&lt;code&gt;http://${GATEWAY_HOST}/get/xxx&lt;/code&gt; will be rewritten to &lt;code&gt;http://${GATEWAY_HOST}/replace/xxx&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v0.4/user/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="rewrite-url-prefix-path"&gt;Rewrite URL Prefix Path&lt;a class="td-heading-self-link" href="#rewrite-url-prefix-path" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You can configure to rewrite the prefix in the url like below. In this example, any curls to
&lt;code&gt;http://${GATEWAY_HOST}/get/xxx&lt;/code&gt; will be rewritten to &lt;code&gt;http://${GATEWAY_HOST}/replace/xxx&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v0.5/user/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="rewrite-url-prefix-path"&gt;Rewrite URL Prefix Path&lt;a class="td-heading-self-link" href="#rewrite-url-prefix-path" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You can configure to rewrite the prefix in the url like below. In this example, any curls to
&lt;code&gt;http://${GATEWAY_HOST}/get/xxx&lt;/code&gt; will be rewritten to &lt;code&gt;http://${GATEWAY_HOST}/replace/xxx&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v0.6/user/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="rewrite-url-prefix-path"&gt;Rewrite URL Prefix Path&lt;a class="td-heading-self-link" href="#rewrite-url-prefix-path" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You can configure to rewrite the prefix in the url like below. In this example, any curls to
&lt;code&gt;http://${GATEWAY_HOST}/get/xxx&lt;/code&gt; will be rewritten to &lt;code&gt;http://${GATEWAY_HOST}/replace/xxx&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.0/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="rewrite-url-prefix-path"&gt;Rewrite URL Prefix Path&lt;a class="td-heading-self-link" href="#rewrite-url-prefix-path" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You can configure to rewrite the prefix in the url like below. In this example, any curls to
&lt;code&gt;http://${GATEWAY_HOST}/get/xxx&lt;/code&gt; will be rewritten to &lt;code&gt;http://${GATEWAY_HOST}/replace/xxx&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.1/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="rewrite-url-prefix-path"&gt;Rewrite URL Prefix Path&lt;a class="td-heading-self-link" href="#rewrite-url-prefix-path" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You can configure to rewrite the prefix in the url like below. In this example, any curls to
&lt;code&gt;http://${GATEWAY_HOST}/get/xxx&lt;/code&gt; will be rewritten to &lt;code&gt;http://${GATEWAY_HOST}/replace/xxx&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.2/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.3/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.4/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPURLRewriteFilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.5/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httpurlrewritefilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP URL Rewrite</title><link>/v1.6/tasks/traffic/http-urlrewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-urlrewrite/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httpurlrewritefilter"&gt;HTTPURLRewriteFilter&lt;/a&gt; defines a filter that modifies a request during forwarding. At most one of these filters may be
used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/docs/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/latest/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.0/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.0/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.1/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.2/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.3/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.4/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.5/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTP3</title><link>/v1.6/tasks/traffic/http3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http3/</guid><description>&lt;p&gt;This task will help you get started using HTTP3 using EG.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>HTTPRoute</title><link>/docs/api/gateway_api/httproute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/gateway_api/httproute/</guid><description>&lt;pre&gt;&lt;code&gt;The `HTTPRoute` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproute"&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="spec"&gt;Spec&lt;a class="td-heading-self-link" href="#spec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#parentreference"&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached
to.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#hostname"&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for
matching the Host header of HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httprouterule"&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against
matching HTTP requests. Each rule consists of &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutematch"&gt;matches&lt;/a&gt;,
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutefilter"&gt;filters&lt;/a&gt; (optional), &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httpbackendref"&gt;backendRefs&lt;/a&gt; (optional),
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutetimeouts"&gt;timeouts&lt;/a&gt; (optional), and &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#sectionname"&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:



&lt;img src="https://gateway-api.sigs.k8s.io/images/httproute-basic-example.svg" alt="httproute-basic-example"&gt;&lt;/p&gt;</description></item><item><title>HTTPRoute</title><link>/latest/api/gateway_api/httproute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/gateway_api/httproute/</guid><description>&lt;pre&gt;&lt;code&gt;The `HTTPRoute` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproute"&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="spec"&gt;Spec&lt;a class="td-heading-self-link" href="#spec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#parentreference"&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached
to.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#hostname"&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for
matching the Host header of HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httprouterule"&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against
matching HTTP requests. Each rule consists of &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutematch"&gt;matches&lt;/a&gt;,
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutefilter"&gt;filters&lt;/a&gt; (optional), &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httpbackendref"&gt;backendRefs&lt;/a&gt; (optional),
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutetimeouts"&gt;timeouts&lt;/a&gt; (optional), and &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#sectionname"&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:



&lt;img src="https://gateway-api.sigs.k8s.io/images/httproute-basic-example.svg" alt="httproute-basic-example"&gt;&lt;/p&gt;</description></item><item><title>HTTPRoute</title><link>/v1.3/api/gateway_api/httproute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/gateway_api/httproute/</guid><description>&lt;pre&gt;&lt;code&gt;The `HTTPRoute` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRoute"&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="spec"&gt;Spec&lt;a class="td-heading-self-link" href="#spec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.ParentRef"&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached
to.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Hostname"&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for
matching the Host header of HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against
matching HTTP requests. Each rule consists of &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteMatch"&gt;matches&lt;/a&gt;,
&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;filters&lt;/a&gt; (optional), &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPBackendRef"&gt;backendRefs&lt;/a&gt; (optional),
&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;timeouts&lt;/a&gt; (optional), and &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.SectionName"&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:



&lt;img src="https://gateway-api.sigs.k8s.io/images/httproute-basic-example.svg" alt="httproute-basic-example"&gt;&lt;/p&gt;</description></item><item><title>HTTPRoute</title><link>/v1.4/api/gateway_api/httproute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/gateway_api/httproute/</guid><description>&lt;pre&gt;&lt;code&gt;The `HTTPRoute` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](../concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPRoute"&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="spec"&gt;Spec&lt;a class="td-heading-self-link" href="#spec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.ParentRef"&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached
to.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.Hostname"&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for
matching the Host header of HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPRouteRule"&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against
matching HTTP requests. Each rule consists of &lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPRouteMatch"&gt;matches&lt;/a&gt;,
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPRouteFilter"&gt;filters&lt;/a&gt; (optional), &lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPBackendRef"&gt;backendRefs&lt;/a&gt; (optional),
&lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.HTTPRouteTimeouts"&gt;timeouts&lt;/a&gt; (optional), and &lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1.SectionName"&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:



&lt;img src="https://gateway-api.sigs.k8s.io/images/httproute-basic-example.svg" alt="httproute-basic-example"&gt;&lt;/p&gt;</description></item><item><title>HTTPRoute</title><link>/v1.5/api/gateway_api/httproute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/gateway_api/httproute/</guid><description>&lt;pre&gt;&lt;code&gt;The `HTTPRoute` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproute"&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="spec"&gt;Spec&lt;a class="td-heading-self-link" href="#spec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#parentref"&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached
to.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#hostname"&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for
matching the Host header of HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httprouterule"&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against
matching HTTP requests. Each rule consists of &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproutematch"&gt;matches&lt;/a&gt;,
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproutefilter"&gt;filters&lt;/a&gt; (optional), &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httpbackendref"&gt;backendRefs&lt;/a&gt; (optional),
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httproutetimeouts"&gt;timeouts&lt;/a&gt; (optional), and &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#sectionname"&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:



&lt;img src="https://gateway-api.sigs.k8s.io/images/httproute-basic-example.svg" alt="httproute-basic-example"&gt;&lt;/p&gt;</description></item><item><title>HTTPRoute</title><link>/v1.6/api/gateway_api/httproute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/gateway_api/httproute/</guid><description>&lt;pre&gt;&lt;code&gt;The `HTTPRoute` resource is GA and has been part of the Standard Channel since
`v0.5.0`. For more information on release channels, refer to our [versioning
guide](https://gateway-api.sigs.k8s.io/concepts/versioning).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproute"&gt;HTTPRoute&lt;/a&gt; is a Gateway API type for specifying routing behavior
of HTTP requests from a Gateway listener to an API object, i.e. Service.&lt;/p&gt;



&lt;h2 id="spec"&gt;Spec&lt;a class="td-heading-self-link" href="#spec" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The specification of an HTTPRoute consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#parentreference"&gt;ParentRefs&lt;/a&gt;- Define which Gateways this Route wants to be attached
to.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#hostname"&gt;Hostnames&lt;/a&gt; (optional)- Define a list of hostnames to use for
matching the Host header of HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httprouterule"&gt;Rules&lt;/a&gt;- Define a list of rules to perform actions against
matching HTTP requests. Each rule consists of &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutematch"&gt;matches&lt;/a&gt;,
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutefilter"&gt;filters&lt;/a&gt; (optional), &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httpbackendref"&gt;backendRefs&lt;/a&gt; (optional),
&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#httproutetimeouts"&gt;timeouts&lt;/a&gt; (optional), and &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#sectionname"&gt;name&lt;/a&gt; (optional) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following illustrates an HTTPRoute that sends all traffic to one Service:



&lt;img src="https://gateway-api.sigs.k8s.io/images/httproute-basic-example.svg" alt="httproute-basic-example"&gt;&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/docs/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httprequestmirrorfilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/latest/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httprequestmirrorfilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v0.5/user/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="/v0.5/user/http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v0.6/user/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.0/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.1/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.2/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.3/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.4/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.HTTPRequestMirrorFilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.5/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#httprequestmirrorfilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Request Mirroring</title><link>/v1.6/tasks/traffic/http-request-mirroring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-request-mirroring/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using &lt;a href="../http-traffic-splitting/"&gt;Traffic Splitting&lt;/a&gt;, but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API&amp;rsquo;s &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#httprequestmirrorfilter"&gt;HTTPRequestMirrorFilter&lt;/a&gt; on the &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When requests are made to a &lt;code&gt;HTTPRoute&lt;/code&gt; that uses a &lt;code&gt;HTTPRequestMirrorFilter&lt;/code&gt;, the response will never come from the &lt;code&gt;backendRef&lt;/code&gt; defined in the filter. Responses from the mirror &lt;code&gt;backendRef&lt;/code&gt; are always ignored.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/docs/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/latest/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v0.2/user/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v0.3/user/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v0.4/user/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v0.5/user/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v0.6/user/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.0/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.1/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.2/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.3/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.4/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1.BackendRef"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.5/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>HTTPRoute Traffic Splitting</title><link>/v1.6/tasks/traffic/http-traffic-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/http-traffic-splitting/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; resource allows one or more &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#backendref"&gt;backendRefs&lt;/a&gt; to be provided. Requests will be routed to these upstreams
if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned
with status code &lt;code&gt;500&lt;/code&gt; for all requests that would have been sent to that backend.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Introduce egctl</title><link>/v0.3/design/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/egctl/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;EG should provide a command line tool with following capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collect configuration from envoy proxy and gateway&lt;/li&gt;
&lt;li&gt;Analyse system configuration to diagnose any issues in envoy gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tool is named &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="syntax"&gt;Syntax&lt;a class="td-heading-self-link" href="#syntax" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use the following syntax to run &lt;code&gt;egctl&lt;/code&gt; commands from your terminal window:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;egctl [command] [entity] [name] [flags]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;command&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, and &lt;code&gt;flags&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;command&lt;/code&gt;: Specifies the operation that you want to perform on one or more resources,
for example &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/docs/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/guides/tcp/"&gt;TCPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/latest/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/guides/tcp/"&gt;TCPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/v1.1/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/v1.2/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/v1.3/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/v1.4/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/v1.5/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>IP Allowlist/Denylist</title><link>/v1.6/tasks/security/restrict-ip-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/restrict-ip-access/</guid><description>&lt;p&gt;This task provides instructions for configuring IP allowlist/denylist on Envoy Gateway. IP allowlist/denylist
checks if an incoming request is from an allowed IP address before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure IP allowlist/denylist.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/guides/tcp/"&gt;TCPRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/docs/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/latest/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v0.6/user/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/jwt-authentication/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../design/security-policy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.0/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.1/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.2/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.3/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.4/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.5/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Authentication</title><link>/v1.6/tasks/security/jwt-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/jwt-authentication/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/docs/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/latest/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/v1.2/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/v1.3/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/v1.4/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/v1.5/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>JWT Claim-Based Authorization</title><link>/v1.6/tasks/security/jwt-claim-authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/jwt-claim-authorization/</guid><description>&lt;p&gt;This task provides instructions for configuring JWT claim-based authorization. JWT claim-based authorization checks if an incoming request has the required JWT claims before routing the request to a backend service.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure JWT claim-based authorization.&lt;/p&gt;
&lt;p&gt;This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute"&gt;GRPCRoute&lt;/a&gt; resource.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/docs/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/docs/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, Envoy Gateway supports &lt;strong&gt;Endpoint Override&lt;/strong&gt; functionality that allows endpoint selection based on headers or metadata, which can be used with any of the above load balancing policies as a fallback.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/latest/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/latest/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, Envoy Gateway supports &lt;strong&gt;Endpoint Override&lt;/strong&gt; functionality that allows endpoint selection based on headers or metadata, which can be used with any of the above load balancing policies as a fallback.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.1/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired load balancing polices.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource. If &lt;code&gt;loadBalancer&lt;/code&gt; is not specified in &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;, the default load balancing policy is &lt;code&gt;Least Request&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.2/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired load balancing polices.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource. If &lt;code&gt;loadBalancer&lt;/code&gt; is not specified in &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;, the default load balancing policy is &lt;code&gt;Least Request&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.3/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired load balancing polices.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource. If &lt;code&gt;loadBalancer&lt;/code&gt; is not specified in &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;, the default load balancing policy is &lt;code&gt;Least Request&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.4/concepts/introduction/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.4/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.4/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; that allows the user to describe their desired load balancing polices.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;, &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; resource. If &lt;code&gt;loadBalancer&lt;/code&gt; is not specified in &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;, the default load balancing policy is &lt;code&gt;Least Request&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.5/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.5/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, Envoy Gateway supports &lt;strong&gt;Endpoint Override&lt;/strong&gt; functionality that allows endpoint selection based on headers or metadata, which can be used with any of the above load balancing policies as a fallback.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.6/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.6/tasks/traffic/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/load-balancing/</guid><description>&lt;p&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overview"&gt;Envoy load balancing&lt;/a&gt; is a way of distributing traffic between multiple hosts within a single upstream cluster
in order to effectively make use of available resources.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following load balancing policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;: a simple policy in which each available upstream host is selected in round robin order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random&lt;/strong&gt;: load balancer selects a random available host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Least Request&lt;/strong&gt;: load balancer uses different algorithms depending on whether hosts have the same or different weights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent Hash&lt;/strong&gt;: load balancer implements consistent hashing to upstream hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, Envoy Gateway supports &lt;strong&gt;Endpoint Override&lt;/strong&gt; functionality that allows endpoint selection based on headers or metadata, which can be used with any of the above load balancing policies as a fallback.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/docs/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/latest/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.0/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.1/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.2/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.3/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.4/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.5/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Local Rate Limit</title><link>/v1.6/tasks/traffic/local-rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/local-rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports two types of rate limiting: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting"&gt;Local rate limiting&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Lua Extensions</title><link>/docs/tasks/extensibility/lua/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/extensibility/lua/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with Lua extensions.&lt;/p&gt;
&lt;p&gt;Lua extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These comparatively light-weight extensions are written in the Lua scripting language using APIs defined &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter#stream-handle-api"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows the user to configure Lua extensions using the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; CRD.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource. If linked to both, the resource linked to the route takes precedence over those linked to Gateway.&lt;/p&gt;</description></item><item><title>Lua Extensions</title><link>/latest/tasks/extensibility/lua/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/lua/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with Lua extensions.&lt;/p&gt;
&lt;p&gt;Lua extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These comparatively light-weight extensions are written in the Lua scripting language using APIs defined &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter#stream-handle-api"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows the user to configure Lua extensions using the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; CRD.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource. If linked to both, the resource linked to the route takes precedence over those linked to Gateway.&lt;/p&gt;</description></item><item><title>Lua Extensions</title><link>/v1.4/tasks/extensibility/lua/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/extensibility/lua/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with Lua extensions.&lt;/p&gt;
&lt;p&gt;Lua extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These comparatively light-weight extensions are written in the Lua scripting language using APIs defined &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter#stream-handle-api"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows the user to configure Lua extensions using the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; CRD.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource. If linked to both, the resource linked to the route takes precedence over those linked to Gateway.&lt;/p&gt;</description></item><item><title>Lua Extensions</title><link>/v1.5/tasks/extensibility/lua/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/extensibility/lua/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with Lua extensions.&lt;/p&gt;
&lt;p&gt;Lua extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These comparatively light-weight extensions are written in the Lua scripting language using APIs defined &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter#stream-handle-api"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows the user to configure Lua extensions using the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; CRD.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource. If linked to both, the resource linked to the route takes precedence over those linked to Gateway.&lt;/p&gt;</description></item><item><title>Lua Extensions</title><link>/v1.6/tasks/extensibility/lua/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/extensibility/lua/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with Lua extensions.&lt;/p&gt;
&lt;p&gt;Lua extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These comparatively light-weight extensions are written in the Lua scripting language using APIs defined &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter#stream-handle-api"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway allows the user to configure Lua extensions using the &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; CRD.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; or &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource. If linked to both, the resource linked to the route takes precedence over those linked to Gateway.&lt;/p&gt;</description></item><item><title>Maintainers</title><link>/contributions/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/codeowners/</guid><description>&lt;h2 id="the-following-maintainers-listed-in-alphabetical-order-own-everything"&gt;The following maintainers, listed in alphabetical order, own everything&lt;a class="td-heading-self-link" href="#the-following-maintainers-listed-in-alphabetical-order-own-everything" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@arkodg&lt;/li&gt;
&lt;li&gt;@cnvergence&lt;/li&gt;
&lt;li&gt;@guydc&lt;/li&gt;
&lt;li&gt;@jukie&lt;/li&gt;
&lt;li&gt;@kkk777-7&lt;/li&gt;
&lt;li&gt;@rudrakhp&lt;/li&gt;
&lt;li&gt;@shawnh2&lt;/li&gt;
&lt;li&gt;@Xunzhuo&lt;/li&gt;
&lt;li&gt;@zhaohuabing&lt;/li&gt;
&lt;li&gt;@zirain&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="emeritus-maintainers"&gt;Emeritus Maintainers&lt;a class="td-heading-self-link" href="#emeritus-maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@alexgervais&lt;/li&gt;
&lt;li&gt;@Alice-Lilith&lt;/li&gt;
&lt;li&gt;@danehans&lt;/li&gt;
&lt;li&gt;@LukeShu&lt;/li&gt;
&lt;li&gt;@qicz&lt;/li&gt;
&lt;li&gt;@skriss&lt;/li&gt;
&lt;li&gt;@youngnick&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Maintainers</title><link>/v0.2/contributions/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/codeowners/</guid><description>&lt;h2 id="the-following-maintainers-listed-in-alphabetical-order-own-everything"&gt;The following maintainers, listed in alphabetical order, own everything&lt;a class="td-heading-self-link" href="#the-following-maintainers-listed-in-alphabetical-order-own-everything" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@Alice-Lilith&lt;/li&gt;
&lt;li&gt;@arkodg&lt;/li&gt;
&lt;li&gt;@Xunzhuo&lt;/li&gt;
&lt;li&gt;@zirain&lt;/li&gt;
&lt;li&gt;@qicz&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="emeritus-maintainers"&gt;Emeritus Maintainers&lt;a class="td-heading-self-link" href="#emeritus-maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@danehans&lt;/li&gt;
&lt;li&gt;@alexgervais&lt;/li&gt;
&lt;li&gt;@skriss&lt;/li&gt;
&lt;li&gt;@youngnick&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Maintainers</title><link>/v0.3/contributions/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/codeowners/</guid><description>&lt;h2 id="the-following-maintainers-listed-in-alphabetical-order-own-everything"&gt;The following maintainers, listed in alphabetical order, own everything&lt;a class="td-heading-self-link" href="#the-following-maintainers-listed-in-alphabetical-order-own-everything" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@Alice-Lilith&lt;/li&gt;
&lt;li&gt;@arkodg&lt;/li&gt;
&lt;li&gt;@Xunzhuo&lt;/li&gt;
&lt;li&gt;@zirain&lt;/li&gt;
&lt;li&gt;@qicz&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="emeritus-maintainers"&gt;Emeritus Maintainers&lt;a class="td-heading-self-link" href="#emeritus-maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@danehans&lt;/li&gt;
&lt;li&gt;@alexgervais&lt;/li&gt;
&lt;li&gt;@skriss&lt;/li&gt;
&lt;li&gt;@youngnick&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Maintainers</title><link>/v0.4/contributions/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/codeowners/</guid><description>&lt;h2 id="the-following-maintainers-listed-in-alphabetical-order-own-everything"&gt;The following maintainers, listed in alphabetical order, own everything&lt;a class="td-heading-self-link" href="#the-following-maintainers-listed-in-alphabetical-order-own-everything" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@Alice-Lilith&lt;/li&gt;
&lt;li&gt;@arkodg&lt;/li&gt;
&lt;li&gt;@Xunzhuo&lt;/li&gt;
&lt;li&gt;@zirain&lt;/li&gt;
&lt;li&gt;@qicz&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="emeritus-maintainers"&gt;Emeritus Maintainers&lt;a class="td-heading-self-link" href="#emeritus-maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@danehans&lt;/li&gt;
&lt;li&gt;@alexgervais&lt;/li&gt;
&lt;li&gt;@skriss&lt;/li&gt;
&lt;li&gt;@youngnick&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Maintainers</title><link>/v0.5/contributions/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/codeowners/</guid><description>&lt;h2 id="the-following-maintainers-listed-in-alphabetical-order-own-everything"&gt;The following maintainers, listed in alphabetical order, own everything&lt;a class="td-heading-self-link" href="#the-following-maintainers-listed-in-alphabetical-order-own-everything" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@Alice-Lilith&lt;/li&gt;
&lt;li&gt;@arkodg&lt;/li&gt;
&lt;li&gt;@Xunzhuo&lt;/li&gt;
&lt;li&gt;@zirain&lt;/li&gt;
&lt;li&gt;@qicz&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="emeritus-maintainers"&gt;Emeritus Maintainers&lt;a class="td-heading-self-link" href="#emeritus-maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@danehans&lt;/li&gt;
&lt;li&gt;@alexgervais&lt;/li&gt;
&lt;li&gt;@skriss&lt;/li&gt;
&lt;li&gt;@youngnick&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Maintainers</title><link>/v0.6/contributions/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/codeowners/</guid><description>&lt;h2 id="the-following-maintainers-listed-in-alphabetical-order-own-everything"&gt;The following maintainers, listed in alphabetical order, own everything&lt;a class="td-heading-self-link" href="#the-following-maintainers-listed-in-alphabetical-order-own-everything" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@Alice-Lilith&lt;/li&gt;
&lt;li&gt;@arkodg&lt;/li&gt;
&lt;li&gt;@Xunzhuo&lt;/li&gt;
&lt;li&gt;@zirain&lt;/li&gt;
&lt;li&gt;@qicz&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="emeritus-maintainers"&gt;Emeritus Maintainers&lt;a class="td-heading-self-link" href="#emeritus-maintainers" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;@danehans&lt;/li&gt;
&lt;li&gt;@alexgervais&lt;/li&gt;
&lt;li&gt;@skriss&lt;/li&gt;
&lt;li&gt;@youngnick&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Metadata in XDS resources</title><link>/contributions/design/metadata/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/metadata/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In Envoy, &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata"&gt;static metadata&lt;/a&gt; can be configured on various resources: &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto#envoy-v3-api-msg-config-listener-v3-listener"&gt;listener&lt;/a&gt;, &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-virtualhost"&gt;virtual host&lt;/a&gt;, &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-route"&gt;route&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto"&gt;cluster&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Static metadata can be used for various purposes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Observability: enrichment of access logs and traces with &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/formatter/metadata/v3/metadata.proto.html#formatter-extension-for-printing-various-types-of-metadata-proto"&gt;metadata formatters&lt;/a&gt; and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/type/tracing/v3/custom_tag.proto.html#envoy-v3-api-msg-type-tracing-v3-customtag-metadata"&gt;custom tags&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Processing: provide configuration context to filters in a certain scope (e.g. vhost, route, etc.).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This document describes how Envoy Gateway manages &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata"&gt;static metadata&lt;/a&gt; for various XDS resource such as listeners, virtual hosts, routes, clusters and endpoints.&lt;/p&gt;



&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway propagates certain attributes of &lt;a href="https://gateway-api.sigs.k8s.io"&gt;Gateway-API&lt;/a&gt; resources to XDS resources. Attributes include:&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/docs/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. Two tools are available to help with this migration:&lt;/p&gt;



&lt;h3 id="ingress2gateway"&gt;ingress2gateway&lt;a class="td-heading-self-link" href="#ingress2gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The official &lt;code&gt;ingress2gateway&lt;/code&gt; tool (maintained by Kubernetes SIG-Network) transforms Ingress resources into Gateway API resources.&lt;/p&gt;



&lt;h3 id="ingress2eg"&gt;ingress2eg&lt;a class="td-heading-self-link" href="#ingress2eg" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;ingress2eg&lt;/code&gt; tool is an &lt;strong&gt;unofficial proof-of-concept&lt;/strong&gt; forked from ingress2gateway with additional capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NGINX Annotation Support&lt;/strong&gt;: Converts NGINX-specific annotations (16+ feature categories including session affinity, authentication, rate limiting, CORS, canary deployments, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Envoy Gateway CRD Output&lt;/strong&gt;: Generates not only Gateway API resources (Gateway, HTTPRoute) but also Envoy Gateway specific CRDs (BackendTrafficPolicy, SecurityPolicy, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We aim to get this feature merged upstream in &lt;code&gt;ingress2gateway&lt;/code&gt; as well.&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/latest/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. Two tools are available to help with this migration:&lt;/p&gt;



&lt;h3 id="ingress2gateway"&gt;ingress2gateway&lt;a class="td-heading-self-link" href="#ingress2gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The official &lt;code&gt;ingress2gateway&lt;/code&gt; tool (maintained by Kubernetes SIG-Network) transforms Ingress resources into Gateway API resources.&lt;/p&gt;



&lt;h3 id="ingress2eg"&gt;ingress2eg&lt;a class="td-heading-self-link" href="#ingress2eg" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;ingress2eg&lt;/code&gt; tool is an &lt;strong&gt;unofficial proof-of-concept&lt;/strong&gt; forked from ingress2gateway with additional capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NGINX Annotation Support&lt;/strong&gt;: Converts NGINX-specific annotations (16+ feature categories including session affinity, authentication, rate limiting, CORS, canary deployments, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Envoy Gateway CRD Output&lt;/strong&gt;: Generates not only Gateway API resources (Gateway, HTTPRoute) but also Envoy Gateway specific CRDs (BackendTrafficPolicy, SecurityPolicy, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We aim to get this feature merged upstream in &lt;code&gt;ingress2gateway&lt;/code&gt; as well.&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/v1.2/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. The &lt;code&gt;ingress2gateway&lt;/code&gt; tool simplifies this migration by transforming Ingress resources into Gateway API resources that Envoy Gateway can use. This guide will walk you through the prerequisites, installation of the &lt;code&gt;ingress2gateway&lt;/code&gt; tool, and provide an example migration process.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Before you start the migration, ensure you have the following:&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/v1.3/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. The &lt;code&gt;ingress2gateway&lt;/code&gt; tool simplifies this migration by transforming Ingress resources into Gateway API resources that Envoy Gateway can use. This guide will walk you through the prerequisites, installation of the &lt;code&gt;ingress2gateway&lt;/code&gt; tool, and provide an example migration process.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Before you start the migration, ensure you have the following:&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/v1.4/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. The &lt;code&gt;ingress2gateway&lt;/code&gt; tool simplifies this migration by transforming Ingress resources into Gateway API resources that Envoy Gateway can use. This guide will walk you through the prerequisites, installation of the &lt;code&gt;ingress2gateway&lt;/code&gt; tool, and provide an example migration process.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Before you start the migration, ensure you have the following:&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/v1.5/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. Two tools are available to help with this migration:&lt;/p&gt;



&lt;h3 id="ingress2gateway"&gt;ingress2gateway&lt;a class="td-heading-self-link" href="#ingress2gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The official &lt;code&gt;ingress2gateway&lt;/code&gt; tool (maintained by Kubernetes SIG-Network) transforms Ingress resources into Gateway API resources.&lt;/p&gt;



&lt;h3 id="ingress2eg"&gt;ingress2eg&lt;a class="td-heading-self-link" href="#ingress2eg" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;ingress2eg&lt;/code&gt; tool is an &lt;strong&gt;unofficial proof-of-concept&lt;/strong&gt; forked from ingress2gateway with additional capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NGINX Annotation Support&lt;/strong&gt;: Converts NGINX-specific annotations (16+ feature categories including session affinity, authentication, rate limiting, CORS, canary deployments, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Envoy Gateway CRD Output&lt;/strong&gt;: Generates not only Gateway API resources (Gateway, HTTPRoute) but also Envoy Gateway specific CRDs (BackendTrafficPolicy, SecurityPolicy, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We aim to get this feature merged upstream in &lt;code&gt;ingress2gateway&lt;/code&gt; as well.&lt;/p&gt;</description></item><item><title>Migrating from Ingress Resources</title><link>/v1.6/install/migrating-to-envoy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/install/migrating-to-envoy/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Migrating from Ingress to Envoy Gateway involves converting existing Ingress resources into resources compatible with Envoy Gateway. Two tools are available to help with this migration:&lt;/p&gt;



&lt;h3 id="ingress2gateway"&gt;ingress2gateway&lt;a class="td-heading-self-link" href="#ingress2gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The official &lt;code&gt;ingress2gateway&lt;/code&gt; tool (maintained by Kubernetes SIG-Network) transforms Ingress resources into Gateway API resources.&lt;/p&gt;



&lt;h3 id="ingress2eg"&gt;ingress2eg&lt;a class="td-heading-self-link" href="#ingress2eg" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;ingress2eg&lt;/code&gt; tool is an &lt;strong&gt;unofficial proof-of-concept&lt;/strong&gt; forked from ingress2gateway with additional capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NGINX Annotation Support&lt;/strong&gt;: Converts NGINX-specific annotations (16+ feature categories including session affinity, authentication, rate limiting, CORS, canary deployments, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Envoy Gateway CRD Output&lt;/strong&gt;: Generates not only Gateway API resources (Gateway, HTTPRoute) but also Envoy Gateway specific CRDs (BackendTrafficPolicy, SecurityPolicy, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We aim to get this feature merged upstream in &lt;code&gt;ingress2gateway&lt;/code&gt; as well.&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/docs/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/latest/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v0.6/user/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.0/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.1/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.2/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.3/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.4/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.5/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Multicluster Service Routing</title><link>/v1.6/tasks/traffic/multicluster-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/multicluster-service/</guid><description>&lt;p&gt;The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow &lt;a href="https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/"&gt;sig documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will use &lt;a href="https://github.com/submariner-io/submariner"&gt;Submariner project&lt;/a&gt; for setting up the multicluster environment for exporting the service to be routed from peer clusters.&lt;/p&gt;



&lt;h2 id="setting-kind-clusters-and-installing-submariner"&gt;Setting KIND clusters and installing Submariner.&lt;a class="td-heading-self-link" href="#setting-kind-clusters-and-installing-submariner" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We will be using KIND clusters to demonstrate this example.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/submariner-io/submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;cd&lt;/span&gt; submariner-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clusters
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: remain in submariner-operator directory for the rest of the steps in this section&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/docs/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/latest/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.0/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.1/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.2/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.3/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.4/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.5/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Mutual TLS: External Clients to the Gateway</title><link>/v1.6/tasks/security/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/mutual-tls/</guid><description>&lt;p&gt;This task demonstrates how mutual TLS can be achieved between external clients and the Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Observability: Accesslog</title><link>/v0.5/design/accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/accesslog/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy supports extensible accesslog to different sinks, File, gRPC etc. Envoy supports customizable access log formats using predefined fields as well as arbitrary HTTP request and response headers. Envoy supports several built-in access log filters and extension filters that are registered at runtime.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since accesslog is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config access log formats and sinks per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Observability: Accesslog</title><link>/v0.6/design/accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/accesslog/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy supports extensible accesslog to different sinks, File, gRPC etc. Envoy supports customizable access log formats using predefined fields as well as arbitrary HTTP request and response headers. Envoy supports several built-in access log filters and extension filters that are registered at runtime.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since accesslog is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config access log formats and sinks per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Observability: Metrics</title><link>/v0.5/design/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/metrics/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy provide robust platform for metrics, Envoy support three different kinds of stats: counter, gauges, histograms.&lt;/p&gt;
&lt;p&gt;Envoy enables prometheus format output via the &lt;code&gt;/stats/prometheus&lt;/code&gt; &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/operations/admin"&gt;admin endpoint&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy support different kinds of sinks, but EG will only support &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/stat_sinks/open_telemetry/v3/open_telemetry.proto"&gt;Open Telemetry sink&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since metrics is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config metrics per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Observability: Metrics</title><link>/v0.6/design/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/metrics/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy provide robust platform for metrics, Envoy support three different kinds of stats: counter, gauges, histograms.&lt;/p&gt;
&lt;p&gt;Envoy enables prometheus format output via the &lt;code&gt;/stats/prometheus&lt;/code&gt; &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/operations/admin"&gt;admin endpoint&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy support different kinds of sinks, but EG will only support &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/stat_sinks/open_telemetry/v3/open_telemetry.proto"&gt;Open Telemetry sink&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since metrics is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config metrics per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Observability: Tracing</title><link>/v0.5/design/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/tracing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy supports extensible tracing to different sinks, Zipkin, OpenTelemetry etc. Overview of Envoy tracing can be found &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since tracing is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config tracing per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Only OpenTelemetry sink can be configured currently, you can use &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; to export to other tracing backends.&lt;/p&gt;</description></item><item><title>Observability: Tracing</title><link>/v0.6/design/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/tracing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy supports extensible tracing to different sinks, Zipkin, OpenTelemetry etc. Overview of Envoy tracing can be found &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since tracing is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, EG should provide an easy to config tracing per &lt;code&gt;EnvoyProxy&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Only OpenTelemetry sink can be configured currently, you can use &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; to export to other tracing backends.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/docs/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/latest/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.0/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.1/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="/contributions/design/security-policy/"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.2/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.3/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.4/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.5/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OIDC Authentication</title><link>/v1.6/tasks/security/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/oidc/</guid><description>&lt;p&gt;This task provides instructions for configuring &lt;a href="https://openid.net/connect/"&gt;OpenID Connect (OIDC)&lt;/a&gt; authentication.
OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0.
It enables EG to rely on authentication that is performed by an OpenID Connect Provider (OP)
to verify the identity of a user.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#securitypolicy"&gt;SecurityPolicy&lt;/a&gt; that allows the user to configure OIDC
authentication.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>OPA Sidecar with Unix Domain Socket</title><link>/latest/tasks/extensibility/opa-sidecar-unix-domain-socket/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/opa-sidecar-unix-domain-socket/</guid><description>&lt;p&gt;This task demonstrates how to deploy an Open Policy Agent (OPA) sidecar inside Envoy Proxy pods created by Envoy Gateway, with Envoy Proxy communicating with OPA over a Unix Domain Socket.&lt;/p&gt;
&lt;p&gt;The setup provides these advantages over running OPA as its own Kubernetes service:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using a sidecar ensures that the OPA is always on the same worker node as Envoy Proxy. This reduces latency and simplifies access control.&lt;/li&gt;
&lt;li&gt;Using a Unix Domain Socket avoids TCP/TLS overhead while improving security by avoiding network exposure and reduces latency.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This production-ready approach uses Envoy Gateway&amp;rsquo;s extension APIs to configure Envoy Proxy&amp;rsquo;s external authorization and standard Kubernetes API objects to configure OPA&amp;rsquo;s Envoy External Authorization gRPC plugin.&lt;/p&gt;</description></item><item><title>Open Source Ecosystem</title><link>/contributions/ecosystem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/ecosystem/</guid><description>&lt;h1 id="envoy-gateway-oss-ecosystem-"&gt;Envoy Gateway OSS Ecosystem 🌐&lt;a class="td-heading-self-link" href="#envoy-gateway-oss-ecosystem-" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://gateway.envoyproxy.io"&gt;Envoy Gateway&lt;/a&gt; powers modern API gateway solutions while embracing the collaborative spirit of open source. This section highlights projects that extend, integrate with, or leverage Envoy Gateway&amp;rsquo;s capabilities.&lt;/p&gt;



&lt;h2 id="why-add-your-project"&gt;Why Add Your Project?&lt;a class="td-heading-self-link" href="#why-add-your-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;By listing your open source project here, you help:&lt;/p&gt;
&lt;p&gt;🌱 &lt;strong&gt;Boost Visibility&lt;/strong&gt; - Showcase how your project interacts with Envoy Gateway to thousands of cloud-native developers&lt;br&gt;
🤝 &lt;strong&gt;Encourage Collaboration&lt;/strong&gt; - Attract contributors and foster interoperability within the ecosystem&lt;/p&gt;</description></item><item><title>Performance Benchmark Report Explorer</title><link>/tools/benchmark-report-explorer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/tools/benchmark-report-explorer/</guid><description>&lt;style&gt;
 .bt-container {
 max-width: 1200px;
 margin: 0 auto;
 padding: 2rem;
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
 }

 .bt-title {
 font-size: 3.5rem;
 font-weight: 800;
 margin-bottom: 2.5rem;
 background: linear-gradient(135deg, #9333EA 0%, #4F46E5 100%);
 -webkit-background-clip: text;
 background-clip: text;
 -webkit-text-fill-color: transparent;
 line-height: 1.4;
 letter-spacing: -0.02em;
 }

 .bt-description {
 font-size: 1.25rem;
 color: #666;
 margin-bottom: 2rem;
 line-height: 1.6;
 }
&lt;/style&gt;
&lt;div class="bt-container"&gt;
 &lt;h1 class="bt-title"&gt;Performance Benchmark Report Explorer&lt;/h1&gt;
 &lt;p class="bt-description"&gt;
 Explore benchmark results from Envoy Gateway Releleases. The test code is open source and available for you to run and contribute to.
 &lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/docs/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/latest/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/v1.1/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; is disabled.&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/v1.2/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;





&lt;h3 id="install-add-ons"&gt;Install Add-ons&lt;a class="td-heading-self-link" href="#install-add-ons" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Envoy Gateway provides an add-ons Helm chart to simplify the installation of observability components.&lt;br&gt;
The documentation for the add-ons chart can be found
&lt;a href="https://gateway.envoyproxy.io/docs/install/gateway-addons-helm-api/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/v1.3/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/v1.4/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/v1.5/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Access Logs</title><link>/v1.6/tasks/observability/proxy-accesslog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/proxy-accesslog/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy access logs.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/docs/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/latest/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/v1.1/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; is disabled.&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/v1.2/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;





&lt;h3 id="install-add-ons"&gt;Install Add-ons&lt;a class="td-heading-self-link" href="#install-add-ons" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Envoy Gateway provides an add-ons Helm chart to simplify the installation of observability components.&lt;br&gt;
The documentation for the add-ons chart can be found
&lt;a href="https://gateway.envoyproxy.io/docs/install/gateway-addons-helm-api/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/v1.3/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/v1.4/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/v1.5/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Metrics</title><link>/v1.6/tasks/observability/proxy-metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/proxy-metric/</guid><description>&lt;p&gt;Envoy Gateway offers observability for both the Control Plane and the underlying Envoy Proxy instances.
This task shows you how to configure proxy metrics.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Proxy Observability</title><link>/v0.5/user/proxy-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/proxy-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This guide show you how to config proxy observability, includes metrics, logs, and traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fluentbit.io/"&gt;FluentBit&lt;/a&gt; is used to collect logs from the EnvoyProxy instances and forward them to Loki. Install FluentBit:&lt;/p&gt;</description></item><item><title>Proxy Observability</title><link>/v0.6/user/proxy-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/proxy-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This guide show you how to config proxy observability, includes metrics, logs, and traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fluentbit.io/"&gt;FluentBit&lt;/a&gt; is used to collect logs from the EnvoyProxy instances and forward them to Loki. Install FluentBit:&lt;/p&gt;</description></item><item><title>Proxy Observability</title><link>/v1.0/tasks/observability/proxy-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/observability/proxy-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This guide show you how to config proxy observability, includes metrics, logs, and traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.0/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fluentbit.io/"&gt;FluentBit&lt;/a&gt; is used to collect logs from the EnvoyProxy instances and forward them to Loki. Install FluentBit:&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/docs/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/latest/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/v1.1/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; is disabled.&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/v1.2/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;





&lt;h3 id="install-add-ons"&gt;Install Add-ons&lt;a class="td-heading-self-link" href="#install-add-ons" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Envoy Gateway provides an add-ons Helm chart to simplify the installation of observability components.&lt;br&gt;
The documentation for the add-ons chart can be found
&lt;a href="https://gateway.envoyproxy.io/docs/install/gateway-addons-helm-api/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/v1.3/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.3.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/v1.4/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.4.6 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/v1.5/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.5.8 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Proxy Tracing</title><link>/v1.6/tasks/observability/proxy-trace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/proxy-trace/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances.
This task show you how to config proxy tracing.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>Rate limit</title><link>/v0.3/user/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implements Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt;, where the rate limit is common across all the instances of Envoy proxies where its applied
i.e. if the data plane has 2 replicas of Envoy running, and the rate limit is 10 requests/second, this limit is common and will be hit
if 5 requests pass through the first replica and 5 requests pass through the second replica within the same second.&lt;/p&gt;</description></item><item><title>Rate limit</title><link>/v0.4/user/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implements Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt;, where the rate limit is common across all the instances of Envoy proxies where its applied
i.e. if the data plane has 2 replicas of Envoy running, and the rate limit is 10 requests/second, this limit is common and will be hit
if 5 requests pass through the first replica and 5 requests pass through the second replica within the same second.&lt;/p&gt;</description></item><item><title>Rate Limit</title><link>/v0.5/user/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implements Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt;, where the rate limit is common across all the instances of Envoy proxies where its applied
i.e. if the data plane has 2 replicas of Envoy running, and the rate limit is 10 requests/second, this limit is common and will be hit
if 5 requests pass through the first replica and 5 requests pass through the second replica within the same second.&lt;/p&gt;</description></item><item><title>Rate Limit</title><link>/v0.6/user/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/rate-limit/</guid><description>&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why you may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Envoy Gateway supports &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting"&gt;Global rate limiting&lt;/a&gt;, where the rate limit is common across all the instances of Envoy proxies where its applied
i.e. if the data plane has 2 replicas of Envoy running, and the rate limit is 10 requests/second, this limit is common and will be hit
if 5 requests pass through the first replica and 5 requests pass through the second replica within the same second.&lt;/p&gt;</description></item><item><title>Rate Limit Design</title><link>/contributions/design/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/rate-limit/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests
to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why a user may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="scope-types"&gt;Scope Types&lt;a class="td-heading-self-link" href="#scope-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The rate limit type here describes the scope of rate limits.&lt;/p&gt;</description></item><item><title>Rate Limit Design</title><link>/v0.3/design/ratelimit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/ratelimit/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests
to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why a user may want to implements Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="scope-types"&gt;Scope Types&lt;a class="td-heading-self-link" href="#scope-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The rate limit type here describes the scope of rate limits.&lt;/p&gt;</description></item><item><title>Rate Limit Design</title><link>/v0.4/design/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/rate-limit/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests
to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why a user may want to implements Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="scope-types"&gt;Scope Types&lt;a class="td-heading-self-link" href="#scope-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The rate limit type here describes the scope of rate limits.&lt;/p&gt;</description></item><item><title>Rate Limit Design</title><link>/v0.5/design/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/rate-limit/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests
to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why a user may want to implements Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="scope-types"&gt;Scope Types&lt;a class="td-heading-self-link" href="#scope-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The rate limit type here describes the scope of rate limits.&lt;/p&gt;</description></item><item><title>Rate Limit Design</title><link>/v0.6/design/rate-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/rate-limit/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limit is a feature that allows the user to limit the number of incoming requests
to a predefined value based on attributes within the traffic flow.&lt;/p&gt;
&lt;p&gt;Here are some reasons why a user may want to implement Rate limits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To prevent malicious activity such as DDoS attacks.&lt;/li&gt;
&lt;li&gt;To prevent applications and its resources (such as a database) from getting overloaded.&lt;/li&gt;
&lt;li&gt;To create API limits based on user entitlements.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="scope-types"&gt;Scope Types&lt;a class="td-heading-self-link" href="#scope-types" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The rate limit type here describes the scope of rate limits.&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/docs/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/latest/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/v1.4/concepts/introduction/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/v1.4/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/v1.5/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/v1.6/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/docs/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/latest/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/v1.1/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; is disabled.&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/v1.2/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;



&lt;ul class="nav nav-tabs" id="tabs-0" role="tablist"&gt;
 &lt;li class="nav-item"&gt;
 &lt;button class="nav-link active"
 id="tabs-00-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-00" role="tab"
 data-td-tp-persist="kubectl" aria-controls="tabs-00-00" aria-selected="true"&gt;
 kubectl
 &lt;/button&gt;
 &lt;/li&gt;&lt;li class="nav-item"&gt;
 &lt;button class="nav-link"
 id="tabs-00-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-00-01" role="tab"
 data-td-tp-persist="egctl (experimental)" aria-controls="tabs-00-01" aria-selected="false"&gt;
 egctl (experimental)
 &lt;/button&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="tab-content" id="tabs-0-content"&gt;
 &lt;div class="tab-body tab-pane fade show active"
 id="tabs-00-00" role="tabpanel" aria-labelled-by="tabs-00-00-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get gateway/eg -o yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="tab-body tab-pane fade"
 id="tabs-00-01" role="tabpanel" aria-labelled-by="tabs-00-01-tab" tabindex="0"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;egctl x status gateway -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;





&lt;h3 id="install-add-ons"&gt;Install Add-ons&lt;a class="td-heading-self-link" href="#install-add-ons" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Envoy Gateway provides an add-ons Helm chart to simplify the installation of observability components.&lt;br&gt;
The documentation for the add-ons chart can be found
&lt;a href="https://gateway.envoyproxy.io/docs/install/gateway-addons-helm-api/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/v1.3/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.3.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/v1.4/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.4.6 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/v1.5/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.5.8 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>RateLimit Observability</title><link>/v1.6/tasks/observability/rate-limit-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/rate-limit-observability/</guid><description>&lt;p&gt;Envoy Gateway provides observability for the RateLimit instances.
This guide show you how to config RateLimit observability, includes traces.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.3 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the GatewayClass, Gateway, HTTPRoute and example app:&lt;/p&gt;</description></item><item><title>ReferenceGrant</title><link>/docs/api/gateway_api/referencegrant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/api/gateway_api/referencegrant/</guid><description>&lt;pre&gt;&lt;code&gt;The `ReferenceGrant` resource is Beta and part of the
Standard Channel since `v0.6.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).

This resource was originally named &amp;quot;ReferencePolicy&amp;quot;. It was renamed
to &amp;quot;ReferenceGrant&amp;quot; to avoid any confusion with policy attachment.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A ReferenceGrant can be used to enable cross namespace references within
Gateway API. In particular, Routes may forward traffic to backends in other
namespaces, or Gateways may refer to Secrets in another namespace.&lt;/p&gt;</description></item><item><title>ReferenceGrant</title><link>/latest/api/gateway_api/referencegrant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/api/gateway_api/referencegrant/</guid><description>&lt;pre&gt;&lt;code&gt;The `ReferenceGrant` resource is Beta and part of the
Standard Channel since `v0.6.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).

This resource was originally named &amp;quot;ReferencePolicy&amp;quot;. It was renamed
to &amp;quot;ReferenceGrant&amp;quot; to avoid any confusion with policy attachment.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A ReferenceGrant can be used to enable cross namespace references within
Gateway API. In particular, Routes may forward traffic to backends in other
namespaces, or Gateways may refer to Secrets in another namespace.&lt;/p&gt;</description></item><item><title>ReferenceGrant</title><link>/v1.3/api/gateway_api/referencegrant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/api/gateway_api/referencegrant/</guid><description>&lt;pre&gt;&lt;code&gt;The `ReferenceGrant` resource is Beta and part of the 
Standard Channel since `v0.6.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).

This resource was originally named &amp;quot;ReferencePolicy&amp;quot;. It was renamed
to &amp;quot;ReferenceGrant&amp;quot; to avoid any confusion with policy attachment.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A ReferenceGrant can be used to enable cross namespace references within
Gateway API. In particular, Routes may forward traffic to backends in other
namespaces, or Gateways may refer to Secrets in another namespace.&lt;/p&gt;</description></item><item><title>ReferenceGrant</title><link>/v1.4/api/gateway_api/referencegrant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/api/gateway_api/referencegrant/</guid><description>&lt;pre&gt;&lt;code&gt;The `ReferenceGrant` resource is Beta and part of the
Standard Channel since `v0.6.0`. For more information on release
channels, refer to our [versioning guide](../concepts/versioning).

This resource was originally named &amp;quot;ReferencePolicy&amp;quot;. It was renamed
to &amp;quot;ReferenceGrant&amp;quot; to avoid any confusion with policy attachment.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A ReferenceGrant can be used to enable cross namespace references within
Gateway API. In particular, Routes may forward traffic to backends in other
namespaces, or Gateways may refer to Secrets in another namespace.&lt;/p&gt;</description></item><item><title>ReferenceGrant</title><link>/v1.5/api/gateway_api/referencegrant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/api/gateway_api/referencegrant/</guid><description>&lt;pre&gt;&lt;code&gt;The `ReferenceGrant` resource is Beta and part of the
Standard Channel since `v0.6.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).

This resource was originally named &amp;quot;ReferencePolicy&amp;quot;. It was renamed
to &amp;quot;ReferenceGrant&amp;quot; to avoid any confusion with policy attachment.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A ReferenceGrant can be used to enable cross namespace references within
Gateway API. In particular, Routes may forward traffic to backends in other
namespaces, or Gateways may refer to Secrets in another namespace.&lt;/p&gt;</description></item><item><title>ReferenceGrant</title><link>/v1.6/api/gateway_api/referencegrant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/api/gateway_api/referencegrant/</guid><description>&lt;pre&gt;&lt;code&gt;The `ReferenceGrant` resource is Beta and part of the
Standard Channel since `v0.6.0`. For more information on release
channels, refer to our [versioning guide](https://gateway-api.sigs.k8s.io/concepts/versioning).

This resource was originally named &amp;quot;ReferencePolicy&amp;quot;. It was renamed
to &amp;quot;ReferenceGrant&amp;quot; to avoid any confusion with policy attachment.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A ReferenceGrant can be used to enable cross namespace references within
Gateway API. In particular, Routes may forward traffic to backends in other
namespaces, or Gateways may refer to Secrets in another namespace.&lt;/p&gt;</description></item><item><title>Release Process</title><link>/contributions/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/releasing/</guid><description>&lt;p&gt;This document guides maintainers through the process of creating an Envoy Gateway release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#release-candidate"&gt;Release Candidate&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#minor-release"&gt;Minor Release&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#prerequisites-1"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#announce-the-release"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#patch-release"&gt;Patch Release&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#prerequisites-2"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/contributions/releasing/#announce-the-release-1"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="release-candidate"&gt;Release Candidate&lt;a class="td-heading-self-link" href="#release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The following steps should be used for creating a release candidate.&lt;/p&gt;



&lt;h3 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions to push to the Envoy Gateway repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set environment variables for use in subsequent steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MAJOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MINOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;RELEASE_CANDIDATE_NUMBER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;GITHUB_REMOTE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;origin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo, checkout the &lt;code&gt;main&lt;/code&gt; branch, ensure it’s up-to-date, and your local branch is clean.&lt;/p&gt;</description></item><item><title>Release Process</title><link>/v0.2/contributions/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/releasing/</guid><description>&lt;p&gt;This document guides maintainers through the process of creating an Envoy Gateway release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.2/contributions/releasing/#release-candidate"&gt;Release Candidate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.2/contributions/releasing/#minor-release"&gt;Minor Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.2/contributions/releasing/#announce-the-release"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="release-candidate"&gt;Release Candidate&lt;a class="td-heading-self-link" href="#release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The following steps should be used for creating a release candidate.&lt;/p&gt;



&lt;h3 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions to push to the Envoy Gateway repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set environment variables for use in subsequent steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MAJOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MINOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;RELEASE_CANDIDATE_NUMBER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;GITHUB_REMOTE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;origin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo, checkout the &lt;code&gt;main&lt;/code&gt; branch, ensure it’s up-to-date, and your local branch is clean.&lt;/p&gt;</description></item><item><title>Release Process</title><link>/v0.3/contributions/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/releasing/</guid><description>&lt;p&gt;This document guides maintainers through the process of creating an Envoy Gateway release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.3/contributions/releasing/#release-candidate"&gt;Release Candidate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.3/contributions/releasing/#minor-release"&gt;Minor Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.3/contributions/releasing/#announce-the-release"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="release-candidate"&gt;Release Candidate&lt;a class="td-heading-self-link" href="#release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The following steps should be used for creating a release candidate.&lt;/p&gt;



&lt;h3 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions to push to the Envoy Gateway repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set environment variables for use in subsequent steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MAJOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MINOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;RELEASE_CANDIDATE_NUMBER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;GITHUB_REMOTE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;origin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo, checkout the &lt;code&gt;main&lt;/code&gt; branch, ensure it’s up-to-date, and your local branch is clean.&lt;/p&gt;</description></item><item><title>Release Process</title><link>/v0.4/contributions/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/releasing/</guid><description>&lt;p&gt;This document guides maintainers through the process of creating an Envoy Gateway release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.4/contributions/releasing/#release-candidate"&gt;Release Candidate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.4/contributions/releasing/#minor-release"&gt;Minor Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.4/contributions/releasing/#announce-the-release"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="release-candidate"&gt;Release Candidate&lt;a class="td-heading-self-link" href="#release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The following steps should be used for creating a release candidate.&lt;/p&gt;



&lt;h3 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions to push to the Envoy Gateway repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set environment variables for use in subsequent steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MAJOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MINOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;RELEASE_CANDIDATE_NUMBER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;GITHUB_REMOTE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;origin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo, checkout the &lt;code&gt;main&lt;/code&gt; branch, ensure it’s up-to-date, and your local branch is clean.&lt;/p&gt;</description></item><item><title>Release Process</title><link>/v0.5/contributions/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/releasing/</guid><description>&lt;p&gt;This document guides maintainers through the process of creating an Envoy Gateway release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.5/contributions/releasing/#release-candidate"&gt;Release Candidate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.5/contributions/releasing/#minor-release"&gt;Minor Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.5/contributions/releasing/#announce-the-release"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="release-candidate"&gt;Release Candidate&lt;a class="td-heading-self-link" href="#release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The following steps should be used for creating a release candidate.&lt;/p&gt;



&lt;h3 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions to push to the Envoy Gateway repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set environment variables for use in subsequent steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MAJOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MINOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;RELEASE_CANDIDATE_NUMBER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;GITHUB_REMOTE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;origin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo, checkout the &lt;code&gt;main&lt;/code&gt; branch, ensure it’s up-to-date, and your local branch is clean.&lt;/p&gt;</description></item><item><title>Release Process</title><link>/v0.6/contributions/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/releasing/</guid><description>&lt;p&gt;This document guides maintainers through the process of creating an Envoy Gateway release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/contributions/releasing/#release-candidate"&gt;Release Candidate&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/contributions/releasing/#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/contributions/releasing/#setup-cherry-picker-action"&gt;Setup cherry picker action&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/contributions/releasing/#minor-release"&gt;Minor Release&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/v0.6/contributions/releasing/#prerequisites-1"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="/v0.6/contributions/releasing/#announce-the-release"&gt;Announce the Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="release-candidate"&gt;Release Candidate&lt;a class="td-heading-self-link" href="#release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The following steps should be used for creating a release candidate.&lt;/p&gt;



&lt;h3 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions to push to the Envoy Gateway repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Set environment variables for use in subsequent steps:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MAJOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;MINOR_VERSION&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;RELEASE_CANDIDATE_NUMBER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;GITHUB_REMOTE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;origin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo, checkout the &lt;code&gt;main&lt;/code&gt; branch, ensure it’s up-to-date, and your local branch is clean.&lt;/p&gt;</description></item><item><title>Request Authentication</title><link>/v0.3/design/request-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/request-authentication/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/336"&gt;Issue 336&lt;/a&gt; specifies the need for exposing a user-facing API to configure request authentication. Request
authentication is defined as an authentication mechanism to be enforced by Envoy on a per-request basis. A connection
will be rejected if it contains invalid authentication information, based on the &lt;code&gt;AuthenticationFilter&lt;/code&gt; API type
proposed in this design document.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and
implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since
implementing request authentication is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, an &lt;code&gt;Implementation-specific&lt;/code&gt; API will
be created for this purpose.&lt;/p&gt;</description></item><item><title>Request Authentication</title><link>/v0.3/user/authn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/authn/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Request Authentication</title><link>/v0.4/user/authn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/authn/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Request Authentication</title><link>/v0.5/user/authn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/authn/</guid><description>&lt;p&gt;This guide provides instructions for configuring &lt;a href="https://tools.ietf.org/html/rfc7519"&gt;JSON Web Token (JWT)&lt;/a&gt; authentication. JWT authentication checks
if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only
supports validating a JWT from an HTTP header, e.g. &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Request Authentication Design</title><link>/v0.4/design/request-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/request-authentication/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/336"&gt;Issue 336&lt;/a&gt; specifies the need for exposing a user-facing API to configure request authentication. Request
authentication is defined as an authentication mechanism to be enforced by Envoy on a per-request basis. A connection
will be rejected if it contains invalid authentication information, based on the &lt;code&gt;AuthenticationFilter&lt;/code&gt; API type
proposed in this design document.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and
implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since
implementing request authentication is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, an &lt;code&gt;Implementation-specific&lt;/code&gt; API will
be created for this purpose.&lt;/p&gt;</description></item><item><title>Request Authentication Design</title><link>/v0.5/design/request-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/request-authentication/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/envoyproxy/gateway/issues/336"&gt;Issue 336&lt;/a&gt; specifies the need for exposing a user-facing API to configure request authentication. Request
authentication is defined as an authentication mechanism to be enforced by Envoy on a per-request basis. A connection
will be rejected if it contains invalid authentication information, based on the &lt;code&gt;AuthenticationFilter&lt;/code&gt; API type
proposed in this design document.&lt;/p&gt;
&lt;p&gt;Envoy Gateway leverages &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt; for configuring managed Envoy proxies. Gateway API defines core, extended, and
implementation-specific API &lt;a href="https://gateway-api.sigs.k8s.io/concepts/conformance/?h=extended#2-support-levels"&gt;support levels&lt;/a&gt; for implementers such as Envoy Gateway to expose features. Since
implementing request authentication is not covered by &lt;code&gt;Core&lt;/code&gt; or &lt;code&gt;Extended&lt;/code&gt; APIs, an &lt;code&gt;Implementation-specific&lt;/code&gt; API will
be created for this purpose.&lt;/p&gt;</description></item><item><title>Request Buffering</title><link>/docs/tasks/traffic/request-buffering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/request-buffering/</guid><description>&lt;p&gt;The &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter"&gt;Envoy buffer filter&lt;/a&gt; is used to stop filter iteration and wait for a fully buffered complete request. This is useful in different situations including protecting some applications from having to deal with partial requests and high network latency.&lt;/p&gt;
&lt;p&gt;Enabling request buffering requires specifying a size limit for the buffer. Any requests that are larger than the limit will stop the buffering and return a HTTP 413 Content Too Large response.&lt;/p&gt;</description></item><item><title>Request Buffering</title><link>/latest/tasks/traffic/request-buffering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/request-buffering/</guid><description>&lt;p&gt;The &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter"&gt;Envoy buffer filter&lt;/a&gt; is used to stop filter iteration and wait for a fully buffered complete request. This is useful in different situations including protecting some applications from having to deal with partial requests and high network latency.&lt;/p&gt;
&lt;p&gt;Enabling request buffering requires specifying a size limit for the buffer. Any requests that are larger than the limit will stop the buffering and return a HTTP 413 Content Too Large response.&lt;/p&gt;</description></item><item><title>Request Buffering</title><link>/v1.4/tasks/traffic/request-buffering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/request-buffering/</guid><description>&lt;p&gt;The &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter"&gt;Envoy buffer filter&lt;/a&gt; is used to stop filter iteration and wait for a fully buffered complete request. This is useful in different situations including protecting some applications from having to deal with partial requests and high network latency.&lt;/p&gt;
&lt;p&gt;Enabling request buffering requires specifying a size limit for the buffer. Any requests that are larger than the limit will stop the buffering and return a HTTP 413 Content Too Large response.&lt;/p&gt;</description></item><item><title>Request Buffering</title><link>/v1.5/tasks/traffic/request-buffering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/request-buffering/</guid><description>&lt;p&gt;The &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter"&gt;Envoy buffer filter&lt;/a&gt; is used to stop filter iteration and wait for a fully buffered complete request. This is useful in different situations including protecting some applications from having to deal with partial requests and high network latency.&lt;/p&gt;
&lt;p&gt;Enabling request buffering requires specifying a size limit for the buffer. Any requests that are larger than the limit will stop the buffering and return a HTTP 413 Content Too Large response.&lt;/p&gt;</description></item><item><title>Request Buffering</title><link>/v1.6/tasks/traffic/request-buffering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/request-buffering/</guid><description>&lt;p&gt;The &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter"&gt;Envoy buffer filter&lt;/a&gt; is used to stop filter iteration and wait for a fully buffered complete request. This is useful in different situations including protecting some applications from having to deal with partial requests and high network latency.&lt;/p&gt;
&lt;p&gt;Enabling request buffering requires specifying a size limit for the buffer. Any requests that are larger than the limit will stop the buffering and return a HTTP 413 Content Too Large response.&lt;/p&gt;</description></item><item><title>Response Compression</title><link>/docs/tasks/traffic/response-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/response-compression/</guid><description>&lt;p&gt;Response Compression allows you to compress the response from the backend before sending it to the client. This can be useful for scenarios where the backend sends large responses that can be compressed to reduce the network bandwidth. However, this comes with a trade-off of increased CPU usage on the Envoy side to compress the response.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Compression</title><link>/latest/tasks/traffic/response-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/response-compression/</guid><description>&lt;p&gt;Response Compression allows you to compress the response from the backend before sending it to the client. This can be useful for scenarios where the backend sends large responses that can be compressed to reduce the network bandwidth. However, this comes with a trade-off of increased CPU usage on the Envoy side to compress the response.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Compression</title><link>/v1.3/tasks/traffic/response-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/response-compression/</guid><description>&lt;p&gt;Response Compression allows you to compress the response from the backend before sending it to the client. This can be useful for scenarios where the backend sends large responses that can be compressed to reduce the network bandwidth. However, this comes with a trade-off of increased CPU usage on the Envoy side to compress the response.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Compression</title><link>/v1.4/tasks/traffic/response-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/response-compression/</guid><description>&lt;p&gt;Response Compression allows you to compress the response from the backend before sending it to the client. This can be useful for scenarios where the backend sends large responses that can be compressed to reduce the network bandwidth. However, this comes with a trade-off of increased CPU usage on the Envoy side to compress the response.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Compression</title><link>/v1.5/tasks/traffic/response-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/response-compression/</guid><description>&lt;p&gt;Response Compression allows you to compress the response from the backend before sending it to the client. This can be useful for scenarios where the backend sends large responses that can be compressed to reduce the network bandwidth. However, this comes with a trade-off of increased CPU usage on the Envoy side to compress the response.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Compression</title><link>/v1.6/tasks/traffic/response-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/response-compression/</guid><description>&lt;p&gt;Response Compression allows you to compress the response from the backend before sending it to the client. This can be useful for scenarios where the backend sends large responses that can be compressed to reduce the network bandwidth. However, this comes with a trade-off of increased CPU usage on the Envoy side to compress the response.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/docs/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/latest/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/v1.2/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/v1.3/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/v1.4/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/v1.5/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Response Override</title><link>/v1.6/tasks/traffic/response-override/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/response-override/</guid><description>&lt;p&gt;Response Override allows you to override the response from the backend with a custom one. This can be useful for scenarios such as returning a custom 404 page when the requested resource is not found or a custom 500 error message when the backend is failing.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Retry</title><link>/docs/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/retry/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;


 Starting from &lt;code&gt;v1.3&lt;/code&gt;, Envoy Gateway supports [HTTPRoute Retries(GEP-1731)][],
this setting in the core Gateway API takes precedence over the BackendTrafficPolicy configuration.

&lt;/div&gt;

&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;</description></item><item><title>Retry</title><link>/latest/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/retry/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;


 Starting from &lt;code&gt;v1.3&lt;/code&gt;, Envoy Gateway supports [HTTPRoute Retries(GEP-1731)][],
this setting in the core Gateway API takes precedence over the BackendTrafficPolicy configuration.

&lt;/div&gt;

&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.0/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/retry/</guid><description>&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following retry settings:&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.1/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/retry/</guid><description>&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following retry settings:&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.2/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/retry/</guid><description>&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports the following retry settings:&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.3/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/retry/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;


 Starting from &lt;code&gt;v1.3&lt;/code&gt;, Envoy Gateway supports &lt;a href="https://gateway-api.sigs.k8s.io/geps/gep-1731/"&gt;HTTPRoute Retries(GEP-1731)&lt;/a&gt;,
this setting in the core Gateway API takes precedence over the BackendTrafficPolicy configuration.

&lt;/div&gt;

&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.4/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/retry/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;


 Starting from &lt;code&gt;v1.3&lt;/code&gt;, Envoy Gateway supports &lt;a href="https://gateway-api.sigs.k8s.io/geps/gep-1731/"&gt;HTTPRoute Retries(GEP-1731)&lt;/a&gt;,
this setting in the core Gateway API takes precedence over the BackendTrafficPolicy configuration.

&lt;/div&gt;

&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.5/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/retry/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;


 Starting from &lt;code&gt;v1.3&lt;/code&gt;, Envoy Gateway supports [HTTPRoute Retries(GEP-1731)][],
this setting in the core Gateway API takes precedence over the BackendTrafficPolicy configuration.

&lt;/div&gt;

&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;</description></item><item><title>Retry</title><link>/v1.6/tasks/traffic/retry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/retry/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;


 Starting from &lt;code&gt;v1.3&lt;/code&gt;, Envoy Gateway supports [HTTPRoute Retries(GEP-1731)][],
this setting in the core Gateway API takes precedence over the BackendTrafficPolicy configuration.

&lt;/div&gt;

&lt;p&gt;A retry setting specifies the maximum number of times an Envoy proxy attempts to connect to a service if the initial call fails. Retries can enhance service availability and application performance by making sure that calls don’t fail permanently because of transient problems such as a temporarily overloaded service or network. The interval between retries prevents the called service from being overwhelmed with requests.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/docs/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/docs/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/docs/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/latest/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/latest/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/latest/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.0/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Define a Service and EndpointSlice that represents &lt;a href="https://httpbin.org"&gt;https://httpbin.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.1/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/v1.1/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/v1.1/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.2/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/v1.2/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/v1.2/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.3/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/v1.3/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/v1.3/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.4/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/v1.4/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/v1.4/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.5/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/v1.5/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/v1.5/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Routing outside Kubernetes</title><link>/v1.6/tasks/traffic/routing-outside-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/routing-outside-kubernetes/</guid><description>&lt;p&gt;Routing to endpoints outside the Kubernetes cluster where Envoy Gateway and its corresponding Envoy Proxy fleet is
running is a common use case. This can be achieved by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;defining FQDN addresses in a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/"&gt;EndpointSlice&lt;/a&gt; (covered in this document)&lt;/li&gt;
&lt;li&gt;defining a &lt;a href="/v1.6/api/extension_types/#backend"&gt;Backend&lt;/a&gt; resource, as described in the &lt;a href="/v1.6/tasks/traffic/backend/"&gt;Backend Task&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Running Envoy Gateway locally</title><link>/contributions/design/local-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/local-envoy-gateway/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Today, Envoy Gateway runs only on Kubernetes. This is an ideal solution
when the applications are running in Kubernetes.
However there might be cases when the applications are running on the host which would
require Envoy Gateway to run locally.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to retrieve configuration while running locally.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to deploy the managed Envoy Proxy fleet on the host
machine.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support multiple ways to retrieve configuration while running locally.&lt;/li&gt;
&lt;li&gt;Support multiple ways to deploy the Envoy Proxy fleet locally on the host.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;provider&lt;/code&gt; field within the &lt;code&gt;EnvoyGateway&lt;/code&gt; configuration only supports
&lt;code&gt;Kubernetes&lt;/code&gt; today which provides two features - the ability to retrieve
resources from the Kubernetes API Server as well as deploy the managed
Envoy Proxy fleet on Kubernetes.&lt;/li&gt;
&lt;li&gt;This document proposes adding a new top level &lt;code&gt;provider&lt;/code&gt; type called &lt;code&gt;Custom&lt;/code&gt;
with two fields called &lt;code&gt;resource&lt;/code&gt; and &lt;code&gt;infrastructure&lt;/code&gt; to allow the user to configure
the sub providers for providing resource configuration and an infrastructure to deploy
the Envoy Proxy data plane in.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;File&lt;/code&gt; resource provider will be introduced to enable retrieving configuration locally
by reading from the configuration from a file.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;Host&lt;/code&gt; infrastructure provider will be introduced to allow Envoy Gateway to spawn a
Envoy Proxy child process on the host.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example configuration&lt;/p&gt;</description></item><item><title>Running Envoy Gateway locally</title><link>/v0.5/design/local-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/local-envoy-gateway/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Today, Envoy Gateway runs only on Kubernetes. This is an ideal solution
when the applications are running in Kubernetes.
However there might be cases when the applications are running on the host which would
require Envoy Gateway to run locally.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to retrieve configuration while running locally.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to deploy the managed Envoy Proxy fleet on the host
machine.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support multiple ways to retrieve configuration while running locally.&lt;/li&gt;
&lt;li&gt;Support multiple ways to deploy the Envoy Proxy fleet locally on the host.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;provider&lt;/code&gt; field within the &lt;code&gt;EnvoyGateway&lt;/code&gt; configuration only supports
&lt;code&gt;Kubernetes&lt;/code&gt; today which provides two features - the ability to retrieve
resources from the Kubernetes API Server as well as deploy the managed
Envoy Proxy fleet on Kubernetes.&lt;/li&gt;
&lt;li&gt;This document proposes adding a new top level &lt;code&gt;provider&lt;/code&gt; type called &lt;code&gt;Custom&lt;/code&gt;
with two fields called &lt;code&gt;resource&lt;/code&gt; and &lt;code&gt;infrastructure&lt;/code&gt; to allow the user to configure
the sub providers for providing resource configuration and an infrastructure to deploy
the Envoy Proxy data plane in.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;File&lt;/code&gt; resource provider will be introduced to enable retrieving configuration locally
by reading from the configuration from a file.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;Host&lt;/code&gt; infrastructure provider will be introduced to allow Envoy Gateway to spawn a
Envoy Proxy child process on the host.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example configuration&lt;/p&gt;</description></item><item><title>Running Envoy Gateway locally</title><link>/v0.6/design/local-envoy-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/local-envoy-gateway/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Today, Envoy Gateway runs only on Kubernetes. This is an ideal solution
when the applications are running in Kubernetes.
However there might be cases when the applications are running on the host which would
require Envoy Gateway to run locally.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to retrieve configuration while running locally.&lt;/li&gt;
&lt;li&gt;Define an API to allow Envoy Gateway to deploy the managed Envoy Proxy fleet on the host
machine.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support multiple ways to retrieve configuration while running locally.&lt;/li&gt;
&lt;li&gt;Support multiple ways to deploy the Envoy Proxy fleet locally on the host.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api"&gt;API&lt;a class="td-heading-self-link" href="#api" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;provider&lt;/code&gt; field within the &lt;code&gt;EnvoyGateway&lt;/code&gt; configuration only supports
&lt;code&gt;Kubernetes&lt;/code&gt; today which provides two features - the ability to retrieve
resources from the Kubernetes API Server as well as deploy the managed
Envoy Proxy fleet on Kubernetes.&lt;/li&gt;
&lt;li&gt;This document proposes adding a new top level &lt;code&gt;provider&lt;/code&gt; type called &lt;code&gt;Custom&lt;/code&gt;
with two fields called &lt;code&gt;resource&lt;/code&gt; and &lt;code&gt;infrastructure&lt;/code&gt; to allow the user to configure
the sub providers for providing resource configuration and an infrastructure to deploy
the Envoy Proxy data plane in.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;File&lt;/code&gt; resource provider will be introduced to enable retrieving configuration locally
by reading from the configuration from a file.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;Host&lt;/code&gt; infrastructure provider will be introduced to allow Envoy Gateway to spawn a
Envoy Proxy child process on the host.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example configuration&lt;/p&gt;</description></item><item><title>Search Results</title><link>/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/search/</guid><description/></item><item><title>Secure Gateways</title><link>/docs/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/latest/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v0.2/user/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/secure-gateways/</guid><description>&lt;p&gt;This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for
testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v0.3/user/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/secure-gateways/</guid><description>&lt;p&gt;This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for
testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v0.4/user/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/secure-gateways/</guid><description>&lt;p&gt;This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for
testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v0.5/user/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/secure-gateways/</guid><description>&lt;p&gt;This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for
testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v0.6/user/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/secure-gateways/</guid><description>&lt;p&gt;This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for
testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.0/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.0/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.1/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.2/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.3/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.4/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.5/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Secure Gateways</title><link>/v1.6/tasks/security/secure-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/secure-gateways/</guid><description>&lt;p&gt;This task will help you get started using secure Gateways.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/docs/concepts/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/concepts/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/docs/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/latest/concepts/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/concepts/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/latest/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/v1.3/concepts/introduction/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/concepts/introduction/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.3/concepts/introduction/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/v1.4/concepts/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/v1.4/concepts/introduction/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/introduction/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.4/concepts/introduction/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/v1.5/concepts/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.5/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/v1.6/concepts/gateway_api_extensions/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/concepts/gateway_api_extensions/security-policy/</guid><description>&lt;h2 id="before-you-begin"&gt;Before you Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="/v1.6/concepts/gateway_api_extensions/"&gt;Gateway API Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is an Envoy Gateway extension to the Kubernetes Gateway API that allows you to define authentication and authorization requirements for traffic entering your gateway. It acts as a security layer that only properly authenticated and authorized requests are allowed through your backend services.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is designed for you to enforce access controls through configuration at the edge of your infrastructure in a declarative, Kubernetes-native way, without needing to configure complex proxy rules manually.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/contributions/design/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/security-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;SecurityPolicy&lt;/code&gt; API allowing system administrators to configure
authentication and authorization policies to the traffic entering the gateway.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API definition to hold settings for configuring authentication and authorization rules
on the traffic entering the gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the API configuration fields in this API.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment"&gt;Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
to define authentication and authorization rules.&lt;/p&gt;</description></item><item><title>SecurityPolicy</title><link>/v0.6/design/security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/security-policy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This design document introduces the &lt;code&gt;SecurityPolicy&lt;/code&gt; API allowing system administrators to configure
authentication and authorization policies to the traffic entering the gateway.&lt;/p&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add an API definition to hold settings for configuring authentication and authorization rules
on the traffic entering the gateway.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="non-goals"&gt;Non Goals&lt;a class="td-heading-self-link" href="#non-goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the API configuration fields in this API.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="implementation"&gt;Implementation&lt;a class="td-heading-self-link" href="#implementation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SecurityPolicy&lt;/code&gt; is a &lt;a href="https://gateway-api.sigs.k8s.io/references/policy-attachment"&gt;Policy Attachment&lt;/a&gt; type API that can be used to extend &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API&lt;/a&gt;
to define authentication and authorization rules.&lt;/p&gt;</description></item><item><title>Session Persistence</title><link>/docs/tasks/traffic/session-persistence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/session-persistence/</guid><description>&lt;p&gt;Session Persistence allows client requests to be consistently routed to the same backend service instance. This is useful in many scenarios, such as when an application needs to maintain state across multiple requests. In Envoy Gateway, session persistence can be enabled by configuring &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports following session persistence types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cookie-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific cookie information in the request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific header information in the request.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Session Persistence</title><link>/latest/tasks/traffic/session-persistence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/session-persistence/</guid><description>&lt;p&gt;Session Persistence allows client requests to be consistently routed to the same backend service instance. This is useful in many scenarios, such as when an application needs to maintain state across multiple requests. In Envoy Gateway, session persistence can be enabled by configuring &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports following session persistence types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cookie-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific cookie information in the request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific header information in the request.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Session Persistence</title><link>/v1.3/tasks/traffic/session-persistence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/session-persistence/</guid><description>&lt;p&gt;Session Persistence allows client requests to be consistently routed to the same backend service instance. This is useful in many scenarios, such as when an application needs to maintain state across multiple requests. In Envoy Gateway, session persistence can be enabled by configuring &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports following session persistence types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cookie-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific cookie information in the request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific header information in the request.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Session Persistence</title><link>/v1.4/tasks/traffic/session-persistence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/session-persistence/</guid><description>&lt;p&gt;Session Persistence allows client requests to be consistently routed to the same backend service instance. This is useful in many scenarios, such as when an application needs to maintain state across multiple requests. In Envoy Gateway, session persistence can be enabled by configuring &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports following session persistence types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cookie-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific cookie information in the request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific header information in the request.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Session Persistence</title><link>/v1.5/tasks/traffic/session-persistence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/session-persistence/</guid><description>&lt;p&gt;Session Persistence allows client requests to be consistently routed to the same backend service instance. This is useful in many scenarios, such as when an application needs to maintain state across multiple requests. In Envoy Gateway, session persistence can be enabled by configuring &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports following session persistence types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cookie-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific cookie information in the request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific header information in the request.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Session Persistence</title><link>/v1.6/tasks/traffic/session-persistence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/session-persistence/</guid><description>&lt;p&gt;Session Persistence allows client requests to be consistently routed to the same backend service instance. This is useful in many scenarios, such as when an application needs to maintain state across multiple requests. In Envoy Gateway, session persistence can be enabled by configuring &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Envoy Gateway supports following session persistence types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cookie-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific cookie information in the request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header-based&lt;/strong&gt; Session Persistence: Session persistence is achieved based on specific header information in the request.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/docs/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="running-locally-on-the-host-machine"&gt;Running locally on the host machine&lt;a class="td-heading-self-link" href="#running-locally-on-the-host-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/latest/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="running-locally-on-the-host-machine"&gt;Running locally on the host machine&lt;a class="td-heading-self-link" href="#running-locally-on-the-host-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/v1.2/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/v1.3/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="running-locally-on-the-host-machine"&gt;Running locally on the host machine&lt;a class="td-heading-self-link" href="#running-locally-on-the-host-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/v1.4/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="running-locally-on-the-host-machine"&gt;Running locally on the host machine&lt;a class="td-heading-self-link" href="#running-locally-on-the-host-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/v1.5/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="running-locally-on-the-host-machine"&gt;Running locally on the host machine&lt;a class="td-heading-self-link" href="#running-locally-on-the-host-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>Standalone Deployment Mode</title><link>/v1.6/tasks/operations/standalone-deployment-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/standalone-deployment-mode/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Notice&lt;/h4&gt;

 Standalone mode is an experimental feature, please &lt;strong&gt;DO NOT&lt;/strong&gt; use it in production.

&lt;/div&gt;

&lt;p&gt;Envoy Gateway also supports running in standalone mode. In this mode, Envoy Gateway
does not need to rely on Kubernetes and can be deployed directly on bare metal or virtual machines.&lt;/p&gt;
&lt;p&gt;Currently, Envoy Gateway only support the file provider and the host infrastructure provider combinations.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The file provider will configure the Envoy Gateway to get all gateway-api resources from file system.&lt;/li&gt;
&lt;li&gt;The host infrastructure provider will configure the Envoy Gateway to deploy one Envoy Proxy as a host process.&lt;/li&gt;
&lt;/ul&gt;



&lt;h1 id="quick-start"&gt;Quick Start&lt;a class="td-heading-self-link" href="#quick-start" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="running-locally-on-the-host-machine"&gt;Running locally on the host machine&lt;a class="td-heading-self-link" href="#running-locally-on-the-host-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this quick-start, we will run Envoy Gateway in standalone mode with the file provider
and the host infrastructure provider.&lt;/p&gt;</description></item><item><title>TCP and UDP Proxy Design</title><link>/contributions/design/tcp-udp-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/tcp-udp-design/</guid><description>&lt;p&gt;Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP
and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the
design decision.&lt;/p&gt;
&lt;p&gt;Envoy can work as a non-transparent proxy or a transparent proxy for both &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/ip_transparency#arch-overview-ip-transparency-original-src-listener"&gt;TCP&lt;/a&gt;
and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto#envoy-v3-api-msg-extensions-filters-udp-udp-proxy-v3-udpproxyconfig"&gt;UDP&lt;/a&gt;
, so ideally, Envoy Gateway should also be able to work in these two modes:&lt;/p&gt;</description></item><item><title>TCP and UDP Proxy Design</title><link>/v0.3/design/tcp-udp-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/design/tcp-udp-design/</guid><description>&lt;p&gt;Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP
and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the
design decision.&lt;/p&gt;
&lt;p&gt;Envoy can work as a non-transparent proxy or a transparent proxy for both &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/ip_transparency#arch-overview-ip-transparency-original-src-listener"&gt;TCP&lt;/a&gt;
and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto#envoy-v3-api-msg-extensions-filters-udp-udp-proxy-v3-udpproxyconfig"&gt;UDP&lt;/a&gt;
, so ideally, Envoy Gateway should also be able to work in these two modes:&lt;/p&gt;</description></item><item><title>TCP and UDP Proxy Design</title><link>/v0.4/design/tcp-udp-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/design/tcp-udp-design/</guid><description>&lt;p&gt;Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP
and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the
design decision.&lt;/p&gt;
&lt;p&gt;Envoy can work as a non-transparent proxy or a transparent proxy for both &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/ip_transparency#arch-overview-ip-transparency-original-src-listener"&gt;TCP&lt;/a&gt;
and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto#envoy-v3-api-msg-extensions-filters-udp-udp-proxy-v3-udpproxyconfig"&gt;UDP&lt;/a&gt;
, so ideally, Envoy Gateway should also be able to work in these two modes:&lt;/p&gt;</description></item><item><title>TCP and UDP Proxy Design</title><link>/v0.5/design/tcp-udp-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/design/tcp-udp-design/</guid><description>&lt;p&gt;Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP
and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the
design decision.&lt;/p&gt;
&lt;p&gt;Envoy can work as a non-transparent proxy or a transparent proxy for both &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/ip_transparency#arch-overview-ip-transparency-original-src-listener"&gt;TCP&lt;/a&gt;
and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto#envoy-v3-api-msg-extensions-filters-udp-udp-proxy-v3-udpproxyconfig"&gt;UDP&lt;/a&gt;
, so ideally, Envoy Gateway should also be able to work in these two modes:&lt;/p&gt;</description></item><item><title>TCP and UDP Proxy Design</title><link>/v0.6/design/tcp-udp-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/design/tcp-udp-design/</guid><description>&lt;p&gt;Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP
and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the
design decision.&lt;/p&gt;
&lt;p&gt;Envoy can work as a non-transparent proxy or a transparent proxy for both &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/ip_transparency#arch-overview-ip-transparency-original-src-listener"&gt;TCP&lt;/a&gt;
and &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto#envoy-v3-api-msg-extensions-filters-udp-udp-proxy-v3-udpproxyconfig"&gt;UDP&lt;/a&gt;
, so ideally, Envoy Gateway should also be able to work in these two modes:&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/docs/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/latest/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v0.3/user/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.3.0/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#204a87"&gt;wait&lt;/span&gt; --timeout&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;5m -n envoy-gateway-system deployment/envoy-gateway --for&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;condition&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;Available
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="configuration"&gt;Configuration&lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this example, we have one Gateway resource and two TCPRoute resources that distribute the traffic with the following
rules:&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v0.4/user/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.4.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v0.5/user/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v0.6/user/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Install Envoy Gateway:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.6.0 -n envoy-gateway-system --create-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait for Envoy Gateway to become available:&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.0/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; guide to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.1/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.2/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.3/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.4/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.5/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec#tcproute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TCP Routing</title><link>/v1.6/tasks/traffic/tcp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/tcp-routing/</guid><description>&lt;p&gt;&lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward
connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about
HTTP routing, refer to the &lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Gateway API documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/docs/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/latest/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.0/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.1/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.2/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.3/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.4/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.5/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>Threat Model</title><link>/v1.6/tasks/security/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/threat-model/</guid><description>&lt;h1 id="envoy-gateway-threat-model-and-end-user-recommendations"&gt;Envoy Gateway Threat Model and End User Recommendations&lt;a class="td-heading-self-link" href="#envoy-gateway-threat-model-and-end-user-recommendations" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h1&gt;




&lt;h2 id="about"&gt;About&lt;a class="td-heading-self-link" href="#about" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This work was performed by &lt;a href="https://control-plane.io/"&gt;ControlPlane&lt;/a&gt; and commissioned by the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt;. ControlPlane is a global cloud native and open source cybersecurity consultancy, trusted as the partner of choice in securing: multinational banks; major public clouds; international financial institutions; critical national infrastructure programs; multinational oil and gas companies, healthcare and insurance providers; and global media firms.&lt;/p&gt;



&lt;h2 id="threat-modelling-team"&gt;Threat Modelling Team&lt;a class="td-heading-self-link" href="#threat-modelling-team" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;James Callaghan, Torin van den Bulk, Eduardo Olarte&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/docs/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/latest/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v0.2/user/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/user/tls-passthrough/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v0.3/user/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/tls-passthrough/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v0.4/user/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/tls-passthrough/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v0.5/user/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/tls-passthrough/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v0.6/user/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/tls-passthrough/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.0/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.1/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.2/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.3/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.4/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.5/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Passthrough</title><link>/v1.6/tasks/security/tls-passthrough/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/tls-passthrough/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring
Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself
to terminate the TLS connection, while the Gateway routes the requests to the application based on SNI headers.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/docs/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/latest/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v0.5/user/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/tls-termination/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v0.6/user/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/tls-termination/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.0/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/tls-termination/</guid><description>&lt;p&gt;This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.1/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway.&lt;/p&gt;



&lt;h2 id="tls-certificates"&gt;TLS Certificates&lt;a class="td-heading-self-link" href="#tls-certificates" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Generate the certificates and keys used by the Gateway to terminate client TLS connections.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.2/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.3/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.4/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.5/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>TLS Termination for TCP</title><link>/v1.6/tasks/security/tls-termination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/tls-termination/</guid><description>&lt;p&gt;This task will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway.
This task uses a self-signed CA, so it should be used for testing and demonstration purposes only.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL to generate TLS assets.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/docs/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#udproute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/latest/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#udproute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v0.3/user/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/user/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v0.4/user/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v0.5/user/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v0.6/user/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.0/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.1/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.2/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.3/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.4/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/references/spec#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.5/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.3/spec/#udproute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>UDP Routing</title><link>/v1.6/tasks/traffic/udp-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/udp-routing/</guid><description>&lt;p&gt;The &lt;a href="https://gateway-api.sigs.k8s.io/reference/1.4/spec/#udproute"&gt;UDPRoute&lt;/a&gt; resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes
backends. This task will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy
Gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; UDPRoute allows Envoy Gateway to operate as a non-transparent proxy between a UDP client and server. The lack
of transparency means that the upstream server will see the source IP and port of the Gateway instead of the client.
For additional information, refer to Envoy&amp;rsquo;s &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/udp_filters/udp_proxy"&gt;UDP proxy documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/docs/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;
&lt;p&gt;Follow the instructions &lt;a href="/docs/install/install-egctl/"&gt;here&lt;/a&gt; to install &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="egctl-config"&gt;egctl config&lt;a class="td-heading-self-link" href="#egctl-config" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;egctl config&lt;/code&gt; subcommand provides tools for viewing and validating the Envoy Proxy and Envoy RateLimit configuration configured in Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of retrieving the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-msg-config-route-v3-routeconfiguration"&gt;xDS Route Configuration&lt;/a&gt; from all the proxies.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;~ egctl config envoy-proxy route
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway-system&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-default-eg-e41e7b31-6d749cdb85-hcfrk&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.admin.v3.RoutesConfigDump&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;dynamicRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.237Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;ignorePortInHostMatching&amp;#34;: true,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;www.example.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;Gateway&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;eg&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;sectionName&amp;#34;: &amp;#34;http&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;HTTPRoute&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;backend&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;httproute/default/backend/rule/0/match/0/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;httproute/default/backend/rule/0&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeType&amp;#34;: &amp;#34;websocket&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;versionInfo&amp;#34;: &amp;#34;bc44981323d08bcb24abad6867942912675bb35bb674f2ee9ae866efbe1375dd&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;staticRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.198Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;local_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;prometheus_stats&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;headers&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;:method&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;stringMatch&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;exact&amp;#34;: &amp;#34;GET&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;path&amp;#34;: &amp;#34;/stats/prometheus&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;prometheus_stats&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.219Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;directResponse&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;status&amp;#34;: 500
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="egctl-experimental-status"&gt;egctl experimental status&lt;a class="td-heading-self-link" href="#egctl-experimental-status" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to show the summary of the status of specific or all resource types, in order to quickly find
out the status of any resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/latest/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;
&lt;p&gt;Follow the instructions &lt;a href="/latest/install/install-egctl/"&gt;here&lt;/a&gt; to install &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="egctl-config"&gt;egctl config&lt;a class="td-heading-self-link" href="#egctl-config" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;egctl config&lt;/code&gt; subcommand provides tools for viewing and validating the Envoy Proxy and Envoy RateLimit configuration configured in Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of retrieving the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-msg-config-route-v3-routeconfiguration"&gt;xDS Route Configuration&lt;/a&gt; from all the proxies.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;~ egctl config envoy-proxy route
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway-system&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-default-eg-e41e7b31-6d749cdb85-hcfrk&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.admin.v3.RoutesConfigDump&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;dynamicRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.237Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;ignorePortInHostMatching&amp;#34;: true,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;www.example.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;Gateway&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;eg&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;sectionName&amp;#34;: &amp;#34;http&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;HTTPRoute&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;backend&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;httproute/default/backend/rule/0/match/0/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;httproute/default/backend/rule/0&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeType&amp;#34;: &amp;#34;websocket&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;versionInfo&amp;#34;: &amp;#34;bc44981323d08bcb24abad6867942912675bb35bb674f2ee9ae866efbe1375dd&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;staticRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.198Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;local_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;prometheus_stats&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;headers&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;:method&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;stringMatch&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;exact&amp;#34;: &amp;#34;GET&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;path&amp;#34;: &amp;#34;/stats/prometheus&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;prometheus_stats&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.219Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;directResponse&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;status&amp;#34;: 500
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="egctl-experimental-status"&gt;egctl experimental status&lt;a class="td-heading-self-link" href="#egctl-experimental-status" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to show the summary of the status of specific or all resource types, in order to quickly find
out the status of any resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v0.4/user/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/user/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="installing-egctl"&gt;Installing egctl&lt;a class="td-heading-self-link" href="#installing-egctl" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This guide shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v0.5/user/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="installing-egctl"&gt;Installing egctl&lt;a class="td-heading-self-link" href="#installing-egctl" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This guide shows how to install the egctl CLI. egctl can be installed either from source, or from pre-built binary releases.&lt;/p&gt;



&lt;h3 id="from-the-envoy-gateway-project"&gt;From The Envoy Gateway Project&lt;a class="td-heading-self-link" href="#from-the-envoy-gateway-project" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Envoy Gateway project provides two ways to fetch and install egctl. These are the official methods to get egctl releases. Installation through those methods can be found below the official methods.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v0.6/user/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="egctl-experimental-translate"&gt;egctl experimental translate&lt;a class="td-heading-self-link" href="#egctl-experimental-translate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to translate from an input configuration type to an output configuration type.&lt;/p&gt;
&lt;p&gt;In the below example, we will translate the Kubernetes resources (including the Gateway API resources) into xDS
resources.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#4e9a06"&gt;&amp;lt;&amp;lt;EOF | egctl x translate --from gateway-api --to xds -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: gateway.networking.k8s.io/v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: GatewayClass
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: eg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; controllerName: gateway.envoyproxy.io/gatewayclass-controller
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: gateway.networking.k8s.io/v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: Gateway
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: eg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; namespace: default
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; gatewayClassName: eg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; listeners:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - name: http
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; protocol: HTTP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; port: 80
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: Namespace
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: default 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: Service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: backend
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; namespace: default
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; labels:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; app: backend
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; service: backend
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; clusterIP: &amp;#34;1.1.1.1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; type: ClusterIP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - name: http
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; port: 3000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; targetPort: 3000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; protocol: TCP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; selector:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; app: backend
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;apiVersion: gateway.networking.k8s.io/v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;kind: HTTPRoute
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: backend
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; namespace: default
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; parentRefs:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - name: eg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; hostnames:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - &amp;#34;www.example.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; rules:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - backendRefs:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - group: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; kind: Service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; name: backend
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; port: 3000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; weight: 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; matches:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; - path:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; type: PathPrefix
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt; value: /
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4e9a06"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;configKey&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-eg&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;configs&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.admin.v3.BootstrapConfigDump&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;bootstrap&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;admin&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;accessLog&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy.access_loggers.file&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;path&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;/dev/null&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;socketAddress&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;127.0.0.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;portValue&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;19000&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;dynamicResources&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;cdsConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiConfigSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiType&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;DELTA_GRPC&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;grpcServices&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;envoyGrpc&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusterName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;setNodeOnFirstMessageOnly&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;transportApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;ldsConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiConfigSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiType&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;DELTA_GRPC&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;grpcServices&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;envoyGrpc&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusterName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;setNodeOnFirstMessageOnly&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;transportApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;layeredRuntime&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;layers&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;runtime-0&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;rtdsLayer&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;runtime-0&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;rtdsConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiConfigSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiType&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;DELTA_GRPC&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;grpcServices&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;envoyGrpc&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusterName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;transportApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;staticResources&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusters&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;connectTimeout&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;10s&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;loadAssignment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusterName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;endpoints&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;lbEndpoints&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;endpoint&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;socketAddress&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy-gateway&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;portValue&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;18000&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;transportSocket&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy.transport_sockets.tls&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;commonTlsContext&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tlsCertificateSdsSecretConfigs&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_certificate&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;sdsConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;pathConfigSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;path&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;/sds/xds-certificate.json&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tlsParams&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tlsMaximumProtocolVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;TLSv1_3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;validationContextSdsSecretConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_trusted_ca&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;sdsConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;pathConfigSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;path&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;/sds/xds-trusted-ca.json&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;type&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;STRICT_DNS&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedExtensionProtocolOptions&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;envoy.extensions.upstreams.http.v3.HttpProtocolOptions&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;explicitHttpConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;http2ProtocolOptions&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;{}&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.admin.v3.ClustersConfigDump&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;dynamicActiveClusters&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;cluster&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.config.cluster.v3.Cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;commonLbConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;localityWeightedLbConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;{}&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;connectTimeout&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;10s&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;dnsLookupFamily&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V4_ONLY&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;loadAssignment&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusterName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-backend-rule-0-match-0-www.example.com&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;endpoints&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;lbEndpoints&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;endpoint&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;socketAddress&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1.1.1.1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;portValue&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3000&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;loadBalancingWeight&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;loadBalancingWeight&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;locality&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;{}&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-backend-rule-0-match-0-www.example.com&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;outlierDetection&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;{}&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;type&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;STATIC&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.admin.v3.ListenersConfigDump&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;dynamicListeners&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;activeState&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;listener&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.config.listener.v3.Listener&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;accessLog&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;filter&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;responseFlagFilter&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;flags&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#000"&gt;NR&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy.access_loggers.file&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;path&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;/dev/stdout&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;socketAddress&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;address&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;0.0.0.0&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;portValue&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;10080&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;defaultFilterChain&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;filters&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy.filters.network.http_connection_manager&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;accessLog&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy.access_loggers.file&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;path&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;/dev/stdout&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;httpFilters&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;envoy.filters.http.router&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;typedConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.extensions.filters.http.router.v3.Router&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;rds&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;configSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiConfigSource&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiType&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;DELTA_GRPC&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;grpcServices&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;envoyGrpc&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;clusterName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;xds_cluster&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;setNodeOnFirstMessageOnly&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;transportApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceApiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;V3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;routeConfigName&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-eg-http&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;statPrefix&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;http&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;upgradeConfigs&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;upgradeType&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;websocket&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;useRemoteAddress&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-eg-http&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.admin.v3.RoutesConfigDump&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;dynamicRouteConfigs&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;routeConfig&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#39;@type&amp;#39;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-eg-http&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;virtualHosts&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;domains&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#000"&gt;www.example.com&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-eg-http-www.example.com&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;routes&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#204a87;font-weight:bold"&gt;match&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;prefix&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;/&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;route&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;cluster&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default-backend-rule-0-match-0-www.example.com&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resourceType&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;all&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also use the &lt;code&gt;--type&lt;/code&gt;/&lt;code&gt;-t&lt;/code&gt; flag to retrieve specific output types. In the below example, we will translate the Kubernetes resources (including the Gateway API resources) into xDS &lt;code&gt;route&lt;/code&gt; resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.0/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="egctl-experimental-translate"&gt;egctl experimental translate&lt;a class="td-heading-self-link" href="#egctl-experimental-translate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to translate from an input configuration type to an output configuration type.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;translate&lt;/code&gt; subcommand can translate Kubernetes resources to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gateway API resources
This is useful in order to see how validation would occur if these resources were applied to Kubernetes.&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;--to gateway-api&lt;/code&gt; parameter to translate to Gateway API resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.1/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="egctl-experimental-translate"&gt;egctl experimental translate&lt;a class="td-heading-self-link" href="#egctl-experimental-translate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to translate from an input configuration type to an output configuration type.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;translate&lt;/code&gt; subcommand can translate Kubernetes resources to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gateway API resources
This is useful in order to see how validation would occur if these resources were applied to Kubernetes.&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;--to gateway-api&lt;/code&gt; parameter to translate to Gateway API resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.2/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="egctl-experimental-translate"&gt;egctl experimental translate&lt;a class="td-heading-self-link" href="#egctl-experimental-translate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to translate from an input configuration type to an output configuration type.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;translate&lt;/code&gt; subcommand can translate Kubernetes resources to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gateway API resources
This is useful in order to see how validation would occur if these resources were applied to Kubernetes.&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;--to gateway-api&lt;/code&gt; parameter to translate to Gateway API resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.3/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;



&lt;h2 id="egctl-experimental-translate"&gt;egctl experimental translate&lt;a class="td-heading-self-link" href="#egctl-experimental-translate" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to translate from an input configuration type to an output configuration type.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;translate&lt;/code&gt; subcommand can translate Kubernetes resources to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gateway API resources
This is useful in order to see how validation would occur if these resources were applied to Kubernetes.&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;--to gateway-api&lt;/code&gt; parameter to translate to Gateway API resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.4/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;
&lt;p&gt;Follow the instructions &lt;a href="/v1.4/install/install-egctl/"&gt;here&lt;/a&gt; to install &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="egctl-config"&gt;egctl config&lt;a class="td-heading-self-link" href="#egctl-config" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;egctl config&lt;/code&gt; subcommand provides tools for viewing and validating the Envoy Proxy and Envoy RateLimit configuration configured in Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of retrieving the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-msg-config-route-v3-routeconfiguration"&gt;xDS Route Configuration&lt;/a&gt; from all the proxies.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;~ egctl config envoy-proxy route
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway-system&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-default-eg-e41e7b31-6d749cdb85-hcfrk&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.admin.v3.RoutesConfigDump&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;dynamicRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.237Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;ignorePortInHostMatching&amp;#34;: true,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;www.example.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;Gateway&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;eg&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;sectionName&amp;#34;: &amp;#34;http&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;HTTPRoute&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;backend&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;httproute/default/backend/rule/0/match/0/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;httproute/default/backend/rule/0&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeType&amp;#34;: &amp;#34;websocket&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;versionInfo&amp;#34;: &amp;#34;bc44981323d08bcb24abad6867942912675bb35bb674f2ee9ae866efbe1375dd&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;staticRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.198Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;local_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;prometheus_stats&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;headers&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;:method&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;stringMatch&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;exact&amp;#34;: &amp;#34;GET&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;path&amp;#34;: &amp;#34;/stats/prometheus&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;prometheus_stats&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.219Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;directResponse&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;status&amp;#34;: 500
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="egctl-experimental-status"&gt;egctl experimental status&lt;a class="td-heading-self-link" href="#egctl-experimental-status" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to show the summary of the status of specific or all resource types, in order to quickly find
out the status of any resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.5/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;
&lt;p&gt;Follow the instructions &lt;a href="/v1.5/install/install-egctl/"&gt;here&lt;/a&gt; to install &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="egctl-config"&gt;egctl config&lt;a class="td-heading-self-link" href="#egctl-config" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;egctl config&lt;/code&gt; subcommand provides tools for viewing and validating the Envoy Proxy and Envoy RateLimit configuration configured in Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of retrieving the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-msg-config-route-v3-routeconfiguration"&gt;xDS Route Configuration&lt;/a&gt; from all the proxies.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;~ egctl config envoy-proxy route
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway-system&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-default-eg-e41e7b31-6d749cdb85-hcfrk&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.admin.v3.RoutesConfigDump&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;dynamicRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.237Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;ignorePortInHostMatching&amp;#34;: true,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;www.example.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;Gateway&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;eg&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;sectionName&amp;#34;: &amp;#34;http&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;HTTPRoute&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;backend&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;httproute/default/backend/rule/0/match/0/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;httproute/default/backend/rule/0&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeType&amp;#34;: &amp;#34;websocket&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;versionInfo&amp;#34;: &amp;#34;bc44981323d08bcb24abad6867942912675bb35bb674f2ee9ae866efbe1375dd&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;staticRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.198Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;local_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;prometheus_stats&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;headers&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;:method&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;stringMatch&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;exact&amp;#34;: &amp;#34;GET&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;path&amp;#34;: &amp;#34;/stats/prometheus&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;prometheus_stats&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.219Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;directResponse&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;status&amp;#34;: 500
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="egctl-experimental-status"&gt;egctl experimental status&lt;a class="td-heading-self-link" href="#egctl-experimental-status" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to show the summary of the status of specific or all resource types, in order to quickly find
out the status of any resources.&lt;/p&gt;</description></item><item><title>Use egctl</title><link>/v1.6/tasks/operations/egctl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/operations/egctl/</guid><description>&lt;p&gt;&lt;code&gt;egctl&lt;/code&gt; is a command line tool to provide additional functionality for Envoy Gateway users.&lt;/p&gt;
&lt;p&gt;Follow the instructions &lt;a href="/v1.6/install/install-egctl/"&gt;here&lt;/a&gt; to install &lt;code&gt;egctl&lt;/code&gt;.&lt;/p&gt;



&lt;h2 id="egctl-config"&gt;egctl config&lt;a class="td-heading-self-link" href="#egctl-config" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;egctl config&lt;/code&gt; subcommand provides tools for viewing and validating the Envoy Proxy and Envoy RateLimit configuration configured in Envoy Proxy.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of retrieving the &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-msg-config-route-v3-routeconfiguration"&gt;xDS Route Configuration&lt;/a&gt; from all the proxies.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;~ egctl config envoy-proxy route
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway-system&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-default-eg-e41e7b31-6d749cdb85-hcfrk&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.admin.v3.RoutesConfigDump&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;dynamicRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.237Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;ignorePortInHostMatching&amp;#34;: true,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;www.example.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;Gateway&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;eg&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;sectionName&amp;#34;: &amp;#34;http&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;default/eg/http/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;metadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;filterMetadata&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;envoy-gateway&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;resources&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;kind&amp;#34;: &amp;#34;HTTPRoute&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;backend&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;httproute/default/backend/rule/0/match/0/www_example_com&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;httproute/default/backend/rule/0&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;upgradeType&amp;#34;: &amp;#34;websocket&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;versionInfo&amp;#34;: &amp;#34;bc44981323d08bcb24abad6867942912675bb35bb674f2ee9ae866efbe1375dd&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;staticRouteConfigs&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.198Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;local_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;prometheus_stats&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;headers&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;:method&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;stringMatch&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;exact&amp;#34;: &amp;#34;GET&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;path&amp;#34;: &amp;#34;/stats/prometheus&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;route&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;cluster&amp;#34;: &amp;#34;prometheus_stats&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;lastUpdated&amp;#34;: &amp;#34;2025-05-22T17:51:06.219Z&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routeConfig&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/envoy.config.route.v3.RouteConfiguration&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;virtualHosts&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;domains&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;name&amp;#34;: &amp;#34;ready_route&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;routes&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;directResponse&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;status&amp;#34;: 500
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;match&amp;#34;: {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; &amp;#34;prefix&amp;#34;: &amp;#34;/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id="egctl-experimental-status"&gt;egctl experimental status&lt;a class="td-heading-self-link" href="#egctl-experimental-status" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This subcommand allows users to show the summary of the status of specific or all resource types, in order to quickly find
out the status of any resources.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/docs/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/latest/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v0.5/user/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/user/tls-cert-manager/</guid><description>&lt;p&gt;This guide shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../quickstart"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v0.6/user/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/tls-cert-manager/</guid><description>&lt;p&gt;This guide shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.0/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This guide shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.1/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.2/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.3/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.4/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.5/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Using cert-manager For TLS Termination</title><link>/v1.6/tasks/security/tls-cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/security/tls-cert-manager/</guid><description>&lt;p&gt;This task shows how to set up &lt;a href="https://cert-manager.io/"&gt;cert-manager&lt;/a&gt; to automatically create certificates and secrets for use by Envoy Gateway.
It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other.
Then it shows how to use &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s staging environment&lt;/a&gt;.
Changing to the Let&amp;rsquo;s Encrypt production environment is straight-forward after that.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a configured &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;helm&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;curl&lt;/code&gt; command or similar for testing HTTPS requests.&lt;/li&gt;
&lt;li&gt;For the ACME HTTP-01 challenge to work
&lt;ul&gt;
&lt;li&gt;your Gateway must be reachable on the public Internet.&lt;/li&gt;
&lt;li&gt;the domain name you use (we use &lt;code&gt;www.example.com&lt;/code&gt;) must point to the Gateway&amp;rsquo;s external IP(s).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="installation"&gt;Installation&lt;a class="td-heading-self-link" href="#installation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/docs/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/latest/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v0.6/user/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/user/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Proxy metrics to a Prometheus instance.
This guide shows you how to visualise the metrics exposed to prometheus using grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v0.6/user/quickstart/"&gt;Quickstart Guide&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Follow the steps from the &lt;a href="../proxy-observability#Metrics"&gt;Proxy Observability&lt;/a&gt; to enable prometheus metrics.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://prometheus.io"&gt;Prometheus&lt;/a&gt; is used to scrape metrics from the Envoy Proxy instances. Install Prometheus:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.0/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.0/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Proxy metrics to a Prometheus instance.
This guide shows you how to visualise the metrics exposed to prometheus using grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="../../quickstart"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Follow the steps from the &lt;a href="../proxy-observability#Metrics"&gt;Proxy Observability&lt;/a&gt; to enable prometheus metrics.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://prometheus.io"&gt;Prometheus&lt;/a&gt; is used to scrape metrics from the Envoy Proxy instances. Install Prometheus:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.1/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.1/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the &lt;a href="https://opentelemetry.io/docs/collector/"&gt;OpenTelemetry Collector&lt;/a&gt; is disabled.&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.2/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps from the &lt;a href="/v1.2/tasks/quickstart/"&gt;Quickstart&lt;/a&gt; task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;p&gt;Verify the Gateway status:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.3/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.4/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.5/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Visualising metrics using Grafana</title><link>/v1.6/tasks/observability/grafana-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/observability/grafana-integration/</guid><description>&lt;p&gt;Envoy Gateway provides support for exposing Envoy Gateway and Envoy Proxy metrics to a Prometheus instance.
This task shows you how to visualise the metrics exposed to Prometheus using Grafana.&lt;/p&gt;



&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id="install-envoy-gateway"&gt;Install Envoy Gateway&lt;a class="td-heading-self-link" href="#install-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for instructions&lt;/summary&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the Gateway API CRDs and Envoy Gateway using Helm:&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/docs/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/latest/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/v1.1/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.1/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/v1.2/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.2/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/v1.3/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.3/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/v1.4/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/v1.5/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm Extensions</title><link>/v1.6/tasks/extensibility/wasm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/extensibility/wasm/</guid><description>&lt;p&gt;This task provides instructions for extending Envoy Gateway with WebAssembly (Wasm) extensions.&lt;/p&gt;
&lt;p&gt;Wasm extensions allow you to extend the functionality of Envoy Gateway by running custom code against HTTP requests and responses,
without modifying the Envoy Gateway binary. These extensions can be written in any language that compiles to Wasm, such as C++, Rust, AssemblyScript, or TinyGo.&lt;/p&gt;
&lt;p&gt;Envoy Gateway introduces a new CRD called &lt;a href="../../../api/extension_types#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt; that allows the user to configure Wasm extensions.
This instantiated resource can be linked to a &lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway"&gt;Gateway&lt;/a&gt; and &lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute"&gt;HTTPRoute&lt;/a&gt; resource.&lt;/p&gt;</description></item><item><title>Wasm OCI Image Support</title><link>/contributions/design/wasm-extension/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/design/wasm-extension/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;a class="td-heading-self-link" href="#motivation" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway (EG) should support Wasm OCI image as a remote wasm code source.
This feature will allow users to deploy Wasm modules from OCI registries, such as Docker Hub,
Google Container Registry, and Amazon Elastic Container Registry, to Envoy proxies managed by EG.
Deploying Wasm modules from OCI registries has several benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Versioning&lt;/strong&gt;: Users can use the tag feature of the OCI image to manage the version of the Wasm module.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: Users can use private registries to store the Wasm module.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distribution&lt;/strong&gt;: Users can use the existing distribution mechanism of the OCI registry to distribute the Wasm module.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="goals"&gt;Goals&lt;a class="td-heading-self-link" href="#goals" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define the system components needed to support Wasm OCI images as remote Wasm code sources.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="architecture"&gt;Architecture&lt;a class="td-heading-self-link" href="#architecture" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/wasm-extension.png"&gt;&lt;/p&gt;</description></item><item><title>Working on Envoy Gateway Docs</title><link>/contributions/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/contributions/docs/</guid><description>&lt;p&gt;The documentation for the Envoy Gateway lives in the &lt;code&gt;site/content/en&lt;/code&gt; directory.
Any individual document can be written using &lt;a href="https://daringfireball.net/projects/markdown/syntax"&gt;Markdown&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="documentation-structure"&gt;Documentation Structure&lt;a class="td-heading-self-link" href="#documentation-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We supported the versioned Docs now, the directory name under docs represents
the version of docs. The root of the latest site is in &lt;code&gt;site/content/en/latest&lt;/code&gt;.
This is probably where to start if you&amp;rsquo;re trying to understand how things fit together.&lt;/p&gt;
&lt;p&gt;Note that the new contents should be added to &lt;code&gt;site/content/en/latest&lt;/code&gt; and will be cut off at
the next release. The contents under &lt;code&gt;site/content/en/v0.5.0&lt;/code&gt; are auto-generated,
and usually do not need to make changes to them, unless if you find the current release pages have
some incorrect contents. If so, you should send a PR to update contents both of &lt;code&gt;site/content/en/latest&lt;/code&gt;
and &lt;code&gt;site/content/en/v0.5.0&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Working on Envoy Gateway Docs</title><link>/v0.2/contributions/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.2/contributions/docs/</guid><description>&lt;p&gt;The documentation for the Envoy Gateway lives in the &lt;code&gt;docs/&lt;/code&gt; directory. Any
individual document can be written using either &lt;a href="https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html"&gt;reStructuredText&lt;/a&gt; or &lt;a href="https://daringfireball.net/projects/markdown/syntax"&gt;Markdown&lt;/a&gt;,
you can choose the format that you&amp;rsquo;re most comfortable with when working on the
documentation.&lt;/p&gt;



&lt;h2 id="documentation-structure"&gt;Documentation Structure&lt;a class="td-heading-self-link" href="#documentation-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We supported the versioned Docs now, the directory name under docs represents
the version of docs. The root of the latest site is in &lt;code&gt;docs/latest/index.rst&lt;/code&gt;.
This is probably where to start if you&amp;rsquo;re trying to understand how things fit together.&lt;/p&gt;</description></item><item><title>Working on Envoy Gateway Docs</title><link>/v0.3/contributions/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.3/contributions/docs/</guid><description>&lt;p&gt;The documentation for the Envoy Gateway lives in the &lt;code&gt;docs/&lt;/code&gt; directory. Any
individual document can be written using either &lt;a href="https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html"&gt;reStructuredText&lt;/a&gt; or &lt;a href="https://daringfireball.net/projects/markdown/syntax"&gt;Markdown&lt;/a&gt;,
you can choose the format that you&amp;rsquo;re most comfortable with when working on the
documentation.&lt;/p&gt;



&lt;h2 id="documentation-structure"&gt;Documentation Structure&lt;a class="td-heading-self-link" href="#documentation-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We supported the versioned Docs now, the directory name under docs represents
the version of docs. The root of the latest site is in &lt;code&gt;docs/latest/index.rst&lt;/code&gt;.
This is probably where to start if you&amp;rsquo;re trying to understand how things fit together.&lt;/p&gt;</description></item><item><title>Working on Envoy Gateway Docs</title><link>/v0.4/contributions/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.4/contributions/docs/</guid><description>&lt;p&gt;The documentation for the Envoy Gateway lives in the &lt;code&gt;docs/&lt;/code&gt; directory. Any
individual document can be written using either &lt;a href="https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html"&gt;reStructuredText&lt;/a&gt; or &lt;a href="https://daringfireball.net/projects/markdown/syntax"&gt;Markdown&lt;/a&gt;,
you can choose the format that you&amp;rsquo;re most comfortable with when working on the
documentation.&lt;/p&gt;



&lt;h2 id="documentation-structure"&gt;Documentation Structure&lt;a class="td-heading-self-link" href="#documentation-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We supported the versioned Docs now, the directory name under docs represents
the version of docs. The root of the latest site is in &lt;code&gt;docs/latest/index.rst&lt;/code&gt;.
This is probably where to start if you&amp;rsquo;re trying to understand how things fit together.&lt;/p&gt;</description></item><item><title>Working on Envoy Gateway Docs</title><link>/v0.5/contributions/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.5/contributions/docs/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;

 &lt;p&gt;We migrated from &lt;em&gt;&lt;strong&gt;Sphinx&lt;/strong&gt;&lt;/em&gt; to &lt;em&gt;&lt;strong&gt;Hugo&lt;/strong&gt;&lt;/em&gt; for Envoy Gateway Documents.&lt;/p&gt;
&lt;p&gt;Read blog: &lt;a href="/news/blogs/new-website/new-website/"&gt;Welcome to new website!&lt;/a&gt;&lt;/p&gt;


&lt;/div&gt;

&lt;p&gt;The documentation for the Envoy Gateway lives in the &lt;code&gt;site/content/en&lt;/code&gt; directory. Any
individual document can be written using &lt;a href="https://daringfireball.net/projects/markdown/syntax"&gt;Markdown&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="documentation-structure"&gt;Documentation Structure&lt;a class="td-heading-self-link" href="#documentation-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We supported the versioned Docs now, the directory name under docs represents
the version of docs. The root of the latest site is in &lt;code&gt;site/content/en/latest&lt;/code&gt;.
This is probably where to start if you&amp;rsquo;re trying to understand how things fit together.&lt;/p&gt;</description></item><item><title>Working on Envoy Gateway Docs</title><link>/v0.6/contributions/docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v0.6/contributions/docs/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;

 &lt;p&gt;We migrated from &lt;em&gt;&lt;strong&gt;Sphinx&lt;/strong&gt;&lt;/em&gt; to &lt;em&gt;&lt;strong&gt;Hugo&lt;/strong&gt;&lt;/em&gt; for Envoy Gateway Documents.&lt;/p&gt;
&lt;p&gt;Read blog: &lt;a href="/news/blogs/new-website/new-website/"&gt;Welcome to new website!&lt;/a&gt;&lt;/p&gt;


&lt;/div&gt;

&lt;p&gt;The documentation for the Envoy Gateway lives in the &lt;code&gt;site/content/en&lt;/code&gt; directory. Any
individual document can be written using &lt;a href="https://daringfireball.net/projects/markdown/syntax"&gt;Markdown&lt;/a&gt;.&lt;/p&gt;



&lt;h2 id="documentation-structure"&gt;Documentation Structure&lt;a class="td-heading-self-link" href="#documentation-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We supported the versioned Docs now, the directory name under docs represents
the version of docs. The root of the latest site is in &lt;code&gt;site/content/en/latest&lt;/code&gt;.
This is probably where to start if you&amp;rsquo;re trying to understand how things fit together.&lt;/p&gt;</description></item><item><title>Zone Aware Routing</title><link>/docs/tasks/traffic/zone-aware-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/tasks/traffic/zone-aware-routing/</guid><description>&lt;p&gt;EnvoyGateway makes use of &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/zone_aware"&gt;Envoy Zone Aware Routing&lt;/a&gt; to keep network traffic in the originating zone.
Preferring same-zone traffic between Pods in your cluster can help with reliability, performance (network latency and throughput), or cost.&lt;/p&gt;
&lt;p&gt;Zone-aware routing may be enabled in one of two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Configuring a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; with the &lt;code&gt;loadbalancer.zoneAware&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;Configuring a backendRef Kubernetes &lt;code&gt;Service&lt;/code&gt; with &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution"&gt;Traffic Distribution&lt;/a&gt; or &lt;a href="https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/"&gt;Topology Aware Routing&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When both a backendRef and a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; include a configuration for zone awareness, the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; takes precedence.&lt;/p&gt;</description></item><item><title>Zone Aware Routing</title><link>/latest/tasks/traffic/zone-aware-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/latest/tasks/traffic/zone-aware-routing/</guid><description>&lt;p&gt;EnvoyGateway makes use of &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/zone_aware"&gt;Envoy Zone Aware Routing&lt;/a&gt; to keep network traffic in the originating zone.
Preferring same-zone traffic between Pods in your cluster can help with reliability, performance (network latency and throughput), or cost.&lt;/p&gt;
&lt;p&gt;Zone-aware routing may be enabled in one of two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Configuring a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; with the &lt;code&gt;loadbalancer.zoneAware&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;Configuring a backendRef Kubernetes &lt;code&gt;Service&lt;/code&gt; with &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution"&gt;Traffic Distribution&lt;/a&gt; or &lt;a href="https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/"&gt;Topology Aware Routing&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When both a backendRef and a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; include a configuration for zone awareness, the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; takes precedence.&lt;/p&gt;</description></item><item><title>Zone Aware Routing</title><link>/v1.4/tasks/traffic/zone-aware-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/tasks/traffic/zone-aware-routing/</guid><description>&lt;p&gt;EnvoyGateway makes use of &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/zone_aware"&gt;Envoy Zone Aware Routing&lt;/a&gt; to support Kubernetes &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution"&gt;Traffic Distribution&lt;/a&gt;
and &lt;a href="https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/"&gt;Topology Aware Routing&lt;/a&gt; which are useful for keeping network traffic in the originating zone.
Preferring same-zone traffic between Pods in your cluster can help with reliability, performance (network latency and throughput), or cost.&lt;/p&gt;


&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Note&lt;/h4&gt;

 The current implementation for Topology Aware Routing support doesn&amp;rsquo;t respect the minimum of 3 endpoints per zone
requirement and applies the same logic as &lt;code&gt;spec.TrafficDistribution=PreferClose&lt;/code&gt;. This will be fixed in the next release.

&lt;/div&gt;




&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The Kubernetes cluster&amp;rsquo;s nodes must indicate topology information via the &lt;code&gt;topology.kubernetes.io/zone&lt;/code&gt; &lt;a href="https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone"&gt;well-known label&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There must be at least two valid topology zones for scheduling.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.&lt;/p&gt;</description></item><item><title>Zone Aware Routing</title><link>/v1.5/tasks/traffic/zone-aware-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/tasks/traffic/zone-aware-routing/</guid><description>&lt;p&gt;EnvoyGateway makes use of &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/zone_aware"&gt;Envoy Zone Aware Routing&lt;/a&gt; to keep network traffic in the originating zone.
Preferring same-zone traffic between Pods in your cluster can help with reliability, performance (network latency and throughput), or cost.&lt;/p&gt;
&lt;p&gt;Zone-aware routing may be enabled in one of two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Configuring a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; with the &lt;code&gt;loadbalancer.zoneAware&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;Configuring a backendRef Kubernetes &lt;code&gt;Service&lt;/code&gt; with &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution"&gt;Traffic Distribution&lt;/a&gt; or &lt;a href="https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/"&gt;Topology Aware Routing&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When both a backendRef and a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; include a configuration for zone awareness, the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; takes precedence.&lt;/p&gt;</description></item><item><title>Zone Aware Routing</title><link>/v1.6/tasks/traffic/zone-aware-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.6/tasks/traffic/zone-aware-routing/</guid><description>&lt;p&gt;EnvoyGateway makes use of &lt;a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/zone_aware"&gt;Envoy Zone Aware Routing&lt;/a&gt; to keep network traffic in the originating zone.
Preferring same-zone traffic between Pods in your cluster can help with reliability, performance (network latency and throughput), or cost.&lt;/p&gt;
&lt;p&gt;Zone-aware routing may be enabled in one of two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Configuring a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; with the &lt;code&gt;loadbalancer.zoneAware&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;Configuring a backendRef Kubernetes &lt;code&gt;Service&lt;/code&gt; with &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution"&gt;Traffic Distribution&lt;/a&gt; or &lt;a href="https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/"&gt;Topology Aware Routing&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When both a backendRef and a &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; include a configuration for zone awareness, the &lt;a href="../../../api/extension_types#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt; takes precedence.&lt;/p&gt;</description></item></channel></rss>