diff --git a/README.md b/README.md index 4cd3ff550d..d60b8c46c9 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ In the case of NGINX, the Ingress Controller is deployed in a pod along with the We publish NGINX Ingress Controller releases on GitHub. See our [releases page](https://github.com/nginx/kubernetes-ingress/releases). -The latest stable release is [5.2.1](https://github.com/nginx/kubernetes-ingress/releases/tag/v5.2.1). For production +The latest stable release is [5.3.0](https://github.com/nginx/kubernetes-ingress/releases/tag/v5.3.0). For production use, we recommend that you choose the latest stable release. The edge version is useful for experimenting with new features that are not yet published in a stable release. To use @@ -143,7 +143,7 @@ your links to the correct versions: | Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples | | ------- | ----------- | --------------- | -------------------- | --------------------------------------- | -------------------------- | -| Latest stable release | For production use | Use the 5.2.1 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/install/build/). | Use the 5.2.1 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/install/images/registry-download/) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/install/build). | [Manifests](https://github.com/nginx/kubernetes-ingress/tree/v5.2.1/deployments). [Helm chart](https://github.com/nginx/kubernetes-ingress/tree/v5.2.1/charts/nginx-ingress). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). | +| Latest stable release | For production use | Use the 5.3.0 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/install/build/). | Use the 5.3.0 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/install/images/registry-download/) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/install/build). | [Manifests](https://github.com/nginx/kubernetes-ingress/tree/v5.3.0/deployments). [Helm chart](https://github.com/nginx/kubernetes-ingress/tree/v5.3.0/charts/nginx-ingress). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). | | Edge/Nightly | For testing and experimenting | Use the edge or nightly images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/install/build/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/install/build/). | [Manifests](https://github.com/nginx/kubernetes-ingress/tree/main/deployments). [Helm chart](https://github.com/nginx/kubernetes-ingress/tree/main/charts/nginx-ingress). | [Documentation](https://docs.nginx.com/nginx-ingress-controller). [Examples](https://github.com/nginx/kubernetes-ingress/tree/main/examples). | ## SBOM (Software Bill of Materials) diff --git a/charts/nginx-ingress/Chart.yaml b/charts/nginx-ingress/Chart.yaml index cf990f5a68..a9e474290e 100644 --- a/charts/nginx-ingress/Chart.yaml +++ b/charts/nginx-ingress/Chart.yaml @@ -5,10 +5,10 @@ appVersion: 5.3.0 kubeVersion: ">= 1.25.0-0" type: application description: NGINX Ingress Controller -icon: https://raw.githubusercontent.com/nginx/kubernetes-ingress/v5.2.1/charts/nginx-ingress/chart-icon.png +icon: https://raw.githubusercontent.com/nginx/kubernetes-ingress/v5.3.0/charts/nginx-ingress/chart-icon.png home: https://github.com/nginx/kubernetes-ingress sources: - - https://github.com/nginx/kubernetes-ingress/tree/v5.2.1/charts/nginx-ingress + - https://github.com/nginx/kubernetes-ingress/tree/v5.3.0/charts/nginx-ingress keywords: - ingress - nginx diff --git a/charts/nginx-ingress/values-icp.yaml b/charts/nginx-ingress/values-icp.yaml index 4b4a44c80b..5f0962ae55 100644 --- a/charts/nginx-ingress/values-icp.yaml +++ b/charts/nginx-ingress/values-icp.yaml @@ -4,7 +4,7 @@ controller: nginxplus: true image: repository: mycluster.icp:8500/kube-system/nginx-plus-ingress - tag: "5.2.1" + tag: "5.3.0" nodeSelector: beta.kubernetes.io/arch: "amd64" proxy: true diff --git a/charts/nginx-ingress/values-plus.yaml b/charts/nginx-ingress/values-plus.yaml index acd162b3c6..b05c1dbd5f 100644 --- a/charts/nginx-ingress/values-plus.yaml +++ b/charts/nginx-ingress/values-plus.yaml @@ -3,4 +3,4 @@ controller: nginxplus: true image: repository: nginx-plus-ingress - tag: "5.2.1" + tag: "5.3.0" diff --git a/charts/nginx-ingress/values.schema.json b/charts/nginx-ingress/values.schema.json index bdec7e805b..ae69ba3646 100644 --- a/charts/nginx-ingress/values.schema.json +++ b/charts/nginx-ingress/values.schema.json @@ -701,10 +701,10 @@ }, "tag": { "type": "string", - "default": "5.2.1", + "default": "5.3.0", "title": "The tag of the Ingress Controller image", "examples": [ - "5.2.1" + "5.3.0" ] }, "digest": { @@ -740,7 +740,7 @@ "examples": [ { "repository": "nginx/nginx-ingress", - "tag": "5.2.1", + "tag": "5.3.0", "pullPolicy": "IfNotPresent" } ] @@ -2068,7 +2068,7 @@ "customPorts": [], "image": { "repository": "nginx/nginx-ingress", - "tag": "5.2.1", + "tag": "5.3.0", "digest": "", "pullPolicy": "IfNotPresent" }, @@ -2709,7 +2709,7 @@ "customPorts": [], "image": { "repository": "nginx/nginx-ingress", - "tag": "5.2.1", + "tag": "5.3.0", "digest": "", "pullPolicy": "IfNotPresent" }, diff --git a/charts/nginx-ingress/values.yaml b/charts/nginx-ingress/values.yaml index 3843391e1c..3f16780a54 100644 --- a/charts/nginx-ingress/values.yaml +++ b/charts/nginx-ingress/values.yaml @@ -176,7 +176,7 @@ controller: repository: nginx/nginx-ingress ## The tag of the Ingress Controller image. If not specified the appVersion from Chart.yaml is used as a tag. - # tag: "5.2.1" + # tag: "5.3.0" ## The digest of the Ingress Controller image. ## If digest is specified it has precedence over tag and will be used instead # digest: "sha256:CHANGEME" diff --git a/deployments/daemon-set/nginx-ingress.yaml b/deployments/daemon-set/nginx-ingress.yaml index a55fda3ff4..5241d5f0a8 100644 --- a/deployments/daemon-set/nginx-ingress.yaml +++ b/deployments/daemon-set/nginx-ingress.yaml @@ -34,7 +34,7 @@ spec: # - name: nginx-log # emptyDir: {} containers: - - image: nginx/nginx-ingress:5.2.1 + - image: nginx/nginx-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-ingress ports: @@ -100,7 +100,7 @@ spec: #- -enable-prometheus-metrics #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration # initContainers: -# - image: nginx/nginx-ingress:5.2.1 +# - image: nginx/nginx-ingress:5.3.0 # imagePullPolicy: IfNotPresent # name: init-nginx-ingress # command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc'] diff --git a/deployments/daemon-set/nginx-plus-ingress.yaml b/deployments/daemon-set/nginx-plus-ingress.yaml index e75de4a147..04231efcd8 100644 --- a/deployments/daemon-set/nginx-plus-ingress.yaml +++ b/deployments/daemon-set/nginx-plus-ingress.yaml @@ -34,7 +34,7 @@ spec: # - name: nginx-log # emptyDir: {} containers: - - image: nginx-plus-ingress:5.2.1 + - image: nginx-plus-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-plus-ingress ports: @@ -104,7 +104,7 @@ spec: #- -enable-prometheus-metrics #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration # initContainers: -# - image: nginx/nginx-ingress:5.2.1 +# - image: nginx/nginx-ingress:5.3.0 # imagePullPolicy: IfNotPresent # name: init-nginx-ingress # command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc'] diff --git a/deployments/deployment/nginx-ingress.yaml b/deployments/deployment/nginx-ingress.yaml index 97c058fad6..67ee1f532c 100644 --- a/deployments/deployment/nginx-ingress.yaml +++ b/deployments/deployment/nginx-ingress.yaml @@ -35,7 +35,7 @@ spec: # - name: nginx-log # emptyDir: {} containers: - - image: nginx/nginx-ingress:5.2.1 + - image: nginx/nginx-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-ingress ports: @@ -101,7 +101,7 @@ spec: #- -enable-prometheus-metrics #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration # initContainers: -# - image: nginx/nginx-ingress:5.2.1 +# - image: nginx/nginx-ingress:5.3.0 # imagePullPolicy: IfNotPresent # name: init-nginx-ingress # command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc'] diff --git a/deployments/deployment/nginx-plus-ingress.yaml b/deployments/deployment/nginx-plus-ingress.yaml index 541ec4cd11..b8c8bb9569 100644 --- a/deployments/deployment/nginx-plus-ingress.yaml +++ b/deployments/deployment/nginx-plus-ingress.yaml @@ -35,7 +35,7 @@ spec: # - name: nginx-log # emptyDir: {} containers: - - image: nginx-plus-ingress:5.2.1 + - image: nginx-plus-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-plus-ingress ports: @@ -108,7 +108,7 @@ spec: #- -enable-service-insight #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration # initContainers: -# - image: nginx/nginx-ingress:5.2.1 +# - image: nginx/nginx-ingress:5.3.0 # imagePullPolicy: IfNotPresent # name: init-nginx-ingress # command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc'] diff --git a/deployments/stateful-set/nginx-ingress.yaml b/deployments/stateful-set/nginx-ingress.yaml index aa1c7a483e..c5dd0d62f3 100644 --- a/deployments/stateful-set/nginx-ingress.yaml +++ b/deployments/stateful-set/nginx-ingress.yaml @@ -36,7 +36,7 @@ spec: # - name: nginx-log # emptyDir: {} containers: - - image: nginx/nginx-ingress:5.2.1 + - image: nginx/nginx-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-ingress ports: @@ -100,7 +100,7 @@ spec: #- -enable-prometheus-metrics #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration # initContainers: -# - image: nginx/nginx-ingress:5.2.1 +# - image: nginx/nginx-ingress:5.3.0 # imagePullPolicy: IfNotPresent # name: init-nginx-ingress # command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc'] diff --git a/deployments/stateful-set/nginx-plus-ingress.yaml b/deployments/stateful-set/nginx-plus-ingress.yaml index b55af1b268..52de78b559 100644 --- a/deployments/stateful-set/nginx-plus-ingress.yaml +++ b/deployments/stateful-set/nginx-plus-ingress.yaml @@ -36,7 +36,7 @@ spec: # - name: nginx-log # emptyDir: {} containers: - - image: nginx-plus-ingress:5.2.1 + - image: nginx-plus-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-plus-ingress ports: @@ -109,7 +109,7 @@ spec: #- -enable-service-insight #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration # initContainers: -# - image: nginx/nginx-ingress:5.2.1 +# - image: nginx/nginx-ingress:5.3.0 # imagePullPolicy: IfNotPresent # name: init-nginx-ingress # command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc'] diff --git a/examples/custom-resources/service-insight/README.md b/examples/custom-resources/service-insight/README.md index 420cd19269..d78c523221 100644 --- a/examples/custom-resources/service-insight/README.md +++ b/examples/custom-resources/service-insight/README.md @@ -32,7 +32,7 @@ spec: securityContext: ... containers: - - image: nginx-plus-ingress:5.2.1 + - image: nginx-plus-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-plus-ingress ports: @@ -321,7 +321,7 @@ spec: securityContext: ... containers: - - image: nginx-plus-ingress:5.2.1 + - image: nginx-plus-ingress:5.3.0 imagePullPolicy: IfNotPresent name: nginx-plus-ingress ports: diff --git a/internal/configs/version2/__snapshots__/templates_test.snap b/internal/configs/version2/__snapshots__/templates_test.snap index 11b32b3353..3d6b4a7386 100644 --- a/internal/configs/version2/__snapshots__/templates_test.snap +++ b/internal/configs/version2/__snapshots__/templates_test.snap @@ -1222,6 +1222,75 @@ server { --- +[TestExecuteVirtualServerTemplateWithExtendedCachePolicy - 1] + +upstream extended-upstream { + zone extended-upstream ; + server 10.0.0.50:8001 max_fails=0 fail_timeout= max_conns=0; +} + +proxy_cache_path /var/cache/nginx/extended_cache_zone levels=2:2 keys_zone=extended_cache_zone:100m inactive=7d max_size=2g manager_files=500 manager_sleep=200ms manager_threshold=1s use_temp_path=off; + +server { + listen 80; + listen [::]:80; + + + server_name extended.example.com; + status_zone extended.example.com; + set $resource_type "virtualserver"; + set $resource_name ""; + set $resource_namespace ""; + + server_tokens "off"; + # Server-level cache configuration + proxy_cache extended_cache_zone; + proxy_cache_key $scheme$host$request_uri$args; + proxy_cache_valid 200 1h; + proxy_cache_valid 404 10m; + proxy_cache_valid any 5m; + proxy_cache_use_stale error timeout updating; + proxy_cache_revalidate on; + proxy_cache_background_update on; + proxy_cache_min_uses 3; + proxy_cache_lock on; + proxy_cache_lock_timeout 60s; + proxy_no_cache $cookie_admin; + proxy_cache_bypass $http_cache_control; + + + + + location /api { + set $service ""; + status_zone ""; + + + set $default_connection_header close; + proxy_connect_timeout ; + proxy_read_timeout ; + proxy_send_timeout ; + client_max_body_size ; + + proxy_buffering off; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $vs_connection_header; + proxy_pass_request_headers off; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://extended-upstream; + proxy_next_upstream ; + proxy_next_upstream_timeout ; + proxy_next_upstream_tries 0; + } +} + +--- + [TestExecuteVirtualServerTemplateWithJWKSWithToken - 1] upstream vs_default_cafe_tea { @@ -4020,72 +4089,3 @@ server { } --- - -[TestExecuteVirtualServerTemplateWithExtendedCachePolicy - 1] - -upstream extended-upstream { - zone extended-upstream ; - server 10.0.0.50:8001 max_fails=0 fail_timeout= max_conns=0; -} - -proxy_cache_path /var/cache/nginx/extended_cache_zone levels=2:2 keys_zone=extended_cache_zone:100m inactive=7d max_size=2g manager_files=500 manager_sleep=200ms manager_threshold=1s use_temp_path=off; - -server { - listen 80; - listen [::]:80; - - - server_name extended.example.com; - status_zone extended.example.com; - set $resource_type "virtualserver"; - set $resource_name ""; - set $resource_namespace ""; - - server_tokens "off"; - # Server-level cache configuration - proxy_cache extended_cache_zone; - proxy_cache_key $scheme$host$request_uri$args; - proxy_cache_valid 200 1h; - proxy_cache_valid 404 10m; - proxy_cache_valid any 5m; - proxy_cache_use_stale error timeout updating; - proxy_cache_revalidate on; - proxy_cache_background_update on; - proxy_cache_min_uses 3; - proxy_cache_lock on; - proxy_cache_lock_timeout 60s; - proxy_no_cache $cookie_admin; - proxy_cache_bypass $http_cache_control; - - - - - location /api { - set $service ""; - status_zone ""; - - - set $default_connection_header close; - proxy_connect_timeout ; - proxy_read_timeout ; - proxy_send_timeout ; - client_max_body_size ; - - proxy_buffering off; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $vs_connection_header; - proxy_pass_request_headers off; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $host; - proxy_set_header X-Forwarded-Port $server_port; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://extended-upstream; - proxy_next_upstream ; - proxy_next_upstream_timeout ; - proxy_next_upstream_tries 0; - } -} - ----