Skip to content

Commit cc79553

Browse files
committed
Merge branch 'main' into ngf-release-2.3
2 parents 53d5f27 + a2e53bc commit cc79553

File tree

14 files changed

+573
-191
lines changed

14 files changed

+573
-191
lines changed

.github/workflows/ossf_scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@ jobs:
5656

5757
# Upload the results to GitHub's code scanning dashboard.
5858
- name: Upload SARIF results to code scanning
59-
uses: github/codeql-action/upload-sarif@e12f0178983d466f2f6028f5cc7a6d786fd97f4b # v3.29.5
59+
uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.29.5
6060
with:
6161
sarif_file: results.sarif

content/nap-dos/deployment-guide/learn-about-deployment.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,7 +1378,7 @@ You need root permissions to execute the following steps.
13781378
13791379
# prepare environment
13801380
mkdir -p /var/run/adm /tmp/cores ${LOGDIR}
1381-
chmod55 /var/run/adm /tmp/cores ${LOGDIR}
1381+
chmod 755 /var/run/adm /tmp/cores ${LOGDIR}
13821382
chown ${USER}:${USER} /var/run/adm /tmp/cores ${LOGDIR}
13831383
13841384
# run processes
@@ -1867,7 +1867,8 @@ Make sure to replace upstream and proxy pass directives in this example with rel
18671867
chown ${USER}:${USER} /var/run/adm /tmp/cores ${LOGDIR}
18681868
18691869
# run processes
1870-
/bin/su -s /bin/bash -c "/usr/bin/adminstall > ${LOGDIR}/adminstall.log 2>&1" ${USER}/bin/su -s /bin/bash -c '/opt/app_protect/bin/bd_agent &' ${USER}
1870+
/bin/su -s /bin/bash -c "/usr/bin/adminstall > ${LOGDIR}/adminstall.log 2>&1" ${USER}
1871+
/bin/su -s /bin/bash -c '/opt/app_protect/bin/bd_agent &' ${USER}
18711872
/bin/su -s /bin/bash -c "/usr/share/ts/bin/bd-socket-plugin tmm_count 4 proc_cpuinfo_cpu_mhz 2000000 total_xml_memory 307200000 total_umu_max_size 3129344 sys_max_account_id 1024 no_static_config 2>&1 > /var/log/app_protect/bd-socket-plugin.log &" ${USER}
18721873
/bin/su -s /bin/bash -c "/usr/bin/admd -d --log info > ${LOGDIR}/admd.log 2>&1 &" ${USER}
18731874
/usr/sbin/nginx -g 'daemon off;'
@@ -2237,9 +2238,9 @@ Review the syslog ports by entering the following command:
22372238
semanage port -l | grep syslog
22382239
```
22392240
2240-
### Kubernetes Deployment Examples
2241+
## Kubernetes Deployment Examples
22412242
2242-
#### App Protect DoS
2243+
### App Protect DoS
22432244
22442245
`appprotect-dos.yaml`:
22452246
@@ -2425,6 +2426,9 @@ http {
24252426
app_protect_dos_security_log "/etc/app_protect_dos/log-default.json" /var/log/adm/logger.log;
24262427
# app_protect_dos_security_log "/etc/app_protect_dos/log-default.json" syslog:server=1.2.3.4:5261;
24272428
2429+
app_protect_dos_liveness on; # uri:/app_protect_dos_liveness port:8090
2430+
app_protect_dos_readiness on; # uri:/app_protect_dos_readiness port:8090
2431+
24282432
server {
24292433
listen 80 reuseport;
24302434
server_name serv;
@@ -2447,9 +2451,6 @@ http {
24472451
listen 8090;
24482452
server_name probe;
24492453
2450-
app_protect_dos_liveness on; # uri:/app_protect_dos_liveness port:8090
2451-
app_protect_dos_readiness on; # uri:/app_protect_dos_readiness port:8090
2452-
24532454
location / {
24542455
proxy_pass http://localhost:8091;
24552456
}
@@ -2466,7 +2467,7 @@ http {
24662467
}
24672468
```
24682469
2469-
#### App Protect DoS arb
2470+
### App Protect DoS arb
24702471
24712472
Arbitrator (arb) is an internal service that is essential for the scaling scenarios. The arbitrator service should be deployed in the same namespace as F5 DoS for NGINX.
24722473

content/nic/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ It supports standard [Ingress]({{< ref "/nic/glossary.md#ingress">}}) features s
2727
## Featured content
2828

2929
{{<card-section showAsCards="true" isFeaturedSection="true">}}
30-
{{<card title="Install NGINX Ingress Controller with Helm" titleUrl="/nginx-ingress-controller/installation/installing-nic/installation-with-helm">}}
30+
{{<card title="Install NGINX Ingress Controller with Helm" titleUrl="/nginx-ingress-controller/install/helm">}}
3131
Use Helm to deploy and configure a NGINX Ingress Controller cluster
3232
{{</card>}}
33-
{{<card title="Migrate from Ingress-NGINX Controller" titleUrl="/nginx-ingress-controller/installation/ingress-nginx">}}
33+
{{<card title="Migrate from Ingress-NGINX Controller" titleUrl="/nginx-ingress-controller/install/ingress-nginx">}}
3434
Replace an Ingress-NGINX cluster with NGINX Ingress Controller
3535
{{</card>}}
3636
{{<card title="Changelog" titleUrl="/nginx-ingress-controller/changelog">}}

content/nic/install/helm/_index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Helm
3+
weight: 100
4+
url: /nginx-ingress-controller/install/helm/
5+
---
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
title: Use Helm to Install NGINX Ingress Controller with NGINX Open Source
3+
linkTitle: NGINX Open Source
4+
toc: true
5+
weight: 100
6+
nd-content-type: how-to
7+
nd-product: INGRESS
8+
---
9+
10+
This page describes how to use Helm to install F5 NGINX Ingress Controller with NGINX Open Source.
11+
12+
It explains the requirements for NGINX Ingress Controller, how to obtain and install the Helm chart, and what custom resource definitions (CRDs) are installed during the process.
13+
14+
By following these instructions, you will finish with a functional NGINX Ingress Controller instance for your Kubernetes cluster.
15+
16+
## Before you begin
17+
18+
- A [supported Kubernetes version]({{< ref "/nic/technical-specifications.md#supported-kubernetes-versions" >}})
19+
- A functional Kubernetes cluster
20+
- [Helm 3.19+.](https://helm.sh/docs/intro/install)
21+
22+
Throughout this page, you will see placeholder values indicated with angular brackets, such as **\<my-release\>**. Replace them accordingly for your installation.
23+
24+
{{< call-out "warning" >}}
25+
26+
The `edge` version **is not intended for production use**. It is intended for testing and development purposes only.
27+
28+
{{< /call-out >}}
29+
30+
If you'd like to test the latest changes in NGINX Ingress Controller before a new release, you can install the `edge` version, which is built from the `main` branch of the [NGINX Ingress Controller repository](https://github.com/nginx/kubernetes-ingress).
31+
32+
You can install the `edge` version by specifying the `--version` flag with the value `0.0.0-edge`:
33+
34+
```shell
35+
helm install <my-release> oci://ghcr.io/nginx/charts/nginx-ingress --version 0.0.0-edge
36+
```
37+
38+
## Install the Helm chart
39+
40+
You have two options for installing the Helm chart: directly from the OCI registry, or using the source.
41+
42+
### OCI Registry
43+
44+
To install NGINX Ingress Controller using the OCI registry, run this command with your release name:
45+
46+
```shell
47+
helm install <my-release> oci://ghcr.io/nginx/charts/nginx-ingress --version {{< nic-helm-version >}}
48+
```
49+
50+
{{< details summary="Example output" >}}
51+
52+
```text
53+
Pulled: ghcr.io/nginx/charts/nginx-ingress:2.3.1
54+
Digest: sha256:bb452d593c31b6be39f459f9604882e170227429821bac01e7ddd7da16d91ba1
55+
NAME: h4-oss
56+
LAST DEPLOYED: Fri Nov 28 11:53:57 2025
57+
NAMESPACE: default
58+
STATUS: deployed
59+
REVISION: 1
60+
DESCRIPTION: Install complete
61+
TEST SUITE: None
62+
NOTES:
63+
NGINX Ingress Controller 5.2.1 has been installed.
64+
65+
For release notes for this version please see: https://docs.nginx.com/nginx-ingress-controller/releases/
66+
67+
Installation and upgrade instructions: https://docs.nginx.com/nginx-ingress-controller/installation/installing-nic/installation-with-helm/
68+
```
69+
70+
{{< /details >}}
71+
72+
### From source
73+
74+
To install NGINX Ingress Controller from source, first pull the chart by running this command:
75+
76+
```shell
77+
helm pull oci://ghcr.io/nginx/charts/nginx-ingress --untar --version {{< nic-helm-version >}}
78+
```
79+
80+
{{< details summary="Example output" >}}
81+
82+
```text
83+
Pulled: ghcr.io/nginx/charts/nginx-ingress:2.3.1
84+
Digest: sha256:bb452d593c31b6be39f459f9604882e170227429821bac01e7ddd7da16d91ba1
85+
```
86+
87+
{{< /details >}}
88+
89+
Then use the `cd` command to change your working directory to _nginx-ingress_:
90+
91+
```shell
92+
cd nginx-ingress
93+
```
94+
95+
Finally, install the chart with your release name with `helm install`:
96+
97+
```shell
98+
helm install <my-release> .
99+
```
100+
101+
{{< details summary="Example output" >}}
102+
103+
```text
104+
NAME: h4-oss-source
105+
LAST DEPLOYED: Fri Nov 28 12:06:07 2025
106+
NAMESPACE: default
107+
STATUS: deployed
108+
REVISION: 1
109+
DESCRIPTION: Install complete
110+
TEST SUITE: None
111+
NOTES:
112+
NGINX Ingress Controller 5.2.1 has been installed.
113+
114+
For release notes for this version please see: https://docs.nginx.com/nginx-ingress-controller/releases/
115+
116+
Installation and upgrade instructions: https://docs.nginx.com/nginx-ingress-controller/installation/installing-nic/installation-with-helm/
117+
```
118+
119+
{{< /details >}}
120+
121+
## Verify the deployment
122+
123+
To verify that NGINX Ingress Controller has been installed correctly, you can review `ingressclasses` with `kubectl get`:
124+
125+
```shell
126+
kubectl get ingressclasses
127+
```
128+
129+
{{< details summary="Example output" >}}
130+
131+
```text
132+
NAME CONTROLLER PARAMETERS AGE
133+
nginx nginx.org/ingress-controller <none> 10m
134+
```
135+
136+
{{< /details >}}
137+
138+
## Custom Resource Definitions
139+
140+
When installing the chart, Helm will install the required CRDs. Without them, NGINX Ingress Controller pods will not become _Ready_.
141+
142+
If you do not use the custom resources that require those CRDs, add the parameter `--skip-crds` in your `helm install` command.
143+
144+
The following chart parameters should be set to `false`:
145+
146+
- `controller.enableCustomResources`
147+
- `controller.appprotect.enable`
148+
- `controller.appprotectdos.enable`
149+
150+
## Next steps
151+
152+
- [NGINX Ingress Controller Helm chart parameters]({{< ref "/nic/install/helm/parameters.md" >}})
153+
- [Security recommendations]({{< ref "/nic/configuration/security.md" >}})
154+
- [Basic configuration]({{< ref "/nic/configuration/ingress-resources/basic-configuration.md" >}})
155+
- [Extensibility with NGINX Plus]({{< ref "/nic/overview/nginx-plus.md" >}})

0 commit comments

Comments
 (0)