Skip to content

Commit dc454d0

Browse files
authored
Update NGINX Plus secrets docs for NGF split (#235)
Problem: With the new NGF architecture incoming, the process for setting up NGINX Plus is slightly different than before. Solution: Update the docs to remove unnecessary steps and add extra context around creating NGINX Plus Secrets.
1 parent 521ef3d commit dc454d0

File tree

1 file changed

+9
-54
lines changed

1 file changed

+9
-54
lines changed

content/ngf/installation/nginx-plus-jwt.md

Lines changed: 9 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ This requirement is part of F5’s broader licensing program and aligns with ind
1515

1616
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.
1717

18+
{{< note >}} The following Secrets should be created in the same namespace as the NGINX Gateway Fabric control plane (default: nginx-gateway). The control plane will copy these Secrets into any namespaces where NGINX gets deployed. {{< /note >}}
19+
1820
---
1921

2022
## Set up the JWT
@@ -41,13 +43,13 @@ Provide the name of this Secret when installing NGINX Gateway Fabric:
4143

4244
{{%tab name="Helm"%}}
4345

44-
Specify the Secret name using the `serviceAccount.imagePullSecret` or `serviceAccount.imagePullSecrets` helm value.
46+
Specify the Secret name using the `nginx.imagePullSecret` or `nginx.imagePullSecrets` helm value.
4547

4648
{{% /tab %}}
4749

4850
{{%tab name="Manifests"%}}
4951

50-
Specify the Secret name in the `imagePullSecrets` field of the `nginx-gateway` ServiceAccount.
52+
Specify the Secret name in the `nginx-docker-secret` command-line argument of the `nginx-gateway` container.
5153

5254
{{% /tab %}}
5355

@@ -73,22 +75,6 @@ Specify the Secret name using the `nginx.usage.secretName` helm value.
7375

7476
Specify the Secret name in the `--usage-report-secret` command-line flag on the `nginx-gateway` container.
7577

76-
You also need to define the proper volume mount to mount the Secret to the nginx container. If it doesn't already exist, add the following volume to the Deployment:
77-
78-
```yaml
79-
- name: nginx-plus-license
80-
secret:
81-
secretName: nplus-license
82-
```
83-
84-
and the following volume mount to the `nginx` container:
85-
86-
```yaml
87-
- mountPath: /etc/nginx/license.jwt
88-
name: nginx-plus-license
89-
subPath: license.jwt
90-
```
91-
9278
{{% /tab %}}
9379

9480
{{</tabs>}}
@@ -113,11 +99,7 @@ Specify the endpoint using the `nginx.usage.endpoint` helm value.
11399

114100
{{%tab name="Manifests"%}}
115101

116-
Specify the endpoint in the `--usage-report-endpoint` command-line flag on the `nginx-gateway` container. You also need to add the following line to the `mgmt` block of the `nginx-includes-bootstrap` ConfigMap:
117-
118-
```text
119-
usage_report endpoint=<your-endpoint>;
120-
```
102+
Specify the endpoint in the `--usage-report-endpoint` command-line flag on the `nginx-gateway` container.
121103

122104
{{% /tab %}}
123105

@@ -153,33 +135,6 @@ Specify the CA Secret name using the `nginx.usage.caSecretName` helm value. Spec
153135

154136
Specify the CA Secret name in the `--usage-report-ca-secret` command-line flag on the `nginx-gateway` container. Specify the client Secret name in the `--usage-report-client-ssl-secret` command-line flag on the `nginx-gateway` container.
155137

156-
You also need to define the proper volume mount to mount the Secrets to the nginx container. Add the following volume to the Deployment:
157-
158-
```yaml
159-
- name: nginx-plus-usage-certs
160-
projected:
161-
sources:
162-
- secret:
163-
name: nim-ca
164-
- secret:
165-
name: nim-client
166-
```
167-
168-
and the following volume mounts to the `nginx` container:
169-
170-
```yaml
171-
- mountPath: /etc/nginx/certs-bootstrap/
172-
name: nginx-plus-usage-certs
173-
```
174-
175-
Finally, in the `nginx-includes-bootstrap` ConfigMap, add the following lines to the `mgmt` block:
176-
177-
```text
178-
ssl_trusted_certificate /etc/nginx/certs-bootstrap/ca.crt;
179-
ssl_certificate /etc/nginx/certs-bootstrap/tls.crt;
180-
ssl_certificate_key /etc/nginx/certs-bootstrap/tls.key;
181-
```
182-
183138
{{% /tab %}}
184139

185140
{{</tabs>}}
@@ -205,12 +160,12 @@ If using Helm, the `nginx.usage` values should be set as necessary:
205160

206161
If using manifests, the following command-line options should be set as necessary on the `nginx-gateway` container:
207162

208-
- `--usage-report-secret` should be the name of the JWT Secret you created. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). By default this field is set to `nplus-license`. A [volume mount](#nginx-plus-secret) for this Secret is required for installation.
209-
- `--usage-report-endpoint` is the endpoint to send the telemetry data to. This is optional, and by default is `product.connect.nginx.com`. Requires [extra configuration](#nim) if specified.
163+
- `--usage-report-secret` should be the name of the JWT Secret you created. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). By default this field is set to `nplus-license`.
164+
- `--usage-report-endpoint` is the endpoint to send the telemetry data to. This is optional, and by default is `product.connect.nginx.com`.
210165
- `--usage-report-resolver` is the nameserver used to resolve the NGINX Plus usage reporting endpoint. This is optional and used with NGINX Instance Manager.
211166
- `--usage-report-skip-verify` disables client verification of the NGINX Plus usage reporting server certificate.
212-
- `--usage-report-ca-secret` is the name of the Secret containing the NGINX Instance Manager CA certificate. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). Requires [extra configuration](#nim-cert) if specified.
213-
- `--usage-report-client-ssl-secret` is the name of the Secret containing the client certificate and key for authenticating with NGINX Instance Manager. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). Requires [extra configuration](#nim-cert) if specified.
167+
- `--usage-report-ca-secret` is the name of the Secret containing the NGINX Instance Manager CA certificate. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway).
168+
- `--usage-report-client-ssl-secret` is the name of the Secret containing the client certificate and key for authenticating with NGINX Instance Manager. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway).
214169

215170
---
216171

0 commit comments

Comments
 (0)