Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
befab04
feat: Update NGINX Gateway Fabric information architecture
ADubhlaoich May 26, 2025
a823242
feat: Additional IA changes
ADubhlaoich May 26, 2025
9840067
Merge branch 'ngf-release-2.0' into ngf/use-case-ia
ADubhlaoich May 29, 2025
9898aea
Merge branch 'ngf-release-2.0' into ngf/use-case-ia
ADubhlaoich May 29, 2025
f6fc660
feat: Fix file references post merge resolution
ADubhlaoich May 29, 2025
4bd66ed
feat: Next steps for common use cases
ADubhlaoich May 29, 2025
3586349
Merge branch 'ngf-release-2.0' into ngf/use-case-ia
ADubhlaoich May 30, 2025
0d876be
feat: Update banner link for 2.0 IA changes
ADubhlaoich May 30, 2025
b16d532
feat: Update NGF 1.6 doc links to be old code repository branch
ADubhlaoich May 30, 2025
872844c
feat: Make upgrade a standalone topic, consolidate existing information
ADubhlaoich May 30, 2025
c065e46
Apply suggestions from code review
ADubhlaoich May 30, 2025
a05d10c
feat: Fix prometheus documentation link
ADubhlaoich May 30, 2025
8e690fb
fix: "definitions" typo at top of document
ADubhlaoich May 30, 2025
93be9e9
feat: Imperative sentence structure in Gateway deployment headings
ADubhlaoich May 30, 2025
9689e86
Merge branch 'ngf-release-2.0' into ngf/use-case-ia
ADubhlaoich Jun 3, 2025
729c169
feat: Remove redundant shell variable information
ADubhlaoich Jun 3, 2025
e26ca30
feat: Remove additional unnecessary shell instructions
ADubhlaoich Jun 3, 2025
857e322
feat: Move external IP note for NGF beside shell variable instructions
ADubhlaoich Jun 3, 2025
7a7a71c
feat: Implement feedback, update frontmatter of files and remove hrs
ADubhlaoich Jun 4, 2025
3c73dce
feat: Adjust phrasing of dashboard sentence, add note to upgrade
ADubhlaoich Jun 4, 2025
25e614c
feat: Improve phrasing of some upgrade instructions, reduce text
ADubhlaoich Jun 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gate
To enable experimental features on NGINX Gateway Fabric:

Using Helm: Set `nginxGateway.gwAPIExperimentalFeatures.enable` to true. An example can be found
in the [Installation with Helm]({{< ref "/ngf/installation/installing-ngf/helm.md#custom-installation-options" >}}) guide.
in the [Installation with Helm]({{< ref "/ngf/install/helm.md#custom-installation-options" >}}) guide.

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]({{< ref "/ngf/installation/installing-ngf/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide.
An example can be found in the [Installation with Kubernetes manifests]({{< ref "/ngf/install/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
docs: "DOCS-000"
---

{{< note >}} If you would rather pull the NGINX Plus image and push to a private registry, you can skip this specific step and instead follow [this step]({{< ref "/ngf/installation/nginx-plus-jwt.md#pulling-an-image-for-local-use" >}}). {{< /note >}}
{{< note >}} If you would rather pull the NGINX Plus image and push to a private registry, you can skip this specific step and instead follow [this step]({{< ref "/ngf/install/nginx-plus.md#pulling-an-image-for-local-use" >}}). {{< /note >}}

If the `nginx-gateway` namespace does not yet exist, create it:

Expand Down
4 changes: 2 additions & 2 deletions content/ngf/releases.md → content/ngf/changelog.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Releases
title: Changelog
description: "NGINX Gateway Fabric releases."
weight: 700
weight: 900
toc: true
type: reference
product: NGF
Expand Down
6 changes: 3 additions & 3 deletions content/ngf/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ docs: DOCS-000
{{< important >}}
This document is for trying out NGINX Gateway Fabric, and not intended for a production environment.

For standard deployments, you should read the [Install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf" >}}) section.
For standard deployments, you should read the [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}) section.
{{< /important >}}

This is a guide for getting started with NGINX Gateway Fabric. It explains how to:
Expand Down Expand Up @@ -508,6 +508,6 @@ Request ID: 43882f2f5794a1ee05d2ea017a035ce3

## See also

- [Install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf/" >}}), for additional ways to install NGINX Gateway Fabric
- [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}), for additional ways to install NGINX Gateway Fabric
- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster
- [Traffic management]({{< ref "/ngf/how-to/traffic-management/" >}}), for more in-depth traffic management configuration
- [Traffic management]({{< ref "/ngf/traffic-management/" >}}), for more in-depth traffic management configuration
2 changes: 1 addition & 1 deletion content/ngf/how-to/control-plane-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Learn how to dynamically update the NGINX Gateway Fabric control plane configura

NGINX Gateway Fabric can dynamically update the control plane configuration without restarting. The control plane configuration is stored in the NginxGateway custom resource, created during the installation of NGINX Gateway Fabric.

NginxGateway is deployed in the same namespace as the controller (Default: `nginx-gateway`). The resource's default name is based on your [installation method]({{< ref "/ngf/installation/installing-ngf" >}}):
NginxGateway is deployed in the same namespace as the controller (Default: `nginx-gateway`). The resource's default name is based on your [installation method]({{< ref "/ngf/install/" >}}):

- Helm: `<release-name>-config`
- Manifests: `nginx-gateway-config`
Expand Down
4 changes: 2 additions & 2 deletions content/ngf/how-to/data-plane-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ When installed using the Helm chart, the NginxProxy resource is named `<release-

**For a full list of configuration options that can be set, see the `NginxProxy spec` in the [API reference]({{< ref "/ngf/reference/api.md" >}}).**

{{< note >}} Some global configuration also requires an [associated policy]({{< ref "/ngf/overview/custom-policies.md" >}}) to fully enable a feature (such as [tracing]({{< ref "/ngf/how-to/monitoring/tracing.md" >}}), for example). {{< /note >}}
{{< note >}} Some global configuration also requires an [associated policy]({{< ref "/ngf/overview/custom-policies.md" >}}) to fully enable a feature (such as [tracing]({{< ref "/ngf/monitoring/tracing.md" >}}), for example). {{< /note >}}

---

Expand Down Expand Up @@ -313,7 +313,7 @@ of a few arguments. {{</ note >}}

### Run NGINX Gateway Fabric with NGINX in debug mode

To run NGINX Gateway Fabric with NGINX in debug mode, follow the [installation document]({{< ref "/ngf/installation/installing-ngf" >}}) with these additional steps:
To run NGINX Gateway Fabric with NGINX in debug mode, after[installation]({{< ref "/ngf/install/" >}}), follow these additional steps:

Using Helm: Set `nginx.debug` to true.

Expand Down
5 changes: 0 additions & 5 deletions content/ngf/how-to/monitoring/_index.md

This file was deleted.

5 changes: 0 additions & 5 deletions content/ngf/how-to/traffic-management/_index.md

This file was deleted.

5 changes: 0 additions & 5 deletions content/ngf/how-to/traffic-security/_index.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Installation"
url: /nginx-gateway-fabric/installation/
url: /nginx-gateway-fabric/install/
weight: 300
---
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Build NGINX Gateway Fabric
weight: 500
weight: 400
toc: true
type: how-to
product: NGF
Expand All @@ -9,7 +9,7 @@ docs: DOCS-1431

## Overview

While most users will install NGINX Gateway Fabric [with Helm]({{< ref "/ngf/installation/installing-ngf/helm.md" >}}) or [Kubernetes manifests]({{< ref "/ngf/installation/installing-ngf/manifests.md" >}}), manually building the [NGINX Gateway Fabric and NGINX images]({{< ref "/ngf/overview/gateway-architecture.md#the-nginx-gateway-fabric-pod" >}}) can be helpful for testing and development purposes. Follow the steps in this document to build the NGINX Gateway Fabric and NGINX images.
While most users will install NGINX Gateway Fabric [with Helm]({{< ref "/ngf/install/helm.md" >}}) or [Kubernetes manifests]({{< ref "/ngf/install/manifests.md" >}}), manually building the [NGINX Gateway Fabric and NGINX images]({{< ref "/ngf/overview/gateway-architecture.md#the-nginx-gateway-fabric-pod" >}}) can be helpful for testing and development purposes. Follow the steps in this document to build the NGINX Gateway Fabric and NGINX images.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ To complete this guide, you'll need to install:

{{< include "/ngf/installation/nginx-plus/nginx-plus-secret.md" >}}

{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) document. {{< /note >}}
{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/install/nginx-plus.md" >}}) document. {{< /note >}}

</details>

Expand Down Expand Up @@ -262,7 +262,7 @@ To upgrade from NGINX OSS to NGINX Plus, update the Helm command to include the

{{< note >}} If applicable, replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image, and replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials.{{< /note >}}

{{< important >}} Ensure that you [Create the required JWT Secrets]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) before installing.{{< /important >}}
{{< important >}} Ensure that you [Create the required JWT Secrets]({{< ref "/ngf/install/nginx-plus.md" >}}) before installing.{{< /important >}}

```shell
helm upgrade ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set serviceAccount.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ To complete this guide, you'll need to install:

{{< include "/ngf/installation/nginx-plus/nginx-plus-secret.md" >}}

{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) document. {{< /note >}}
{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/install/nginx-plus.md" >}}) document. {{< /note >}}

</details>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: NGINX Plus and JWT
title: Installation with NGINX Plus
weight: 300
toc: true
type: how-to
Expand All @@ -13,7 +13,7 @@ NGINX Gateway Fabric with NGINX Plus requires a valid JSON Web Token (JWT) to do

This requirement is part of F5’s broader licensing program and aligns with industry best practices. The JWT will streamline subscription renewals and usage reporting, helping you manage your NGINX Plus subscription more efficiently. The [telemetry](#telemetry) data we collect helps us improve our products and services to better meet your needs.

The JWT is required for validating your subscription and reporting telemetry data. For environments connected to the internet, telemetry is automatically sent to F5’s licensing endpoint. In offline environments, telemetry is routed through [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager/). Usage is reported every hour and on startup whenever NGINX is reloaded.
The JWT is required for validating your subscription and reporting telemetry data. For environments connected to the internet, telemetry is automatically sent to F5’s licensing endpoint. In offline environments, telemetry is routed through [NGINX Instance Manager]({{< ref "/nim/" >}}). Usage is reported every hour and on startup whenever NGINX is reloaded.

---

Expand Down Expand Up @@ -93,7 +93,7 @@ and the following volume mount to the `nginx` container:

{{</tabs>}}

{{< note >}} If you are reporting to the default licensing endpoint, then you can now proceed with [installing NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf" >}}). Otherwise, follow the steps below to configure reporting to NGINX Instance Manager. {{< /note >}}
{{< note >}} If you are reporting to the default licensing endpoint, then you can now proceed with [installing NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}). Otherwise, follow the steps below to configure reporting to NGINX Instance Manager. {{< /note >}}

---

Expand Down Expand Up @@ -186,7 +186,7 @@ ssl_certificate_key /etc/nginx/certs-bootstrap/tls.key;

<br>

{{< note >}} Once these Secrets are created and configuration options are set, you can now [install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf" >}}). {{< /note >}}
{{< note >}} Once these Secrets are created and configuration options are set, you can now [install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}). {{< /note >}}

---

Expand Down Expand Up @@ -261,4 +261,4 @@ Once you have successfully pulled the image, you can tag it as needed, then push

There are alternative ways to get an NGINX Plus image for NGINX Gateway Fabric:

- [Build the Gateway Fabric image]({{< ref "/ngf/installation/building-the-images.md">}}) describes how to use the source code with an NGINX Plus subscription certificate and key to build an image.
- [Build the Gateway Fabric image]({{< ref "/ngf/install/build-image.md">}}) describes how to use the source code with an NGINX Plus subscription certificate and key to build an image.
5 changes: 0 additions & 5 deletions content/ngf/installation/installing-ngf/_index.md

This file was deleted.

5 changes: 5 additions & 0 deletions content/ngf/monitoring/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Monitoring"
url: /nginx-gateway-fabric/monitoring/
weight: 600
---
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ For all the possible configuration options for these resources, see the [API ref

### Install NGINX Gateway Fabric with global tracing configuration

{{< note >}}Ensure that you [install the Gateway API resources]({{< ref "/ngf/installation/installing-ngf/helm.md#installing-the-gateway-api-resources" >}}).{{< /note >}}
{{< note >}} Ensure that you [install the Gateway API resources]({{< ref "/ngf/install/helm.md#installing-the-gateway-api-resources" >}}).{{< /note >}}

Referencing the previously deployed collector, create the following `values.yaml` file for installing NGINX Gateway Fabric:

Expand Down
6 changes: 3 additions & 3 deletions content/ngf/overview/custom-policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ The following table summarizes NGINX Gateway Fabric custom policies:

| Policy | Description | Attachment Type | Supported Target Object(s) | Supports Multiple Target Refs | Mergeable | API Version |
|---------------------------------------------------------------------------------------------|---------------------------------------------------------|-----------------|-------------------------------|-------------------------------|-----------|-------------|
| [ClientSettingsPolicy]({{< ref "/ngf/how-to/traffic-management/client-settings.md" >}}) | Configure connection behavior between client and NGINX | Inherited | Gateway, HTTPRoute, GRPCRoute | No | Yes | v1alpha1 |
| [ObservabilityPolicy]({{< ref "/ngf/how-to/monitoring/tracing.md" >}}) | Define settings related to tracing, metrics, or logging | Direct | HTTPRoute, GRPCRoute | Yes | No | v1alpha2 |
| [UpstreamSettingsPolicy]({{< ref "/ngf/how-to/traffic-management/upstream-settings.md" >}}) | Configure connection behavior between NGINX and backend | Direct | Service | Yes | Yes | v1alpha1 |
| [ClientSettingsPolicy]({{< ref "/ngf/traffic-management/client-settings.md" >}}) | Configure connection behavior between client and NGINX | Inherited | Gateway, HTTPRoute, GRPCRoute | No | Yes | v1alpha1 |
| [ObservabilityPolicy]({{< ref "/ngf/monitoring/tracing.md" >}}) | Define settings related to tracing, metrics, or logging | Direct | HTTPRoute, GRPCRoute | Yes | No | v1alpha2 |
| [UpstreamSettingsPolicy]({{< ref "/ngf/traffic-management/upstream-settings.md" >}}) | Configure connection behavior between NGINX and backend | Direct | Service | Yes | Yes | v1alpha1 |

{{< /bootstrap-table >}}

Expand Down
2 changes: 1 addition & 1 deletion content/ngf/overview/gateway-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The figure shows:
- A _Kubernetes cluster_.
- Users _Cluster Operator_, _Application Developer A_ and _Application Developer B_. These users interact with the cluster through the Kubernetes API by creating Kubernetes objects.
- _Clients A_ and _Clients B_ connect to _Applications A_ and _B_, respectively, which they have deployed.
- The _NGF Pod_, [deployed by _Cluster Operator_]({{< ref "/ngf/installation">}}) in the namespace _nginx-gateway_. For scalability and availability, you can have multiple replicas. This pod consists of two containers: `NGINX` and `NGF`. The _NGF_ container interacts with the Kubernetes API to retrieve the most up-to-date Gateway API resources created within the cluster. It then dynamically configures the _NGINX_ container based on these resources, ensuring proper alignment between the cluster state and the NGINX configuration.
- The _NGF Pod_, [deployed by _Cluster Operator_]({{< ref "/ngf/install/">}}) in the namespace _nginx-gateway_. For scalability and availability, you can have multiple replicas. This pod consists of two containers: `NGINX` and `NGF`. The _NGF_ container interacts with the Kubernetes API to retrieve the most up-to-date Gateway API resources created within the cluster. It then dynamically configures the _NGINX_ container based on these resources, ensuring proper alignment between the cluster state and the NGINX configuration.
- _Gateway AB_, created by _Cluster Operator_, requests a point where traffic can be translated to Services within the cluster. This Gateway includes a listener with a hostname `*.example.com`. Application Developers have the ability to attach their application's routes to this Gateway if their application's hostname matches `*.example.com`.
- _Application A_ with two pods deployed in the _applications_ namespace by _Application Developer A_. To expose the application to its clients (_Clients A_) via the host `a.example.com`, _Application Developer A_ creates _HTTPRoute A_ and attaches it to `Gateway AB`.
- _Application B_ with one pod deployed in the _applications_ namespace by _Application Developer B_. To expose the application to its clients (_Clients B_) via the host `b.example.com`, _Application Developer B_ creates _HTTPRoute B_ and attaches it to `Gateway AB`.
Expand Down
2 changes: 1 addition & 1 deletion content/ngf/overview/nginx-plus.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ NGINX Gateway Fabric can use NGINX Open Source or NGINX Plus as its data plane.
## Benefits of NGINX Plus

- **Robust metrics**: A plethora of [additional Prometheus metrics](https://github.com/nginx/nginx-prometheus-exporter#metrics-for-nginx-plus) are available.
- **Live activity monitoring**: The [NGINX Plus dashboard]({{< ref "/ngf/how-to/monitoring/dashboard.md" >}}) shows real-time metrics and information about your server infrastructure.
- **Live activity monitoring**: The [NGINX Plus dashboard]({{< ref "/ngf/monitoring/dashboard.md" >}}) shows real-time metrics and information about your server infrastructure.
- **Dynamic upstream configuration**: NGINX Plus can dynamically reconfigure upstream servers when applications in Kubernetes scale up and down, preventing the need for an NGINX reload.
- **Support**: With an NGINX Plus license, you can take advantage of full [support](https://my.f5.com/manage/s/article/K000140156/) from NGINX, Inc.
2 changes: 1 addition & 1 deletion content/ngf/reference/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Reference"
weight: 500
weight: 700
url: /nginx-gateway-fabric/reference/
---
2 changes: 1 addition & 1 deletion content/ngf/support.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Support
weight: 600
weight: 800
toc: true
type: reference
product: NGF
Expand Down
5 changes: 5 additions & 0 deletions content/ngf/traffic-management/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Traffic management"
url: /nginx-gateway-fabric/traffic-management/
weight: 400
---
Loading
Loading