From 4ce0535cfeb45b9c2f19bd8740d161296d6174f3 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Mon, 9 Sep 2024 16:08:55 -0700 Subject: [PATCH 01/11] WIP --- ...stall-gateway-api-experimental-features.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 site/content/includes/installation/install-gateway-api-experimental-features.md diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md new file mode 100644 index 0000000000..3d9310217c --- /dev/null +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -0,0 +1,21 @@ +--- +docs: "DOCS-000" +--- + +Installing Gateway API resources from the experimental channel includes everything in the standard release channel plus additional experimental resources and fields. +NGINX Gateway Fabric currently supports a subset of the additional features provided by the experimental channel. In order +to use these experimental resources, the [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the experimental channel must be installed before deploying NGINX Gateway Fabric. +Additionally, NGINX Gateway Fabric must have experimental features enabled. + +{{}}As noted in the [Gateway API documentation](https://gateway-api.sigs.k8s.io/guides/#install-experimental-channel), future releases of the Gateway API can include breaking changes to experimental resources and fields.{{}} + +To install the Gateway API resources from the experimental channel, run the following: + +```shell +kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f - +``` + +{{}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}} + + +To enable experimental features on NGINX Gateway Fabric: From faf9fbd5f4b50bc2cb1b4aa5acd718bb5f56eaef Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Thu, 12 Sep 2024 10:48:48 -0700 Subject: [PATCH 02/11] WIP --- .../install-gateway-api-experimental-features.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md index 3d9310217c..10295c0735 100644 --- a/site/content/includes/installation/install-gateway-api-experimental-features.md +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -19,3 +19,9 @@ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/g To enable experimental features on NGINX Gateway Fabric: + +If using Helm: The nginxGateway.gwAPIExperimentalFeatures.enable option must be set to true. An example can be found +in the [Installation with Helm]({{< relref "installation/installing-ngf/helm.md#Experimental-features" >}}) guide. + +If using Kubernetes manifests: The --gateway-api-experimental-features command-line flag must be set to true on the deployment manifest. +An example can be found in the [Installation with Kubernetes manifests]({{< relref "installation/installing-ngf/manifests.md#3.-Deploy-NGINX-Gateway-Fabric" >}}) guide. From 975cff2872682571cce03d1833874aa014682ddb Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Thu, 12 Sep 2024 11:54:48 -0700 Subject: [PATCH 03/11] WIP --- .../how-to/traffic-management/securing-backend-traffic.md | 6 +++++- site/content/how-to/traffic-management/tls-passthrough.md | 6 +++++- .../install-gateway-api-experimental-features.md | 8 ++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/site/content/how-to/traffic-management/securing-backend-traffic.md b/site/content/how-to/traffic-management/securing-backend-traffic.md index 7073143591..acd16d5007 100644 --- a/site/content/how-to/traffic-management/securing-backend-traffic.md +++ b/site/content/how-to/traffic-management/securing-backend-traffic.md @@ -12,9 +12,13 @@ Learn how to encrypt HTTP traffic between NGINX Gateway Fabric and your backend In this guide, we will show how to specify the TLS configuration of the connection from the Gateway to a backend pod/s via the Service API object using a [BackendTLSPolicy](https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/). This covers the use-case where the service or backend owner is doing their own TLS and NGINX Gateway Fabric needs to know how to connect to this backend pod that has its own certificate over HTTPS. +## Note on Gateway API Experimental Features + +{{}} + ## Before you begin -- [Install]({{< relref "installation/" >}}) NGINX Gateway Fabric. Please note that the Gateway APIs from the experimental channel are required, and NGF must be deployed with the `--gateway-api-experimental-features` flag. +- [Install]({{< relref "installation/" >}}) NGINX Gateway Fabric with experimental features enabled. - Save the public IP address and port of NGINX Gateway Fabric into shell variables: ```text diff --git a/site/content/how-to/traffic-management/tls-passthrough.md b/site/content/how-to/traffic-management/tls-passthrough.md index 53395fbc20..c2f2ba33e0 100644 --- a/site/content/how-to/traffic-management/tls-passthrough.md +++ b/site/content/how-to/traffic-management/tls-passthrough.md @@ -11,9 +11,13 @@ Learn how to use TLSRoutes to configure TLS Passthrough load-balancing with NGIN In this guide, we will show how to configure TLS passthrough for your application, using a [TLSRoute](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute). +## Note on Gateway API Experimental Features + +{{}} + ## Before you begin -- [Install]({{< relref "installation/" >}}) NGINX Gateway Fabric. +- [Install]({{< relref "installation/" >}}) NGINX Gateway Fabric with experimental features enabled. - Save the public IP address and port of NGINX Gateway Fabric into shell variables: ```text diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md index 10295c0735..92b5d510e8 100644 --- a/site/content/includes/installation/install-gateway-api-experimental-features.md +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -20,8 +20,8 @@ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/g To enable experimental features on NGINX Gateway Fabric: -If using Helm: The nginxGateway.gwAPIExperimentalFeatures.enable option must be set to true. An example can be found -in the [Installation with Helm]({{< relref "installation/installing-ngf/helm.md#Experimental-features" >}}) guide. +If using Helm: The `nginxGateway.gwAPIExperimentalFeatures.enable` option must be set to true. An example can be found +in the [Installation with Helm]({{< relref "installation/installing-ngf/helm.md#custom-installation-options" >}}) guide. -If using Kubernetes manifests: The --gateway-api-experimental-features command-line flag must be set to true on the deployment manifest. -An example can be found in the [Installation with Kubernetes manifests]({{< relref "installation/installing-ngf/manifests.md#3.-Deploy-NGINX-Gateway-Fabric" >}}) guide. +If using Kubernetes manifests: The `--gateway-api-experimental-features` command-line flag must be set to true on the deployment manifest. +An example can be found in the [Installation with Kubernetes manifests]({{< relref "installation/installing-ngf/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide. From 3828c447fc18139fb721208581162ddadc7a0f30 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Thu, 12 Sep 2024 14:35:31 -0700 Subject: [PATCH 04/11] Add link to Gateway API Compatibility document --- .../install-gateway-api-experimental-features.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md index 92b5d510e8..4b9a66b8cf 100644 --- a/site/content/includes/installation/install-gateway-api-experimental-features.md +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -3,8 +3,9 @@ docs: "DOCS-000" --- Installing Gateway API resources from the experimental channel includes everything in the standard release channel plus additional experimental resources and fields. -NGINX Gateway Fabric currently supports a subset of the additional features provided by the experimental channel. In order -to use these experimental resources, the [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the experimental channel must be installed before deploying NGINX Gateway Fabric. +NGINX Gateway Fabric currently supports a subset of the additional features provided by the experimental channel. +To learn more about what Gateway API resources NGINX Gateway Fabric currently supports, visit our [Gateway API Compatibility]({{< relref "overview/gateway-api-compatibility.md" >}}) document. +In order to use these experimental resources, the [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the experimental channel must be installed before deploying NGINX Gateway Fabric. Additionally, NGINX Gateway Fabric must have experimental features enabled. {{}}As noted in the [Gateway API documentation](https://gateway-api.sigs.k8s.io/guides/#install-experimental-channel), future releases of the Gateway API can include breaking changes to experimental resources and fields.{{}} @@ -17,7 +18,6 @@ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/g {{}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}} - To enable experimental features on NGINX Gateway Fabric: If using Helm: The `nginxGateway.gwAPIExperimentalFeatures.enable` option must be set to true. An example can be found From 13b61e6021e8fb82d1e6f304f34de8baadfb6eae Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Thu, 12 Sep 2024 14:42:30 -0700 Subject: [PATCH 05/11] Add callout to specific resources being part of the experimental release channel --- .../how-to/traffic-management/securing-backend-traffic.md | 2 ++ site/content/how-to/traffic-management/tls-passthrough.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/site/content/how-to/traffic-management/securing-backend-traffic.md b/site/content/how-to/traffic-management/securing-backend-traffic.md index acd16d5007..7fac297ca6 100644 --- a/site/content/how-to/traffic-management/securing-backend-traffic.md +++ b/site/content/how-to/traffic-management/securing-backend-traffic.md @@ -14,6 +14,8 @@ In this guide, we will show how to specify the TLS configuration of the connecti ## Note on Gateway API Experimental Features +{{< important >}} BackendTLSPolicy is a Gateway API resource from the experimental release channel. {{< /important >}} + {{}} ## Before you begin diff --git a/site/content/how-to/traffic-management/tls-passthrough.md b/site/content/how-to/traffic-management/tls-passthrough.md index c2f2ba33e0..8ade7ff8bb 100644 --- a/site/content/how-to/traffic-management/tls-passthrough.md +++ b/site/content/how-to/traffic-management/tls-passthrough.md @@ -13,6 +13,8 @@ In this guide, we will show how to configure TLS passthrough for your applicatio ## Note on Gateway API Experimental Features +{{< important >}} TLSRoute is a Gateway API resource from the experimental release channel. {{< /important >}} + {{}} ## Before you begin From 002087e08aa4b50f211e84debeea8275dbb9e116 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Thu, 12 Sep 2024 14:53:29 -0700 Subject: [PATCH 06/11] Remove inaccurate note on gateway api compatibility guide and add blank lines to tables --- .../overview/gateway-api-compatibility.md | 54 +++++++++++++------ 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/site/content/overview/gateway-api-compatibility.md b/site/content/overview/gateway-api-compatibility.md index e7405e5a47..771631bdf7 100644 --- a/site/content/overview/gateway-api-compatibility.md +++ b/site/content/overview/gateway-api-compatibility.md @@ -10,6 +10,7 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev ## Summary {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | |---------------------------------------|--------------------|------------------------|---------------------------------------|-------------| | [GatewayClass](#gatewayclass) | Supported | Not supported | Supported | v1 | @@ -22,6 +23,7 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev | [UDPRoute](#udproute) | Not supported | Not supported | Not supported | N/A | | [BackendTLSPolicy](#backendtlspolicy) | Supported | Supported | Not supported | v1alpha3 | | [Custom policies](#custom-policies) | N/A | N/A | Supported | N/A | + {{< /bootstrap-table >}} --- @@ -36,7 +38,7 @@ 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. -{{< 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. NGINX Gateway Fabric doesn't support any features from the experimental release channel. {{< /note >}} +{{< 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. {{< /note >}} --- @@ -49,9 +51,11 @@ For a description of each field, visit the [Gateway API documentation](https://g ### GatewayClass {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level| API Version | -| ------------ | ------------------ | ---------------------- | ----------------------------------- | ----------- | -| GatewayClass | Supported | Not supported | Supported | v1 | + +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | +|--------------|--------------------|------------------------|---------------------------------------|-------------| +| GatewayClass | Supported | Not supported | Supported | v1 | + {{< /bootstrap-table >}} NGINX Gateway Fabric supports a single GatewayClass resource configured with the `--gatewayclass` flag of the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) command. @@ -77,9 +81,11 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the ### Gateway {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| -------- | ------------------ | -----------------------------| ------------------------------------- | ----------- | -| Gateway | Supported | Partially supported | Not supported | v1 | + +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | +|----------|--------------------|------------------------|---------------------------------------|-------------| +| Gateway | Supported | Partially supported | Not supported | v1 | + {{< /bootstrap-table >}} NGINX Gateway Fabric supports a single Gateway resource. The Gateway resource must reference NGINX Gateway Fabric's corresponding GatewayClass. @@ -140,9 +146,11 @@ See the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) comman ### HTTPRoute {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| --------- | ------------------ | ---------------------- | ------------------------------------- | ----------- | +|-----------|--------------------|------------------------|---------------------------------------|-------------| | HTTPRoute | Supported | Partially supported | Not supported | v1 | + {{< /bootstrap-table >}} **Fields**: @@ -190,9 +198,11 @@ See the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) comman ### GRPCRoute {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| --------- | ------------------- | -----------------------------| ------------------------------------- | ----------- | -| GRPCRoute | Supported | Partially supported | Not supported | v1 | + +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | +|-----------|--------------------|------------------------|---------------------------------------|-------------| +| GRPCRoute | Supported | Partially supported | Not supported | v1 | + {{< /bootstrap-table >}} **Fields**: @@ -234,9 +244,11 @@ See the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) comman ### ReferenceGrant {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| -------------- | ------------------ | ---------------------- | ------------------------------------- | ----------- | +|----------------|--------------------|------------------------|---------------------------------------|-------------| | ReferenceGrant | Supported | N/A | Not supported | v1beta1 | + {{< /bootstrap-table >}} Fields: @@ -256,9 +268,11 @@ Fields: ### TLSRoute {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | |----------|--------------------|------------------------|---------------------------------------|-------------| | TLSRoute | Supported | Not supported | Not supported | v1alpha2 | + {{< /bootstrap-table >}} **Fields**: @@ -294,9 +308,11 @@ Fields: ### TCPRoute {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| -------- | ------------------ | ---------------------- | ------------------------------------- | ----------- | +|----------|--------------------|------------------------|---------------------------------------|-------------| | TCPRoute | Not supported | Not supported | Not supported | N/A | + {{< /bootstrap-table >}} --- @@ -304,9 +320,11 @@ Fields: ### UDPRoute {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| -------- | ------------------ | ---------------------- | ------------------------------------- | ----------- | +|----------|--------------------|------------------------|---------------------------------------|-------------| | UDPRoute | Not supported | Not supported | Not supported | N/A | + {{< /bootstrap-table >}} --- @@ -314,9 +332,11 @@ Fields: ### BackendTLSPolicy {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| ---------------- | ------------------ | ---------------------- | ------------------------------------- | ----------- | +|------------------|--------------------|------------------------|---------------------------------------|-------------| | BackendTLSPolicy | Supported | Supported | Not supported | v1alpha3 | + {{< /bootstrap-table >}} Fields: @@ -346,9 +366,11 @@ Fields: ### Custom Policies {{< bootstrap-table "table table-striped table-bordered" >}} + | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -| --------------- | ------------------ | ---------------------- | ------------------------------------- | ----------- | +|-----------------|--------------------|------------------------|---------------------------------------|-------------| | Custom policies | N/A | N/A | Supported | N/A | + {{< /bootstrap-table >}} Custom policies are NGINX Gateway Fabric-specific CRDs (Custom Resource Definitions) that support features such as tracing, and client connection settings. These important data-plane features are not part of the Gateway API specifications. From 340310d0c23e6ee5b3dcff8947ede92ef0a67910 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Thu, 12 Sep 2024 15:02:29 -0700 Subject: [PATCH 07/11] Add API Release Channel to gateway api compatibility document --- .../overview/gateway-api-compatibility.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/site/content/overview/gateway-api-compatibility.md b/site/content/overview/gateway-api-compatibility.md index 771631bdf7..b112b1b3c0 100644 --- a/site/content/overview/gateway-api-compatibility.md +++ b/site/content/overview/gateway-api-compatibility.md @@ -11,18 +11,18 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|---------------------------------------|--------------------|------------------------|---------------------------------------|-------------| -| [GatewayClass](#gatewayclass) | Supported | Not supported | Supported | v1 | -| [Gateway](#gateway) | Supported | Partially supported | Not supported | v1 | -| [HTTPRoute](#httproute) | Supported | Partially supported | Not supported | v1 | -| [ReferenceGrant](#referencegrant) | Supported | N/A | Not supported | v1beta1 | -| [GRPCRoute](#grpcroute) | Supported | Partially supported | Not supported | v1 | -| [TLSRoute](#tlsroute) | Supported | Not supported | Not supported | v1alpha2 | -| [TCPRoute](#tcproute) | Not supported | Not supported | Not supported | N/A | -| [UDPRoute](#udproute) | Not supported | Not supported | Not supported | N/A | -| [BackendTLSPolicy](#backendtlspolicy) | Supported | Supported | Not supported | v1alpha3 | -| [Custom policies](#custom-policies) | N/A | N/A | Supported | N/A | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|---------------------------------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| [GatewayClass](#gatewayclass) | Supported | Not supported | Supported | v1 | Standard | +| [Gateway](#gateway) | Supported | Partially supported | Not supported | v1 | Standard | +| [HTTPRoute](#httproute) | Supported | Partially supported | Not supported | v1 | Standard | +| [GRPCRoute](#grpcroute) | Supported | Partially supported | Not supported | v1 | Standard | +| [ReferenceGrant](#referencegrant) | Supported | N/A | Not supported | v1beta1 | Standard | +| [TLSRoute](#tlsroute) | Supported | Not supported | Not supported | v1alpha2 | Experimental | +| [TCPRoute](#tcproute) | Not supported | Not supported | Not supported | N/A | N/A | +| [UDPRoute](#udproute) | Not supported | Not supported | Not supported | N/A | N/A | +| [BackendTLSPolicy](#backendtlspolicy) | Supported | Supported | Not supported | v1alpha3 | Experimental | +| [Custom policies](#custom-policies) | N/A | N/A | Supported | N/A | N/A | {{< /bootstrap-table >}} @@ -52,9 +52,9 @@ For a description of each field, visit the [Gateway API documentation](https://g {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|--------------|--------------------|------------------------|---------------------------------------|-------------| -| GatewayClass | Supported | Not supported | Supported | v1 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|--------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| GatewayClass | Supported | Not supported | Supported | v1 | Standard | {{< /bootstrap-table >}} @@ -82,9 +82,9 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|----------|--------------------|------------------------|---------------------------------------|-------------| -| Gateway | Supported | Partially supported | Not supported | v1 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| Gateway | Supported | Partially supported | Not supported | v1 | Standard | {{< /bootstrap-table >}} @@ -147,9 +147,9 @@ See the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) comman {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|-----------|--------------------|------------------------|---------------------------------------|-------------| -| HTTPRoute | Supported | Partially supported | Not supported | v1 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|-----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| HTTPRoute | Supported | Partially supported | Not supported | v1 | Standard | {{< /bootstrap-table >}} @@ -199,9 +199,9 @@ See the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) comman {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|-----------|--------------------|------------------------|---------------------------------------|-------------| -| GRPCRoute | Supported | Partially supported | Not supported | v1 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|-----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| GRPCRoute | Supported | Partially supported | Not supported | v1 | Standard | {{< /bootstrap-table >}} @@ -245,9 +245,9 @@ See the [static-mode]({{< relref "/reference/cli-help.md#static-mode">}}) comman {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|----------------|--------------------|------------------------|---------------------------------------|-------------| -| ReferenceGrant | Supported | N/A | Not supported | v1beta1 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|----------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| ReferenceGrant | Supported | N/A | Not supported | v1beta1 | Standard | {{< /bootstrap-table >}} @@ -269,9 +269,9 @@ Fields: {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|----------|--------------------|------------------------|---------------------------------------|-------------| -| TLSRoute | Supported | Not supported | Not supported | v1alpha2 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| TLSRoute | Supported | Not supported | Not supported | v1alpha2 | Experimental | {{< /bootstrap-table >}} @@ -309,9 +309,9 @@ Fields: {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|----------|--------------------|------------------------|---------------------------------------|-------------| -| TCPRoute | Not supported | Not supported | Not supported | N/A | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| TCPRoute | Not supported | Not supported | Not supported | N/A | N/A | {{< /bootstrap-table >}} @@ -321,9 +321,9 @@ Fields: {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|----------|--------------------|------------------------|---------------------------------------|-------------| -| UDPRoute | Not supported | Not supported | Not supported | N/A | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| UDPRoute | Not supported | Not supported | Not supported | N/A | N/A | {{< /bootstrap-table >}} @@ -333,9 +333,9 @@ Fields: {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|------------------|--------------------|------------------------|---------------------------------------|-------------| -| BackendTLSPolicy | Supported | Supported | Not supported | v1alpha3 | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|------------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| BackendTLSPolicy | Supported | Supported | Not supported | v1alpha3 | Experimental | {{< /bootstrap-table >}} @@ -367,9 +367,9 @@ Fields: {{< bootstrap-table "table table-striped table-bordered" >}} -| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | -|-----------------|--------------------|------------------------|---------------------------------------|-------------| -| Custom policies | N/A | N/A | Supported | N/A | +| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | +|-----------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| +| Custom policies | N/A | N/A | Supported | N/A | N/A | {{< /bootstrap-table >}} From 126f72d12ef4287c7aea533124bc1bbcc4bcb8a4 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Fri, 13 Sep 2024 12:24:12 -0700 Subject: [PATCH 08/11] Remove gateway api resources link --- .../installation/install-gateway-api-experimental-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md index 4b9a66b8cf..0473a14413 100644 --- a/site/content/includes/installation/install-gateway-api-experimental-features.md +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -5,7 +5,7 @@ docs: "DOCS-000" Installing Gateway API resources from the experimental channel includes everything in the standard release channel plus additional experimental resources and fields. NGINX Gateway Fabric currently supports a subset of the additional features provided by the experimental channel. To learn more about what Gateway API resources NGINX Gateway Fabric currently supports, visit our [Gateway API Compatibility]({{< relref "overview/gateway-api-compatibility.md" >}}) document. -In order to use these experimental resources, the [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the experimental channel must be installed before deploying NGINX Gateway Fabric. +In order to use these experimental resources, the Gateway API resources from the experimental channel must be installed before deploying NGINX Gateway Fabric. Additionally, NGINX Gateway Fabric must have experimental features enabled. {{}}As noted in the [Gateway API documentation](https://gateway-api.sigs.k8s.io/guides/#install-experimental-channel), future releases of the Gateway API can include breaking changes to experimental resources and fields.{{}} From b5150d5d36aefee12f51c8b33ef44a860458fa68 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Fri, 13 Sep 2024 12:32:14 -0700 Subject: [PATCH 09/11] Add api version and release channel to TCP and UPD routes --- site/content/overview/gateway-api-compatibility.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/content/overview/gateway-api-compatibility.md b/site/content/overview/gateway-api-compatibility.md index b112b1b3c0..b0a344e0a6 100644 --- a/site/content/overview/gateway-api-compatibility.md +++ b/site/content/overview/gateway-api-compatibility.md @@ -19,8 +19,8 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev | [GRPCRoute](#grpcroute) | Supported | Partially supported | Not supported | v1 | Standard | | [ReferenceGrant](#referencegrant) | Supported | N/A | Not supported | v1beta1 | Standard | | [TLSRoute](#tlsroute) | Supported | Not supported | Not supported | v1alpha2 | Experimental | -| [TCPRoute](#tcproute) | Not supported | Not supported | Not supported | N/A | N/A | -| [UDPRoute](#udproute) | Not supported | Not supported | Not supported | N/A | N/A | +| [TCPRoute](#tcproute) | Not supported | Not supported | Not supported | v1alpha2 | Experimental | +| [UDPRoute](#udproute) | Not supported | Not supported | Not supported | v1alpha2 | Experimental | | [BackendTLSPolicy](#backendtlspolicy) | Supported | Supported | Not supported | v1alpha3 | Experimental | | [Custom policies](#custom-policies) | N/A | N/A | Supported | N/A | N/A | @@ -311,7 +311,7 @@ Fields: | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| -| TCPRoute | Not supported | Not supported | Not supported | N/A | N/A | +| TCPRoute | Not supported | Not supported | Not supported | v1alpha2 | Experimental | {{< /bootstrap-table >}} @@ -323,7 +323,7 @@ Fields: | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| -| UDPRoute | Not supported | Not supported | Not supported | N/A | N/A | +| UDPRoute | Not supported | Not supported | Not supported | v1alpha2 | Experimental | {{< /bootstrap-table >}} From 9f1aba6e3dc2c610edea4b88d13c8c168ffab8f3 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Fri, 13 Sep 2024 13:08:20 -0700 Subject: [PATCH 10/11] Move additional information to install gateway api resources includes description --- .../install-gateway-api-experimental-features.md | 6 +----- .../installation/install-gateway-api-resources.md | 8 ++++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md index 0473a14413..84c6954968 100644 --- a/site/content/includes/installation/install-gateway-api-experimental-features.md +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -2,11 +2,7 @@ docs: "DOCS-000" --- -Installing Gateway API resources from the experimental channel includes everything in the standard release channel plus additional experimental resources and fields. -NGINX Gateway Fabric currently supports a subset of the additional features provided by the experimental channel. -To learn more about what Gateway API resources NGINX Gateway Fabric currently supports, visit our [Gateway API Compatibility]({{< relref "overview/gateway-api-compatibility.md" >}}) document. -In order to use these experimental resources, the Gateway API resources from the experimental channel must be installed before deploying NGINX Gateway Fabric. -Additionally, NGINX Gateway Fabric must have experimental features enabled. +To use Gateway API experimental resources, the Gateway API resources from the experimental channel must be installed before deploying NGINX Gateway Fabric. Additionally, NGINX Gateway Fabric must have experimental features enabled. {{}}As noted in the [Gateway API documentation](https://gateway-api.sigs.k8s.io/guides/#install-experimental-channel), future releases of the Gateway API can include breaking changes to experimental resources and fields.{{}} diff --git a/site/content/includes/installation/install-gateway-api-resources.md b/site/content/includes/installation/install-gateway-api-resources.md index 68af60d99e..47398c2e77 100644 --- a/site/content/includes/installation/install-gateway-api-resources.md +++ b/site/content/includes/installation/install-gateway-api-resources.md @@ -12,9 +12,13 @@ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/g {{}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}} -Alternatively, you can install the Gateway API resources from the experimental channel. We support a subset of the -additional features provided by the experimental channel. To install from the experimental channel, run the following: +Alternatively, you can install the Gateway API resources from the experimental channel. +Installing Gateway API resources from the experimental channel includes everything in the standard release channel plus additional experimental resources and fields. +NGINX Gateway Fabric currently supports a subset of the additional features provided by the experimental channel. +To install from the experimental channel, run the following: ```shell kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f - ``` + +{{}} To learn more about what Gateway API resources NGINX Gateway Fabric currently supports, visit our [Gateway API Compatibility]({{< relref "overview/gateway-api-compatibility.md" >}}) document.{{}} From b58bc2cc679b075e02ec66392bfc2f823b1cc849 Mon Sep 17 00:00:00 2001 From: Benjamin Jee Date: Tue, 17 Sep 2024 09:21:23 -0700 Subject: [PATCH 11/11] Add review feedback from docs --- .../install-gateway-api-experimental-features.md | 9 +++++---- .../installation/install-gateway-api-resources.md | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/site/content/includes/installation/install-gateway-api-experimental-features.md b/site/content/includes/installation/install-gateway-api-experimental-features.md index 84c6954968..27e1170027 100644 --- a/site/content/includes/installation/install-gateway-api-experimental-features.md +++ b/site/content/includes/installation/install-gateway-api-experimental-features.md @@ -1,10 +1,11 @@ --- +title: "Install NGINX Gateway Fabric with experimental features" docs: "DOCS-000" --- To use Gateway API experimental resources, the Gateway API resources from the experimental channel must be installed before deploying NGINX Gateway Fabric. Additionally, NGINX Gateway Fabric must have experimental features enabled. -{{}}As noted in the [Gateway API documentation](https://gateway-api.sigs.k8s.io/guides/#install-experimental-channel), future releases of the Gateway API can include breaking changes to experimental resources and fields.{{}} +{{< caution >}}As noted in the [Gateway API documentation](https://gateway-api.sigs.k8s.io/guides/#install-experimental-channel), future releases of the Gateway API can include breaking changes to experimental resources and fields. {{}} To install the Gateway API resources from the experimental channel, run the following: @@ -12,12 +13,12 @@ To install the Gateway API resources from the experimental channel, run the foll kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f - ``` -{{}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}} +{{< note >}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`. {{}} To enable experimental features on NGINX Gateway Fabric: -If using Helm: The `nginxGateway.gwAPIExperimentalFeatures.enable` option must be set to true. An example can be found +Using Helm: Set `nginxGateway.gwAPIExperimentalFeatures.enable` to true. An example can be found in the [Installation with Helm]({{< relref "installation/installing-ngf/helm.md#custom-installation-options" >}}) guide. -If using Kubernetes manifests: The `--gateway-api-experimental-features` command-line flag must be set to true on the deployment manifest. +Using Kubernetes manifests: Add the `--gateway-api-experimental-features` command-line flag to the deployment manifest args. An example can be found in the [Installation with Kubernetes manifests]({{< relref "installation/installing-ngf/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide. diff --git a/site/content/includes/installation/install-gateway-api-resources.md b/site/content/includes/installation/install-gateway-api-resources.md index 47398c2e77..109b6f4fd6 100644 --- a/site/content/includes/installation/install-gateway-api-resources.md +++ b/site/content/includes/installation/install-gateway-api-resources.md @@ -2,7 +2,7 @@ docs: "DOCS-1438" --- -{{}}The [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the standard channel must be installed before deploying NGINX Gateway Fabric. If they are already installed in your cluster, please ensure they are the correct version as supported by the NGINX Gateway Fabric - [see the Technical Specifications](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.4.0/README.md#technical-specifications).{{}} +{{< note >}} The [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the standard channel must be installed before deploying NGINX Gateway Fabric. If they are already installed in your cluster, please ensure they are the correct version as supported by the NGINX Gateway Fabric - [see the Technical Specifications](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.4.0/README.md#technical-specifications). {{}} To install the Gateway API resources, run the following: @@ -10,7 +10,7 @@ To install the Gateway API resources, run the following: kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.4.0" | kubectl apply -f - ``` -{{}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}} +{{< note >}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}} Alternatively, you can install the Gateway API resources from the experimental channel. Installing Gateway API resources from the experimental channel includes everything in the standard release channel plus additional experimental resources and fields. @@ -21,4 +21,4 @@ To install from the experimental channel, run the following: kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f - ``` -{{}} To learn more about what Gateway API resources NGINX Gateway Fabric currently supports, visit our [Gateway API Compatibility]({{< relref "overview/gateway-api-compatibility.md" >}}) document.{{}} +{{< note >}} To learn more about what Gateway API resources NGINX Gateway Fabric currently supports, visit our [Gateway API Compatibility]({{< relref "overview/gateway-api-compatibility.md" >}}) document. {{}}