# Technical specifications




This page describes technical specifications for F5 NGINX Ingress Controller, such as its version compatibility with Kubernetes and other NGINX software.

## Supported NGINX Ingress Controller versions

We recommend using the latest release of NGINX Ingress Controller, and provides software updates for the most recent release. 

We test NGINX Ingress Controller on a range of Kubernetes platforms for each release, and list them in the [Changelog](/nic/changelog).

We provide technical support for NGINX Ingress Controller on any Kubernetes platform that is currently supported by its provider, and that passes the [Kubernetes conformance tests](https://www.cncf.io/certification/software-conformance/).

We provide technical support for F5 customers who are using the most recent version of NGINX Ingress Controller, and any version released within two years of the current release.

NGINX Ingress Controller supports the following versions of [NGINX Plus](/nginx/) and [Kubernetes](https://kubernetes.io/):

| NIC version | Kubernetes versions tested  | NIC Helm Chart version | NIC Operator version | NGINX / NGINX Plus version |
| --- | --- | --- | --- | --- |
|  | 1.29 - 1.36 |  |  | 1.31.2 / R37.0.2.1 |
| 5.4.3 | 1.28 - 1.35 | 2.5.3 | 3.5.4 | 1.31.1 / R37.0.1.1 |
| 5.3.4 | 1.27 - 1.35 | 2.4.4 | 3.4.4 | 1.29.5 / R36 P2 |
| 5.2.1 | 1.27 - 1.34 | 2.3.1 | 3.3.1 | 1.29.1 / R35 |
| 5.1.1 | 1.25 - 1.33 | 2.2.2 | 3.2.3 | 1.29.1 / R35 |
| 5.0.0 | 1.25 - 1.32 | 2.1.0 | 3.1.0 | 1.27.4 / R34 |
| 4.0.1 | 1.25 - 1.32 | 2.0.1 | 3.0.1 | 1.27.4 / R33 P2 |
| 3.7.2 | 1.25 - 1.31 | 1.4.2 | 2.4.2 | 1.27.2 / R32 P1 |

## Supported Docker images

We provide the following Docker images, which include NGINX or NGINX Plus bundled with the Ingress Controller binary.

### Images with NGINX

_All images include NGINX 1.31.2._

|<div style="width:200px">Name</div> | <div style="width:100px">Base image</div> | DockerHub image | Architectures |
| ---| --- | --- | --- |
|Alpine-based image | ``nginx:1.31.2-alpine``,<br>based on on ``alpine:3.23`` | ``nginx/nginx-ingress:-alpine`` | arm64<br>amd64 |
|Debian-based image | ``nginx:1.31.2``,<br>based on on ``debian:13-slim`` | ``nginx/nginx-ingress:`` | arm64<br>amd64 |
|Ubi-based image | ``redhat/ubi9-minimal`` | ``nginx/nginx-ingress:-ubi`` | arm64<br>amd64 |

### Images with NGINX Plus

NGINX Plus images include NGINX Plus R37.0.2.1.

#### F5 Container registry

NGINX Plus images are available through the F5 Container registry `private-registry.nginx.com`, explained in the [Download NGINX Ingress Controller from the F5 Registry](/nic/install/images/registry-download.md) and [Add an NGINX Ingress Controller image to your cluster](/nic/install/images/add-image-to-cluster.md) topics.

| Name | Base image | <div style="width:200px">Additional modules</div> | F5 Container Registry Image | Architectures |
| ---| ---| --- | --- | --- |
|Alpine-based image | ``alpine:3.22`` | NJS (NGINX JavaScript)<br>OpenTelemetry  | `nginx-ic/nginx-plus-ingress:-alpine` | arm64<br>amd64 |
|Alpine-based image with FIPS inside | ``alpine:3.22`` | NJS (NGINX JavaScript)<br>OpenTelemetry<br>FIPS module and OpenSSL configuration | `nginx-ic/nginx-plus-ingress:-alpine-fips` | arm64<br>amd64 |
|Alpine-based image with F5 WAF for NGINX & FIPS inside | ``alpine:3.22`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>FIPS module and OpenSSL configuration | `nginx-ic-nap/nginx-plus-ingress:-alpine-fips` | amd64 |
|Alpine-based image with F5 WAF for NGINX & FIPS inside and NGINX Agent 3 | ``alpine:3.22`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>FIPS module and OpenSSL configuration<br>NGINX Agent 3 | `nginx-ic-nap/nginx-plus-ingress:-alpine-fips-agent` | amd64 |
|Alpine-based image with F5 WAF for NGINX v5 & FIPS inside | ``alpine:3.22`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>FIPS module and OpenSSL configuration | `nginx-ic-nap-v5/nginx-plus-ingress:-alpine-fips` | amd64 |
|Alpine-based image with F5 WAF for NGINX v5 & FIPS inside and NGINX Agent 3 | ``alpine:3.22`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>FIPS module and OpenSSL configuration<br>NGINX Agent 3 | `nginx-ic-nap-v5/nginx-plus-ingress:-alpine-fips-agent` | amd64 |
|Debian-based image | ``debian:13-slim`` | NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic/nginx-plus-ingress:` | arm64<br>amd64 |
|Debian-based image with F5 WAF for NGINX | ``debian:13-slim`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap/nginx-plus-ingress:` | amd64 |
|Debian-based image with F5 WAF for NGINX and NGINX Agent 3 | ``debian:13-slim`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>NGINX Agent 3 | `nginx-ic-nap/nginx-plus-ingress:-agent` | amd64 |
|Debian-based image with F5 WAF for NGINX v5 | ``debian:13-slim`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap-v5/nginx-plus-ingress:` | amd64 |
|Debian-based image with F5 WAF for NGINX v5 and NGINX Agent 3 | ``debian:13-slim`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>NGINX Agent 3 | `nginx-ic-nap-v5/nginx-plus-ingress:-agent` | amd64 |
|Debian-based image with F5 DoS for NGINX | ``debian:13-slim`` | F5 DoS for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-dos/nginx-plus-ingress:` | amd64 |
|Debian-based image with F5 WAF for NGINX and DoS | ``debian:13-slim`` | F5 WAF for NGINX and DoS<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap-dos/nginx-plus-ingress:` | amd64 |
|Ubi-based image | ``redhat/ubi9-minimal`` | NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic/nginx-plus-ingress:-ubi` | arm64<br>amd64 |
|Ubi-based image with F5 WAF for NGINX | ``redhat/ubi9`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap/nginx-plus-ingress:-ubi` | amd64 |
|Ubi-based image with F5 WAF for NGINX and NGINX Agent 3 | ``redhat/ubi9`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>NGINX Agent 3 | `nginx-ic-nap/nginx-plus-ingress:-ubi-agent` | amd64 |
|Ubi8-based image with F5 WAF for NGINX | ``redhat/ubi8`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap/nginx-plus-ingress:-ubi8` | amd64 |
|Ubi8-based image with F5 WAF for NGINX and NGINX Agent 3 | ``redhat/ubi8`` | F5 WAF for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>NGINX Agent 3 | `nginx-ic-nap/nginx-plus-ingress:-ubi8-agent` | amd64 |
|Ubi-based image with F5 WAF for NGINX v5 | ``redhat/ubi9`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap-v5/nginx-plus-ingress:-ubi` | amd64 |
|Ubi-based image with F5 WAF for NGINX v5 and NGINX Agent 3 | ``redhat/ubi9`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>NGINX Agent 3 | `nginx-ic-nap-v5/nginx-plus-ingress:-ubi-agent` | amd64 |
|Ubi8-based image with F5 WAF for NGINX v5 | ``redhat/ubi8`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap-v5/nginx-plus-ingress:-ubi8` | amd64 |
|Ubi8-based image with F5 WAF for NGINX v5 and NGINX Agent 3 | ``redhat/ubi8`` | F5 WAF for NGINX v5<br>NJS (NGINX JavaScript)<br>OpenTelemetry<br>NGINX Agent 3 | `nginx-ic-nap-v5/nginx-plus-ingress:-ubi8-agent` | amd64 |
|Ubi-based image with F5 DoS for NGINX | ``redhat/ubi8`` | F5 DoS for NGINX<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-dos/nginx-plus-ingress:-ubi` | amd64 |
|Ubi-based image with F5 WAF for NGINX and DoS | ``redhat/ubi8`` | F5 WAF for NGINX and DoS<br>NJS (NGINX JavaScript)<br>OpenTelemetry | `nginx-ic-nap-dos/nginx-plus-ingress:-ubi` | amd64 |

### Custom images

You can customize an existing Dockerfile or use it as a reference to create a new one, which is necessary when:

- Choosing a different base image.
- Installing additional NGINX modules.

## Supported Helm versions

NGINX Ingress Controller can be [installed](/nic/install/helm.md) using Helm 3.0 or later.

## Supported F5 WAF for NGINX versions

**Note:** F5 WAF for NGINX package based installation (previously NGINX App Protect WAF v4) is not supported when `readOnlyRootFilesystem` is enabled.

NGINX Ingress Controller supports the following versions of [F5 WAF for NGINX](https://docs.nginx.com/waf/):

| NIC Version         | NAP-WAF Version | Config Manager | Enforcer |
| ------------------- | --------------- | -------------- | -------- |
|  | 37.0+       |           |    |
| 5.4.3               | 37.0+5.635.1    | 5.13.1         | 5.13.1   |
| 5.3.4               | 35+5.527.0      | 5.11.2         | 5.11.2   |
| 5.2.1               | 35+5.527.0      | 5.9.0          | 5.9.0    |
| 5.1.1               | 35+5.498        | 5.8.0          | 5.8.0    |
| 5.0.0               | 34+5.342        | 5.6.0          | 5.6.0    |
| 4.0.1               | 33+5.264        | 5.5.0          | 5.5.0    |
| 3.7.2               | 32+5.1          | 5.3.0          | 5.3.0    |
| 3.6.2               | 32+5.48         | 5.2.0          | 5.2.0    |

