Skip to content

Commit 48dbc28

Browse files
authored
Merge branch 'main' into unit-docs
2 parents 2ec215b + f79270b commit 48dbc28

File tree

50 files changed

+2342
-1424
lines changed

Some content is hidden

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

50 files changed

+2342
-1424
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
docs:
3+
---
4+
5+
{{<bootstrap-table "table table-striped table-bordered">}}
6+
| Variable | Category | Description |
7+
|----------|----------|------------|
8+
| **NIM_LOG_LEVEL** | General | Sets the logging level for NGINX Instance Manager. |
9+
| **NIM_METRICS_TTL** | General | Specifies the number of days to retain metrics. |
10+
| **NIM_EVENTS_TTL** | General | Specifies the number of days to retain event logs. |
11+
| **NIM_SECURITY_TTL** | General | Specifies the number of days to retain security violation logs. |
12+
| **NIM_MAINTENANCE** | General | Enables maintenance mode for backup, restore, and troubleshooting (`true` or `false`). |
13+
| **NIM_WATCHDOG_TIMEOUT** | General | Sets the timeout (in seconds) for the Data Plane Monitoring (DPM) watchdog. |
14+
| **NIM_LICENSE_MODE_OF_OPERATION** | General | Sets the license mode to either `connected` (default) or `disconnected`. |
15+
| **PROXY_ENABLE** | Forward Proxy | Enables or disables the use of a forward proxy (`true` or `false`). |
16+
| **PROXY_HOST** | Forward Proxy | The IP address or hostname of the proxy server. |
17+
| **PROXY_PORT** | Forward Proxy | The port number of the proxy server. |
18+
| **PROXY_PROTOCOL** | Forward Proxy | The proxy protocol (`http` or `https`). |
19+
| **PROXY_AUTH_REQUIRED** | Forward Proxy | Specifies whether authentication is required for the proxy (`true` or `false`). |
20+
| **PROXY_USERNAME** | Forward Proxy | (Required if `PROXY_AUTH_REQUIRED=true`) The username for proxy authentication. |
21+
| **PROXY_PASSWORD** | Forward Proxy | (Required if `PROXY_AUTH_REQUIRED=true`) The password for proxy authentication. |
22+
| **PROXY_SSL_VERIFY** | Forward Proxy | Enables or disables SSL verification when `PROXY_PROTOCOL=https`. Default is `true`, meaning the proxy must have a valid certificate issued by a trusted Certificate Authority (CA). Set to `false` to allow self-signed or untrusted certificates (not recommended). |
23+
24+
{{</bootstrap-table>}}
25+
26+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
docs:
3+
---
4+
5+
1. Copy the proxy CA certificate into the system’s trusted certificate directory, for example **/usr/local/share/ca-certificates/** or **/etc/ssl/certs/** (path varies by distribution).
6+
1. Run the appropriate command to update the system’s trusted certificates:
7+
8+
- **Debian/Ubuntu**:
9+
10+
```bash
11+
sudo update-ca-certificates
12+
```
13+
14+
- **RHEL/CentOS**:
15+
16+
```shell
17+
sudo update-ca-trust
18+
```

content/nap-waf/v4/admin-guide/install-nms.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ weight: 100
2121

2222
[NGINX Management Suite Security Monitoring]({{< relref "/nms/about.md#security-monitoring" >}}) provides a centralized visualization tool that lets you analyze threats, view protection insights, and identify areas for policy tuning.
2323

24-
- For more information on how to configure Security Monitoring, see [Set Up App Protect Instances for Security Monitoring]({{< relref "/nim/monitoring/security-monitoring/configure/set-up-app-protect-instances.md" >}}).
24+
- For more information on how to configure Security Monitoring, see [Set Up App Protect Instances for Security Monitoring]({{< relref "/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md" >}}).
2525

2626
---
2727

content/ngf/get-started.md

+23-23
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ Create the file _cluster-config.yaml_ with the following contents, noting the hi
3636
apiVersion: kind.x-k8s.io/v1alpha4
3737
kind: Cluster
3838
nodes:
39-
- role: control-plane
40-
extraPortMappings:
41-
- containerPort: 31437
42-
hostPort: 8080
43-
protocol: TCP
44-
- containerPort: 31438
45-
hostPort: 8443
46-
protocol: TCP
39+
- role: control-plane
40+
extraPortMappings:
41+
- containerPort: 31437
42+
hostPort: 8080
43+
protocol: TCP
44+
- containerPort: 31438
45+
hostPort: 8443
46+
protocol: TCP
4747
```
4848
4949
{{< warning >}}
@@ -73,7 +73,7 @@ Thanks for using kind! 😊
7373
```
7474

7575
{{< note >}}
76-
If you have cloned [the NGINX Gateway Fabric repository](https://github.com/nginx/nginx-gateway-fabric/tree/main), you can also create a kind cluster from the root folder with the following *make* command:
76+
If you have cloned [the NGINX Gateway Fabric repository](https://github.com/nginx/nginx-gateway-fabric/tree/main), you can also create a kind cluster from the root folder with the following _make_ command:
7777

7878
```shell
7979
make create-kind-cluster
@@ -90,7 +90,7 @@ make create-kind-cluster
9090
Use `kubectl` to add the API resources for NGINX Gateway Fabric with the following command:
9191

9292
```shell
93-
kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.5.1" | kubectl apply -f -
93+
kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.6.1" | kubectl apply -f -
9494
```
9595

9696
```text
@@ -105,7 +105,7 @@ customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking
105105
To use experimental features, you'll need to install the API resources from the experimental channel instead.
106106

107107
```shell
108-
kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.5.1" | kubectl apply -f -
108+
kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.6.1" | kubectl apply -f -
109109
```
110110

111111
{{< /note >}}
@@ -121,7 +121,7 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp
121121
```
122122

123123
```text
124-
Pulled: ghcr.io/nginx/charts/nginx-gateway-fabric:1.5.1
124+
Pulled: ghcr.io/nginx/charts/nginx-gateway-fabric:1.6.1
125125
Digest: sha256:9bbd1a2fcbfd5407ad6be39f796f582e6263512f1f3a8969b427d39063cc6fee
126126
NAME: ngf
127127
LAST DEPLOYED: Mon Oct 21 14:45:14 2024
@@ -159,23 +159,23 @@ metadata:
159159
labels:
160160
app.kubernetes.io/name: nginx-gateway-fabric
161161
app.kubernetes.io/instance: ngf
162-
app.kubernetes.io/version: "1.5.1"
162+
app.kubernetes.io/version: "1.6.1"
163163
spec:
164164
type: NodePort
165165
selector:
166166
app.kubernetes.io/name: nginx-gateway-fabric
167167
app.kubernetes.io/instance: ngf
168168
ports:
169-
- name: http
170-
port: 80
171-
protocol: TCP
172-
targetPort: 80
173-
nodePort: 31437
174-
- name: https
175-
port: 443
176-
protocol: TCP
177-
targetPort: 443
178-
nodePort: 31438
169+
- name: http
170+
port: 80
171+
protocol: TCP
172+
targetPort: 80
173+
nodePort: 31437
174+
- name: https
175+
port: 443
176+
protocol: TCP
177+
targetPort: 443
178+
nodePort: 31438
179179
```
180180
181181
Apply it using `kubectl`:

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

+28-28
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ NGINX Gateway Fabric provides a variety of metrics for monitoring and analyzing
8383

8484
### NGINX/NGINX Plus metrics
8585

86-
NGINX metrics cover specific NGINX operations such as the total number of accepted client connections. For a complete list of available NGINX/NGINX Plus metrics, refer to the [NGINX Prometheus Exporter developer docs](https://github.com/nginxinc/nginx-prometheus-exporter#exported-metrics).
86+
NGINX metrics cover specific NGINX operations such as the total number of accepted client connections. For a complete list of available NGINX/NGINX Plus metrics, refer to the [NGINX Prometheus Exporter developer docs](https://github.com/nginx/nginx-prometheus-exporter#exported-metrics).
8787

8888
These metrics use the `nginx_gateway_fabric` namespace and include the `class` label, indicating the NGINX Gateway class. For example, `nginx_gateway_fabric_connections_accepted{class="nginx"}`.
8989

@@ -119,13 +119,13 @@ You can configure monitoring metrics for NGINX Gateway Fabric using Helm or Mani
119119

120120
### Using Helm
121121

122-
If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](https://github.com/nginx/nginx-gateway-fabric/blob/v1.5.1/charts/nginx-gateway-fabric/README.md).
122+
If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](https://github.com/nginx/nginx-gateway-fabric/blob/v1.6.1/charts/nginx-gateway-fabric/README.md).
123123

124124
---
125125

126126
### Using Kubernetes manifests
127127

128-
For setups using Kubernetes manifests, change the metrics configuration by editing the NGINX Gateway Fabric manifest that you want to deploy. You can find some examples in the [deploy](https://github.com/nginx/nginx-gateway-fabric/tree/v1.5.1/deploy) directory.
128+
For setups using Kubernetes manifests, change the metrics configuration by editing the NGINX Gateway Fabric manifest that you want to deploy. You can find some examples in the [deploy](https://github.com/nginx/nginx-gateway-fabric/tree/v1.6.1/deploy) directory.
129129

130130
---
131131

@@ -136,18 +136,18 @@ If you need to disable metrics:
136136
1. Set the `-metrics-disable` [command-line argument]({{< ref "/ngf/reference/cli-help.md">}}) to `true` in the NGINX Gateway Fabric Pod's configuration. Remove any other `-metrics-*` arguments.
137137
2. In the Pod template for NGINX Gateway Fabric, delete the metrics port entry from the container ports list:
138138

139-
```yaml
140-
- name: metrics
141-
containerPort: 9113
142-
```
139+
```yaml
140+
- name: metrics
141+
containerPort: 9113
142+
```
143143
144144
3. Also, remove the following annotations from the NGINX Gateway Fabric Pod template:
145145
146-
```yaml
147-
annotations:
148-
prometheus.io/scrape: "true"
149-
prometheus.io/port: "9113"
150-
```
146+
```yaml
147+
annotations:
148+
prometheus.io/scrape: "true"
149+
prometheus.io/port: "9113"
150+
```
151151
152152
#### Changing the default port
153153
@@ -156,19 +156,19 @@ To change the default port for metrics:
156156
1. Update the `-metrics-port` [command-line argument]({{< ref "/ngf/reference/cli-help.md">}}) in the NGINX Gateway Fabric Pod's configuration to your chosen port number.
157157
2. In the Pod template, change the metrics port entry to reflect the new port:
158158

159-
```yaml
160-
- name: metrics
161-
containerPort: <new-port>
162-
```
159+
```yaml
160+
- name: metrics
161+
containerPort: <new-port>
162+
```
163163

164164
3. Modify the `prometheus.io/port` annotation in the Pod template to match the new port:
165165

166-
```yaml
167-
annotations:
168-
<...>
169-
prometheus.io/port: "<new-port>"
170-
<...>
171-
```
166+
```yaml
167+
annotations:
168+
<...>
169+
prometheus.io/port: "<new-port>"
170+
<...>
171+
```
172172

173173
---
174174

@@ -180,9 +180,9 @@ For enhanced security with HTTPS:
180180

181181
2. Add an HTTPS scheme annotation to the Pod template:
182182

183-
```yaml
184-
annotations:
185-
<...>
186-
prometheus.io/scheme: "https"
187-
<...>
188-
```
183+
```yaml
184+
annotations:
185+
<...>
186+
prometheus.io/scheme: "https"
187+
<...>
188+
```

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

+27-27
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This guide explains how to enable tracing on HTTPRoutes in NGINX Gateway Fabric
1515

1616
NGINX Gateway Fabric supports tracing using [OpenTelemetry](https://opentelemetry.io/).
1717

18-
The official [NGINX OpenTelemetry Module](https://github.com/nginxinc/nginx-otel) instruments the NGINX data plane to export traces to a configured collector. Tracing data can be used with an OpenTelemetry Protocol (OTLP) exporter, such as the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector).
18+
The official [NGINX OpenTelemetry Module](https://github.com/nginxinc/nginx-otel) instruments the NGINX data plane to export traces to a configured collector. Tracing data can be used with an OpenTelemetry Protocol (OTLP) exporter, such as the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector).
1919

2020
This collector can then export data to one or more upstream collectors like [Jaeger](https://www.jaegertracing.io/), [DataDog](https://docs.datadoghq.com/tracing/), and many others. This is called the [Agent model](https://opentelemetry.io/docs/collector/deployment/agent/).
2121

@@ -104,7 +104,7 @@ The span attribute will be added to all tracing spans.
104104
To install:
105105

106106
```shell
107-
helm install ngf oci://ghcr.io/nginxinc/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway -f values.yaml
107+
helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway -f values.yaml
108108
```
109109

110110
You should see the following configuration:
@@ -123,8 +123,8 @@ spec:
123123
exporter:
124124
endpoint: otel-collector.tracing.svc:4317
125125
spanAttributes:
126-
- key: cluster-attribute-key
127-
value: cluster-attribute-value
126+
- key: cluster-attribute-key
127+
value: cluster-attribute-value
128128
```
129129
130130
```shell
@@ -144,24 +144,24 @@ spec:
144144
name: ngf-proxy-config
145145
status:
146146
conditions:
147-
- lastTransitionTime: "2024-05-22T15:18:35Z"
148-
message: GatewayClass is accepted
149-
observedGeneration: 1
150-
reason: Accepted
151-
status: "True"
152-
type: Accepted
153-
- lastTransitionTime: "2024-05-22T15:18:35Z"
154-
message: Gateway API CRD versions are supported
155-
observedGeneration: 1
156-
reason: SupportedVersion
157-
status: "True"
158-
type: SupportedVersion
159-
- lastTransitionTime: "2024-05-22T15:18:35Z"
160-
message: parametersRef resource is resolved
161-
observedGeneration: 1
162-
reason: ResolvedRefs
163-
status: "True"
164-
type: ResolvedRefs
147+
- lastTransitionTime: "2024-05-22T15:18:35Z"
148+
message: GatewayClass is accepted
149+
observedGeneration: 1
150+
reason: Accepted
151+
status: "True"
152+
type: Accepted
153+
- lastTransitionTime: "2024-05-22T15:18:35Z"
154+
message: Gateway API CRD versions are supported
155+
observedGeneration: 1
156+
reason: SupportedVersion
157+
status: "True"
158+
type: SupportedVersion
159+
- lastTransitionTime: "2024-05-22T15:18:35Z"
160+
message: parametersRef resource is resolved
161+
observedGeneration: 1
162+
reason: ResolvedRefs
163+
status: "True"
164+
type: ResolvedRefs
165165
```
166166
167167
If you already have NGINX Gateway Fabric installed, then you can create the `NginxProxy` resource and link it to the GatewayClass `parametersRef`:
@@ -172,10 +172,10 @@ kubectl edit gatewayclasses.gateway.networking.k8s.io nginx
172172

173173
Save the public IP address and port of NGINX Gateway Fabric into shell variables:
174174

175-
```text
176-
GW_IP=XXX.YYY.ZZZ.III
177-
GW_PORT=<port number>
178-
```
175+
```text
176+
GW_IP=XXX.YYY.ZZZ.III
177+
GW_PORT=<port number>
178+
```
179179

180180
You can now create the application, route, and tracing policy.
181181

@@ -283,7 +283,7 @@ To enable tracing for the coffee HTTPRoute, create the following policy:
283283

284284
```yaml
285285
kubectl apply -f - <<EOF
286-
apiVersion: gateway.nginx.org/v1alpha1
286+
apiVersion: gateway.nginx.org/v1alpha2
287287
kind: ObservabilityPolicy
288288
metadata:
289289
name: coffee

content/ngf/how-to/traffic-management/advanced-routing.md

+7-8
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,17 @@ The following image shows the traffic flow that we will be creating with these r
2121

2222
The goal is to create a set of rules that will result in client requests being sent to specific backends based on the request attributes. In this diagram, we have two versions of the `coffee` service. Traffic for v1 needs to be directed to the old application, while traffic for v2 needs to be directed towards the new application. We also have two `tea` services, one that handles GET operations and one that handles POST operations. Both the `tea` and `coffee` applications share the same Gateway.
2323

24-
2524
---
2625

2726
## Before you begin
2827

2928
- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric.
3029
- Save the public IP address and port of NGINX Gateway Fabric into shell variables:
3130

32-
```text
33-
GW_IP=XXX.YYY.ZZZ.III
34-
GW_PORT=<port number>
35-
```
31+
```text
32+
GW_IP=XXX.YYY.ZZZ.III
33+
GW_PORT=<port number>
34+
```
3635

3736
{{< note >}} In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. {{< /note >}}
3837

@@ -45,7 +44,7 @@ The goal is to create a set of rules that will result in client requests being s
4544
Begin by deploying the `coffee-v1` and `coffee-v2` applications:
4645

4746
```shell
48-
kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v1.6.0/examples/advanced-routing/coffee.yaml
47+
kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v1.6.1/examples/advanced-routing/coffee.yaml
4948
```
5049

5150
---
@@ -117,7 +116,7 @@ This HTTPRoute has a few important properties:
117116
- The `parentRefs` references the gateway resource that we created, and specifically defines the `http` listener to attach to, via the `sectionName` field.
118117
- `cafe.example.com` is the hostname that is matched for all requests to the backends defined in this HTTPRoute.
119118
- The first rule defines that all requests with the path prefix `/coffee` and no other matching conditions are sent to the `coffee-v1` Service.
120-
- The second rule defines two matching conditions. If *either* of these conditions match, requests are forwarded to the `coffee-v2` Service:
119+
- The second rule defines two matching conditions. If _either_ of these conditions match, requests are forwarded to the `coffee-v2` Service:
121120

122121
- Request with the path prefix `/coffee` and header `version=v2`
123122
- Request with the path prefix `/coffee` and the query parameter `TEST=v2`
@@ -173,7 +172,7 @@ Let's deploy a different set of applications now called `tea` and `tea-post`. Th
173172
### Deploy the Tea applications
174173

175174
```shell
176-
kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v1.6.0/examples/advanced-routing/tea.yaml
175+
kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v1.6.1/examples/advanced-routing/tea.yaml
177176
```
178177

179178
---

0 commit comments

Comments
 (0)