You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**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). |
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:
Copy file name to clipboardExpand all lines: content/nap-waf/v4/admin-guide/install-nms.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ weight: 100
21
21
22
22
[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.
23
23
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" >}}).
Copy file name to clipboardExpand all lines: content/nim/admin-guide/authentication/oidc/getting-started.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,8 @@ NGINX Instance Manager’s implementation of OIDC is designed to work with any I
18
18
19
19
{{<call-out "tip" "Do you need to configure a specific IdP?">}}To learn how to configure OIDC with a specific identity provider, refer to the linked topics in the [Set up specific IdPs for OIDC](#oidc-specific-idps) section at the bottom of this page.{{</call-out>}}
20
20
21
+
{{<call-out "important" "OIDC is not supported in forward-proxy mode" "fa-solid fa-triangle-exclamation" >}}OpenID Connect (OIDC) authentication is not supported when NGINX Instance Manager is running in [forward-proxy mode]({{< relref "nim/system-configuration/configure-forward-proxy.md" >}}). OIDC is configured on the NGINX Plus layer and cannot pass authentication requests through a forward proxy.{{</call-out>}}
22
+
21
23
## Create roles and user groups in NGINX Instance Manager {#configure-nim}
22
24
23
25
When using OIDC for authentication, administrators don't need to create and manage users in NGINX Instance Manager. Instead, they create user groups in NGINX Instance Manager that match groups in their IdP. The roles assigned to the user group set the access level and permissions for users based on their group membership. Users who aren't in a group with an assigned role won't have access to NGINX Instance Manager.
Copy file name to clipboardExpand all lines: content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md
+22-13Lines changed: 22 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,32 +52,41 @@ To set up Docker to communicate with the NGINX container registry located at `pr
52
52
53
53
### Compose deployment
54
54
55
-
Navigate to the directory where you downloaded `docker-compose.yaml`. With the following commands, use docker to log in to private-registry.nginx.com and then run `docker compose up -d`.
55
+
{{<call-out "note" "Configuring a forward proxy:" "" >}}
56
+
57
+
If you are configuring a **forward proxy**, follow the steps in the [Forward Proxy Configuration Guide]({{< relref "nim/system-configuration/configure-forward-proxy.md" >}}) to modify `docker-compose.yaml` with the correct proxy settings **before** deploying NGINX Instance Manager.
58
+
59
+
{{</call-out>}}
60
+
61
+
Go to the directory where you downloaded `docker-compose.yaml`. Use the following commands to log in to `private-registry.nginx.com` and deploy NGINX Instance Manager.
If the deployment succeeds, you’ll see output similar to this:
70
+
71
+
```text
61
72
[+] Running 6/6
62
73
✔ Network nim_clickhouse Created 0.1s
63
74
✔ Network nim_external_network Created 0.2s
64
75
✔ Network nim_default Created 0.2s
65
76
✔ Container nim-precheck-1 Started 0.8s
66
77
✔ Container nim-clickhouse-1 Healthy 6.7s
67
78
✔ Container nim-nim-1 Started 7.4s
68
-
```
79
+
```
69
80
70
81
### Supported environment variables
71
82
72
-
You may modify the following variables in the `docker-compose.yaml` file:
83
+
{{< include "nim/docker/docker-compose-env-vars.md" >}}
84
+
85
+
<br>
73
86
74
-
-`NIM_LOG_LEVEL` - set the NGINX Instance Manager logging level.
75
-
-`NIM_METRICS_TTL` - set a custom time-to-live in days value for metrics retention.
76
-
-`NIM_EVENTS_TTL` - set a custom time-to-live in days value for events retention.
77
-
-`NIM_SECURITY_TTL` - set a custom time-to-live in days value for security violation retention.
78
-
-`NIM_MAINTENANCE` - enable maintenance mode to preform backup, restore and troubleshooting.
79
-
-`NIM_WATCHDOG_TIMEOUT` - set a custom dpm watchdog timeout in seconds.
80
-
-`NIM_LICENSE_MODE_OF_OPERATION` - set the NGINX Instance Manager license mode of operation to either connected or disconnected. Default is connected.
87
+
{{<call-out "tip" "See also:" "" >}}
88
+
For details on configuring a forward proxy, see the [Forward Proxy Configuration Guide]({{< relref "nim/system-configuration/configure-forward-proxy.md" >}}).
Copy file name to clipboardExpand all lines: content/nim/deploy/kubernetes/deploy-using-helm.md
+97-18Lines changed: 97 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,16 +13,14 @@ tags:
13
13
14
14
{{< include "/nim/decoupling/note-legacy-nms-references.md" >}}
15
15
16
-
This guide provides a step-by-step tutorial on how to set up F5 NGINX Instance Manager on a Kubernetes cluster using Helm. You'll learn how to download and use Docker images and customize your deployment.
16
+
This guide explains how to deploy F5 NGINX Instance Manager on a Kubernetes or OpenShift cluster using Helm. You’ll learn how to download and use Docker images and customize your deployment.
17
17
18
18
### About Helm
19
19
20
20
Helm charts are pre-configured packages of Kubernetes resources deployed with a single command. They let you define, install, and upgrade Kubernetes applications easily.
21
21
22
22
Helm charts consist of files that describe a group of related Kubernetes resources, like deployments, services, and ingress. They also allow you to manage dependencies between applications, making it easier to deploy multi-tier or complex applications.
23
23
24
-
{{< call-out "important" "Supportability considerations" >}} NGINX Instance Manager **does not** support [OpenShift](https://www.redhat.com/en/technologies/cloud-computing/openshift). For better compatibility, use [NGINX Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/). {{< /call-out >}}
25
-
26
24
---
27
25
28
26
## Before you begin
@@ -41,8 +39,6 @@ To deploy NGINX Instance Manager using a Helm chart, you need:
41
39
42
40
{{< /bootstrap-table >}}
43
41
44
-
45
-
46
42
---
47
43
48
44
## Get the NGINX Instance Manager images
@@ -57,12 +53,23 @@ Create a Docker registry secret on the cluster, using the JWT token as the usern
57
53
58
54
{{< note >}} Make sure there are no extra characters or spaces when copying the JWT token. They can invalidate the token and cause 401 errors during authentication. {{< /note >}}
59
55
60
-
```shell
61
-
kubectl create secret docker-registry regcred \
62
-
--docker-server=private-registry.nginx.com \
63
-
--docker-username=<JWT Token> \
64
-
--docker-password=none
65
-
```
56
+
-**Kubernetes**:
57
+
58
+
```shell
59
+
kubectl create secret docker-registry regcred \
60
+
--docker-server=private-registry.nginx.com \
61
+
--docker-username=<JWT Token> \
62
+
--docker-password=none
63
+
```
64
+
65
+
-**OpenShift**:
66
+
67
+
```shell
68
+
oc create secret docker-registry regcred \
69
+
--docker-server=private-registry.nginx.com \
70
+
--docker-username=<JWT Token> \
71
+
--docker-password=none
72
+
```
66
73
67
74
{{< warning >}}
68
75
@@ -74,9 +81,18 @@ This can be ignored (since no password is used), but if others have access to th
74
81
75
82
To confirm the secret is created:
76
83
77
-
```shell
78
-
kubectl get secret regcred --output=yaml
79
-
```
84
+
-**Kubernetes**:
85
+
86
+
```shell
87
+
kubectl get secret regcred --output=yaml
88
+
```
89
+
90
+
-**OpenShift**:
91
+
92
+
```shell
93
+
oc get secret regcred --output=yaml
94
+
```
95
+
80
96
81
97
You can now use this secret for Helm deployments and point the charts to the public registry.
82
98
@@ -99,14 +115,16 @@ The first command adds the `nginx-stable` repository to your local Helm repo lis
99
115
100
116
## Create a Helm deployment values.yaml file
101
117
102
-
The `values.yaml` file customizes the Helm chart installation without editing the chart itself. You can specify image repositories, environment variables, resource requests, and more.
118
+
The `values.yaml` file customizes the Helm chart installation without modifying the chart itself. You can use it to specify image repositories, environment variables, resource requests, and other settings.
103
119
104
120
1. Create a `values.yaml` file similar to this example:
105
121
106
122
- In the `imagePullSecrets` section, add the credentials for your private Docker registry.
107
123
- Change the version tag to the version of NGINX Instance Manager you would like to install. See "Install the chart" below for versions.
124
+
- Replace `<my-docker-registry:port>` with your private Docker registry and port (if applicable).
125
+
- If deploying on OpenShift, add the `openshift.enabled: true` setting.
108
126
109
-
{{< see-also >}} For more on creating a secret, see Kubernetes [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). {{</ see-also >}}
127
+
{{< see-also >}} For details on creating a secret, see Kubernetes [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). {{</ see-also >}}
110
128
111
129
```yaml
112
130
nms-hybrid:
@@ -138,13 +156,74 @@ The `values.yaml` file customizes the Helm chart installation without editing th
138
156
tag: <version>
139
157
```
140
158
141
-
This file specifies the Docker images for `apigw`, `core`, `dpm`, `ingestion`, `integrations`, and `utility`. It also indicates that a secret called `regcred` should be used for pulling images.
159
+
2. Save and close the `values.yaml` file.
160
+
161
+
---
162
+
163
+
## Enabling OpenShift
164
+
165
+
If deploying on OpenShift, include this setting in the `values.yaml` file:
166
+
167
+
```yaml
168
+
nms-hybrid:
169
+
openshift:
170
+
enabled: true
171
+
```
172
+
173
+
### How OpenShift handles security constraints
174
+
175
+
When `openshift.enabled: true` is set in the `values.yaml` file, the NGINX Instance Manager deployment automatically creates a **custom Security Context Constraint (SCC)** and links it to the Service Account used by all pods.
176
+
177
+
By default, OpenShift enforces strict security policies that require containers to run as **non-root** users. The NGINX Instance Manager deployment needs specific user IDs (UIDs) for certain services, such as **1000** for `nms` and **101** for `nginx` and `clickhouse`. Since the default SCCs do not allow these UIDs, a **custom SCC** is created. This ensures that the deployment can run with the necessary permissions while maintaining OpenShift’s security standards.
178
+
179
+
The custom SCC allows these UIDs by setting the `runAsUser` field, which controls which users can run containers. To verify that the SCC has been created, run:
180
+
181
+
```shell
182
+
oc get scc nms-restricted-v2-scc --output=yaml
183
+
```
142
184
143
-
1. Save and close the `values.yaml` file.
144
185
145
186
---
146
187
147
188
189
+
To apply network policies for NGINX Instance Manager, ensure Kubernetes has a [network plugin](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) installed before the Helm chart installation.
190
+
191
+
By default, the following network policies will be created in the release namespace:
0 commit comments