Skip to content

Commit b14e113

Browse files
feat: Update NGINX Gateway Fabric information architecture (#600)
This commit partially restructures the NGINX Gateway Fabric documentation to flatten the folder structure, reducing the amount of steps a reader must navigate to get to useful instructions. The majority of the effort is concentrated on the Install section, simplifying the URL structure and creating logical links in the sequence of pages presented and the linear connection of pre-requisites and next steps when a user is onboarding a cluster. Additional work will follow this effort, once identifying more common user journeys and how individual documents can be grouped together logically. --------- Co-authored-by: Saylor Berman <[email protected]>
1 parent 81c00a3 commit b14e113

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+670
-976
lines changed

_banners/ngf-2.0-release.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{{< banner "notice" "NGINX Gateway Fabric 2.0 is now available" >}}
22

3-
NGINX Gateway Fabric 2.0 has released! Follow [this guide]({{< ref "/ngf/upgrading-ngf.md" >}}) to upgrade from 1.x to 2.0.
3+
NGINX Gateway Fabric 2.0 has released! Follow [these instructions]({{< ref "/ngf/install/upgrade-version.md#upgrade-from-v1x-to-v2x" >}}) to upgrade from 1.x to 2.0.
44

5-
For 1.x, checkout [an older version](https://github.com/nginx/documentation/commit/0be97114d93be0f44acff8711f31bf0b6448dd94) of documentation.
5+
For 1.x, checkout [an older version]({{< ref "/ngf/install/upgrade-version.md#access-nginx-gateway-fabric-1x-documentation" >}}) of documentation.
66

77
{{< /banner >}}

content/includes/ngf/installation/helm/pulling-the-chart.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22
docs: "DOCS-1439"
33
---
44

5-
Pull the latest stable release of the NGINX Gateway Fabric chart:
5+
```shell
6+
helm pull oci://ghcr.io/nginx/charts/nginx-gateway-fabric --untar
7+
cd nginx-gateway-fabric
8+
```
69

7-
```shell
8-
helm pull oci://ghcr.io/nginx/charts/nginx-gateway-fabric --untar
9-
cd nginx-gateway-fabric
10-
```
11-
12-
If you want the latest version from the **main** branch, add `--version 0.0.0-edge` to your pull command.
10+
For the latest version from the **main** branch, add _--version 0.0.0-edge_ to your pull command.

content/includes/ngf/installation/install-gateway-api-experimental-features.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gate
1717
To enable experimental features on NGINX Gateway Fabric:
1818

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

2222
Using Kubernetes manifests: Add the `--gateway-api-experimental-features` command-line flag to the deployment manifest args.
23-
An example can be found in the [Installation with Kubernetes manifests]({{< ref "/ngf/installation/installing-ngf/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide.
23+
An example can be found in the [Installation with Kubernetes manifests]({{< ref "/ngf/install/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide.

content/includes/ngf/installation/nginx-plus/docker-registry-secret.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
docs: "DOCS-000"
33
---
44

5-
{{< 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 >}}
5+
{{< 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 >}}
66

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

content/ngf/releases.md renamed to content/ngf/changelog.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
2-
title: Releases
3-
description: "NGINX Gateway Fabric releases."
4-
weight: 800
2+
title: Changelog
53
toc: true
6-
type: reference
7-
product: NGF
8-
docs: "DOCS-1359"
4+
weight: 900
5+
nd-content-type: reference
6+
nd-product: NGF
7+
nd-docs: "DOCS-1359"
98
---
109

1110
See the NGINX Gateway Fabric changelog page:

content/ngf/get-started.md

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
title: Get started
33
weight: 200
44
toc: true
5-
type: how-to
6-
product: NGF
7-
docs: DOCS-000
5+
nd-content-type: how-to
6+
nd-product: NGF
7+
nd-docs: DOCS-000
88
---
99

1010
{{< important >}}
1111
This document is for trying out NGINX Gateway Fabric, and not intended for a production environment.
1212

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

1616
This is a guide for getting started with NGINX Gateway Fabric. It explains how to:
@@ -21,8 +21,6 @@ This is a guide for getting started with NGINX Gateway Fabric. It explains how t
2121

2222
By following the steps in order, you will finish with a functional NGINX Gateway Fabric cluster.
2323

24-
---
25-
2624
## Before you begin
2725

2826
To complete this guide, you need the following prerequisites installed:
@@ -84,8 +82,6 @@ make create-kind-cluster
8482

8583
{{< /note >}}
8684

87-
---
88-
8985
## Install NGINX Gateway Fabric
9086

9187
### Add Gateway API resources
@@ -104,8 +100,6 @@ customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.
104100
customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io created
105101
```
106102

107-
---
108-
109103
### Install the Helm chart
110104

111105
Use `helm` to install NGINX Gateway Fabric, specifying the NodePort configuration that will be set on the
@@ -128,8 +122,6 @@ REVISION: 1
128122
TEST SUITE: None
129123
```
130124

131-
---
132-
133125
## Create an example application
134126

135127
In the previous section, you deployed NGINX Gateway Fabric to a local cluster. This section shows you how to deploy a simple web application to test that NGINX Gateway Fabric works.
@@ -138,8 +130,6 @@ In the previous section, you deployed NGINX Gateway Fabric to a local cluster. T
138130
The YAML code in the following sections can be found in the [cafe-example folder](https://github.com/nginx/nginx-gateway-fabric/tree/main/examples/cafe-example) of the GitHub repository.
139131
{{< /note >}}
140132

141-
---
142-
143133
### Create the application resources
144134

145135
Create the file _cafe.yaml_ with the following contents:
@@ -171,8 +161,6 @@ coffee-676c9f8944-k2bmd 1/1 Running 0 9s
171161
tea-6fbfdcb95d-9lhbj 1/1 Running 0 9s
172162
```
173163

174-
---
175-
176164
### Create Gateway and HTTPRoute resources
177165

178166
Create the file _gateway.yaml_ with the following contents:
@@ -217,8 +205,6 @@ httproute.gateway.networking.k8s.io/coffee created
217205
httproute.gateway.networking.k8s.io/tea created
218206
```
219207

220-
---
221-
222208
### Verify the configuration
223209

224210
You can check that all of the expected services are available using `kubectl get`:
@@ -431,8 +417,6 @@ Status:
431417
Events: <none>
432418
```
433419

434-
---
435-
436420
## Test NGINX Gateway Fabric
437421

438422
By configuring the cluster with the port `31437`, there is implicit port forwarding from your local machine to NodePort, allowing for direct communication to the NGINX Gateway Fabric service.
@@ -463,10 +447,8 @@ URI: /tea
463447
Request ID: 1b5c8f3a4532ea7d7510cf14ffeb27af
464448
```
465449

466-
---
467-
468-
## See also
450+
## Next steps
469451

470-
- [Install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf/" >}}), for additional ways to install NGINX Gateway Fabric
471-
- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster
472-
- [Traffic management]({{< ref "/ngf/how-to/traffic-management/" >}}), for more in-depth traffic management configuration
452+
- [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}), for additional ways to install NGINX Gateway Fabric
453+
- [Traffic management]({{< ref "/ngf/traffic-management/" >}}), for more in-depth traffic management configuration
454+
- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster

content/ngf/how-to/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
22
title: "How-to guides"
33
url: /nginx-gateway-fabric/how-to/
4-
weight: 500
4+
weight: 550
55
---

content/ngf/how-to/control-plane-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Learn how to dynamically update the NGINX Gateway Fabric control plane configura
1313

1414
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.
1515

16-
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" >}}):
16+
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/" >}}):
1717

1818
- Helm: `<release-name>-config`
1919
- Manifests: `nginx-gateway-config`

content/ngf/how-to/data-plane-configuration.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,9 @@ By default, an `NginxProxy` resource is created in the same namespace where NGIN
178178

179179
When installed using the Helm chart, the NginxProxy resource is named `<release-name>-proxy-config` and is created in the release Namespace.
180180

181-
{{< 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 >}}
181+
**For a full list of configuration options that can be set, see the `NginxProxy spec` in the [API reference]({{< ref "/ngf/reference/api.md" >}}).**
182+
183+
{{< 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 >}}
182184

183185
---
184186

@@ -272,15 +274,14 @@ of a few arguments. {{</ note >}}
272274

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

275-
To run NGINX Gateway Fabric with NGINX in debug mode, follow the [installation document]({{< ref "/ngf/installation/installing-ngf" >}}) with these additional steps:
276-
277-
Using Helm: Set `nginx.debug` to true.
277+
To run NGINX Gateway Fabric with NGINX in debug mode, during [installation]({{< ref "/ngf/install/" >}}), follow these additional steps:
278278

279-
Using Kubernetes Manifests: In the deployment manifest, set the `spec.kubernetes.deployment.container.debug` field in the `NginxProxy` resource to true.
279+
- **Helm**: Set _nginx.debug_ to _true_.
280+
- **Manifests**: Set _spec.kubernetes.deployment.container.debug_ field in the _NginxProxy_ resource to _true_.
280281

281-
If you want to change the NGINX mode after deploying NGINX Gateway Fabric, you can do so through the `NginxProxy` `spec.kubernetes.deployment.container.debug` field.
282+
To change NGINX mode **after** deploying NGINX Gateway Fabric, use the _NginxProxy_ _spec.kubernetes.deployment.container.debug_ field.
282283

283-
The following command creates a basic `NginxProxy` configuration that both sets the NGINX log level to `debug` and runs NGINX in `debug` mode.
284+
The following command creates a basic _NginxProxy_ configuration that sets both the NGINX mode and log level to _debug_.
284285

285286
```yaml
286287
kubectl apply -f - <<EOF
@@ -298,7 +299,7 @@ spec:
298299
EOF
299300
```
300301

301-
{{< note >}} When modifying any `deployment` field in the `NginxProxy` resource, any corresponding NGINX instances will be restarted. {{< /note >}}
302+
{{< note >}} When modifying any _deployment_ field in the _NginxProxy_ resource, any corresponding NGINX instances will be restarted. {{< /note >}}
302303

303304
---
304305

content/ngf/how-to/monitoring/_index.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

content/ngf/how-to/monitoring/dashboard.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

content/ngf/how-to/traffic-management/_index.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

content/ngf/how-to/traffic-security/_index.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

content/ngf/install/_index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Install"
3+
url: /nginx-gateway-fabric/install/
4+
weight: 300
5+
---

content/ngf/installation/building-the-images.md renamed to content/ngf/install/build-image.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
---
22
title: Build NGINX Gateway Fabric
3-
weight: 500
3+
weight: 400
44
toc: true
5-
type: how-to
6-
product: NGF
7-
docs: DOCS-1431
5+
nd-content-type: how-to
6+
nd-product: NGF
7+
nd-docs: DOCS-1431
88
---
99

1010
## Overview
1111

12-
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.
13-
14-
---
12+
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.
1513

1614
## Before you begin
1715

@@ -25,7 +23,6 @@ installed on your machine:
2523

2624
If building the NGINX Plus image, you will also need a valid NGINX Plus license certificate (`nginx-repo.crt`) and key (`nginx-repo.key`) in the root of the repo.
2725

28-
---
2926

3027
## Steps
3128

content/ngf/installation/installing-ngf/deploy-data-plane.md renamed to content/ngf/install/deploy-data-plane.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
title: Deploy a Gateway for data plane instances
3-
weight: 500
3+
weight: 600
44
toc: true
5-
type: how-to
6-
product: NGF
7-
docs: DOCS-000
5+
nd-content-type: how-to
6+
nd-product: NGF
7+
nd-docs: DOCS-000
88
---
99

1010
## Overview
@@ -19,7 +19,7 @@ A single GatewayClass can have multiple Gateways: each Gateway will create a sep
1919

2020
## Before you begin
2121

22-
- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric.
22+
- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric.
2323

2424
## Create a Gateway
2525

@@ -98,7 +98,7 @@ cafe-nginx LoadBalancer 10.96.125.117 <pending> 80:30180/TCP 5m2s
9898

9999
The Service type can be changed, as explained in the next section.
100100

101-
## How to modify provisioned NGINX instances
101+
## Modify provisioned NGINX instances
102102

103103
The NginxProxy custom resource can modify the provisioning of the Service object and NGINX deployment when a Gateway is created.
104104

@@ -180,7 +180,7 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
180180
cafe-nginx NodePort 10.96.172.204 <none> 80:32615/TCP 3h5m
181181
```
182182

183-
### How to set annotations and labels on provisioned resources
183+
### Set annotations and labels on provisioned resources
184184

185185
While the majority of configuration will happen on the NginxProxy resource, that is not always the case. Uniquely, if
186186
you want to set any annotations or labels on the NGINX Deployment or Service, you need to set those annotations on the Gateway which
@@ -236,7 +236,7 @@ Annotations: annotationKey: annotationValue
236236

237237
For more guides on routing traffic to applications and more information on Data Plane configuration, check out the following resources:
238238

239-
- [Routing traffic to applications]({{< ref "/ngf/how-to/traffic-management/routing-traffic-to-your-app.md" >}})
240-
- [Application routes using HTTP matching conditions]({{< ref "/ngf/how-to/traffic-management/advanced-routing.md" >}})
239+
- [Routing traffic to applications]({{< ref "/ngf/traffic-management/basic-routing.md" >}})
240+
- [Application routes using HTTP matching conditions]({{< ref "/ngf/traffic-management/advanced-routing.md" >}})
241241
- [Data plane configuration]({{< ref "/ngf/how-to/data-plane-configuration.md" >}})
242242
- [API reference]({{< ref "/ngf/reference/api.md" >}})

0 commit comments

Comments
 (0)