From 1865f04592ae22b56b6aa357e48fddb2138e1ed1 Mon Sep 17 00:00:00 2001 From: Tina Usova Date: Wed, 8 Oct 2025 12:15:16 +0100 Subject: [PATCH 1/3] RouteRules unsupported fields update --- content/ngf/overview/gateway-api-compatibility.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index 5b9cd9d3e..323d15448 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -36,7 +36,10 @@ Gateway API features has three [support levels](https://gateway-api.sigs.k8s.io/ - _Not supported_. The resource or field is not yet supported. It will become partially or fully supported in future releases. -{{< call-out "note" >}} It's possible that NGINX Gateway Fabric will never support some resources or fields of the Gateway API. They will be documented on a case by case basis. {{< /call-out >}} +{{< call-out "note" >}} It's possible that NGINX Gateway Fabric will never support some resources or fields of the Gateway API. They will be documented on a case by case basis. + +Please note that while we make every effort to reflect the support status of experimental fields in our code and documentation, there may be instances where this is not explicitly +indicated. Support for such fields is provided on a best-effort basis.{{< /call-out >}} ## Resources @@ -165,6 +168,10 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `requestMirror`: Supported. Multiple mirrors can be specified. Percent and fraction-based mirroring are supported. - `extensionRef`: Supported for SnippetsFilters. - `backendRefs`: Partially supported. Backend ref `filters` are not supported. + - `name`: Not supported. + - `timeouts`: Not supported. + - `retry`: Not supported. + - `sessionPersistence`: Not supported. - `status` - `parents` - `parentRef`: Supported. @@ -187,6 +194,8 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `ResolvedRefs/False/UnsupportedProtocol` - `PartiallyInvalid/True/UnsupportedValue` + {{< call-out "note" >}} If `name`, `timeouts`, `retry` or `sessionPersistence` are defined for a HTTPRoute rule, they will be ignored and rule still will be created. {{< /call-out >}} + ### GRPCRoute {{< table >}} @@ -211,6 +220,8 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `requestMirror`: Supported. Multiple mirrors can be specified. - `extensionRef`: Supported for SnippetsFilters. - `backendRefs`: Partially supported. Backend ref `filters` are not supported. + - `name`: Not supported. + - `sessionPersistence`: Not supported. - `status` - `parents` - `parentRef`: Supported. @@ -230,6 +241,8 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `ResolvedRefs/False/UnsupportedValue`: Custom reason for when one of the GRPCRoute rules has a backendRef with an unsupported value. - `PartiallyInvalid/True/UnsupportedValue` +{{< call-out "note" >}} If `name` or `sessionPersistence` are defined for a GRPCRoute rule, they will be ignored and rule still will be created. {{< /call-out >}} + ### ReferenceGrant {{< table >}} From 49bd484b4809920b09384071a1c336fb0f4cf643 Mon Sep 17 00:00:00 2001 From: Tina Usova Date: Thu, 9 Oct 2025 12:12:24 +0100 Subject: [PATCH 2/3] Adding conditions description for UnsupportedField --- content/ngf/overview/gateway-api-compatibility.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index 323d15448..1e1864156 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -119,6 +119,7 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `Accepted/False/UnsupportedValue`: Custom reason for when a value of a field in a Gateway is invalid or not supported. - `Programmed/True/Programmed` - `Programmed/False/Invalid` + - `UnsupportedField/True/UnsupportedField`: Custom reason for when a field in Gateway is not supported - `listeners` - `name`: Supported. - `supportedKinds`: Supported. @@ -193,6 +194,7 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `ResolvedRefs/False/InvalidIPFamily`: Custom reason for when one of the HTTPRoute rules has a backendRef that has an invalid IPFamily. - `ResolvedRefs/False/UnsupportedProtocol` - `PartiallyInvalid/True/UnsupportedValue` + - `UnsupportedField/True/UnsupportedField`: Custom reason for when a field in HTTPRoute is not supported {{< call-out "note" >}} If `name`, `timeouts`, `retry` or `sessionPersistence` are defined for a HTTPRoute rule, they will be ignored and rule still will be created. {{< /call-out >}} @@ -240,6 +242,7 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `ResolvedRefs/False/BackendNotFound` - `ResolvedRefs/False/UnsupportedValue`: Custom reason for when one of the GRPCRoute rules has a backendRef with an unsupported value. - `PartiallyInvalid/True/UnsupportedValue` + - `UnsupportedField/True/UnsupportedField`: Custom reason for when a field in GRPCRoute is not supported {{< call-out "note" >}} If `name` or `sessionPersistence` are defined for a GRPCRoute rule, they will be ignored and rule still will be created. {{< /call-out >}} From 9a61d91dc585f5bcbea2e4838f757798b0a500a6 Mon Sep 17 00:00:00 2001 From: Tina Usova Date: Thu, 9 Oct 2025 12:48:40 +0100 Subject: [PATCH 3/3] Fix conditions --- content/ngf/overview/gateway-api-compatibility.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index 1e1864156..c7c1decfe 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -119,7 +119,7 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `Accepted/False/UnsupportedValue`: Custom reason for when a value of a field in a Gateway is invalid or not supported. - `Programmed/True/Programmed` - `Programmed/False/Invalid` - - `UnsupportedField/True/UnsupportedField`: Custom reason for when a field in Gateway is not supported + - `Accepted/True/UnsupportedField`: Custom reason for when the Gateway is accepted but contains an unsupported field - `listeners` - `name`: Supported. - `supportedKinds`: Supported. @@ -194,7 +194,7 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `ResolvedRefs/False/InvalidIPFamily`: Custom reason for when one of the HTTPRoute rules has a backendRef that has an invalid IPFamily. - `ResolvedRefs/False/UnsupportedProtocol` - `PartiallyInvalid/True/UnsupportedValue` - - `UnsupportedField/True/UnsupportedField`: Custom reason for when a field in HTTPRoute is not supported + - `Accepted/True/UnsupportedField`: Custom reason for when the HTTPRouteRule is accepted but contains an unsupported field {{< call-out "note" >}} If `name`, `timeouts`, `retry` or `sessionPersistence` are defined for a HTTPRoute rule, they will be ignored and rule still will be created. {{< /call-out >}} @@ -242,7 +242,7 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command - `ResolvedRefs/False/BackendNotFound` - `ResolvedRefs/False/UnsupportedValue`: Custom reason for when one of the GRPCRoute rules has a backendRef with an unsupported value. - `PartiallyInvalid/True/UnsupportedValue` - - `UnsupportedField/True/UnsupportedField`: Custom reason for when a field in GRPCRoute is not supported + - `Accepted/True/UnsupportedField`: Custom reason for when the GRPCRouteRule is accepted but contains an unsupported field {{< call-out "note" >}} If `name` or `sessionPersistence` are defined for a GRPCRoute rule, they will be ignored and rule still will be created. {{< /call-out >}}