From 764e365ce74c0be794f0465cf91b911ed8f08a21 Mon Sep 17 00:00:00 2001 From: "Huabing (Robin) Zhao" Date: Thu, 31 Jul 2025 08:41:40 +0000 Subject: [PATCH 1/3] name scheme v2 Signed-off-by: Huabing (Robin) Zhao name scheme v2 Signed-off-by: Huabing (Robin) Zhao --- .../tasks/extensibility/envoy-patch-policy.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md b/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md index 9fddf7dc57..e635854671 100644 --- a/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md +++ b/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md @@ -82,6 +82,35 @@ data: {{< boilerplate rollout-envoy-gateway >}} +## XDS Name Scheme V2 + +Starting from v1.5, Envoy Gateway uses version 2 of the xDS name scheme when generating xDS resources. +Because [EnvoyPatchPolicy][] relies on specific xDS resource names, it’s important to use the correct naming format when authoring a patch policy. + +The name format in the old version of scheme: +* Listener name: `//`, example: `default/eg/http` +* RouteConfig/FilterChain name: `//`, example: `default/eg/http` +* FilterChain name: `//`, example: `default/eg/http` +* VirtualHost name: `///`, example: `default/ef/http/www_example_com` +* HCM StatPrefix: `/`, example: `http-10080` or `https-10443` + +Name format in version 2 of the scheme: +* Listener name: `-`, example: `tcp-80` +* RouteConfig name: + * HTTP Listener RouteConfig name: ``, example: `80` + * HTTPS Listener RouteConfig name: `//`, example: `default/eg/http` (same as the old version) +* FilterChain name: + * HTTP Listener FilterChain name: `http-`, example: `http-80` + * HTTPS Listener FilterChain name: `//`, example: `default/eg/http` (same as the old version) +* VirtualHost name: ``, example: `www_example_com` +* HCM StatPrefix: `/`, example: `http-80` or `https-443` + +This change is gated by the XDSNameSchemeV2 runtime flag. The flag is disabled by default in v1.5 and will be enabled by default starting in v1.6. + +We recommend users begin migrating their [EnvoyPatchPolicy][] resources to use the version 2 naming scheme before upgrading to v1.6. + +To opt in to the new naming scheme early, add the`XDSNameSchemeV2` runtime flag to the `runtimeFlags.enabled` field in your [EnvoyGateway][] configuration. + ## Testing ### Customize Response From 1e006d27107a88e5722f2b6320ed7efb08e57687 Mon Sep 17 00:00:00 2001 From: "Huabing (Robin) Zhao" Date: Fri, 1 Aug 2025 00:38:32 +0000 Subject: [PATCH 2/3] address comment Signed-off-by: Huabing (Robin) Zhao --- .../tasks/extensibility/envoy-patch-policy.md | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md b/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md index e635854671..9b9aa4c81d 100644 --- a/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md +++ b/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md @@ -87,23 +87,22 @@ data: Starting from v1.5, Envoy Gateway uses version 2 of the xDS name scheme when generating xDS resources. Because [EnvoyPatchPolicy][] relies on specific xDS resource names, it’s important to use the correct naming format when authoring a patch policy. -The name format in the old version of scheme: -* Listener name: `//`, example: `default/eg/http` -* RouteConfig/FilterChain name: `//`, example: `default/eg/http` -* FilterChain name: `//`, example: `default/eg/http` -* VirtualHost name: `///`, example: `default/ef/http/www_example_com` -* HCM StatPrefix: `/`, example: `http-10080` or `https-10443` - -Name format in version 2 of the scheme: -* Listener name: `-`, example: `tcp-80` -* RouteConfig name: - * HTTP Listener RouteConfig name: ``, example: `80` - * HTTPS Listener RouteConfig name: `//`, example: `default/eg/http` (same as the old version) -* FilterChain name: - * HTTP Listener FilterChain name: `http-`, example: `http-80` - * HTTPS Listener FilterChain name: `//`, example: `default/eg/http` (same as the old version) -* VirtualHost name: ``, example: `www_example_com` -* HCM StatPrefix: `/`, example: `http-80` or `https-443` +| Component | Scheme Version | Format Description | Example | +|----------------------|----------------|------------------------------------------------------------------------------|----------------------------------| +| **Listener name** | Old | `//` | `default/eg/http` | +| | V2 | `-` | `tcp-80` | +| **RouteConfig name** | Old | `//` | `default/eg/http` | +| | V2 (HTTP) | `http-` | `http-80` | +| | V2 (HTTPS) | `//` | `default/eg/https` | +| **FilterChain name** | Old | `//` | `default/eg/http` | +| | V2 (HTTP) | `http-` | `http-80` | +| | V2 (HTTPS) | `//` | `default/eg/https` | +| **VirtualHost name** | Old | `///` | `default/eg/http/www_example_com` | +| | V2 | `` | `www_example_com` | +| **HCM StatPrefix** | Old | `/` | `http-10080`, `https-10443` | +| | V2 (HTTP) | `http-` | `http-80` | +| | V2 (HTTPS) | `https-` | `https-443` | + This change is gated by the XDSNameSchemeV2 runtime flag. The flag is disabled by default in v1.5 and will be enabled by default starting in v1.6. From 805bf52f4ced01039328d639fd7e9621d4bd8c15 Mon Sep 17 00:00:00 2001 From: "Huabing (Robin) Zhao" Date: Fri, 1 Aug 2025 01:59:14 +0000 Subject: [PATCH 3/3] address comment Signed-off-by: Huabing (Robin) Zhao --- .../tasks/extensibility/envoy-patch-policy.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md b/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md index 9b9aa4c81d..72b047e3bc 100644 --- a/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md +++ b/site/content/en/latest/tasks/extensibility/envoy-patch-policy.md @@ -110,6 +110,61 @@ We recommend users begin migrating their [EnvoyPatchPolicy][] resources to use t To opt in to the new naming scheme early, add the`XDSNameSchemeV2` runtime flag to the `runtimeFlags.enabled` field in your [EnvoyGateway][] configuration. +{{< tabpane text=true >}} +{{% tab header="Apply from stdin" %}} + +```shell +cat <}} + ## Testing ### Customize Response