Skip to content

Commit 9a1df7a

Browse files
authoredNov 20, 2024
Release 1.5.0 (#2778)
* Release 1.5.0
1 parent 8efdfc8 commit 9a1df7a

31 files changed

+270
-215
lines changed
 

‎CHANGELOG.md

+54
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,60 @@ This document includes a curated changelog for each release. We also publish a c
44
a [GitHub release](https://github.com/nginxinc/nginx-gateway-fabric/releases), which, by contrast, is auto-generated
55
and includes links to all PRs that went into the release.
66

7+
## Release 1.5.0
8+
9+
_November 20, 2024_
10+
11+
BREAKING CHANGES:
12+
13+
- NGINX Plus R33 support added. The NGINX Plus release now requires a valid JSON Web Token (JWT) in order to run. Users of NGINX Plus _must_ have this JWT added to a Secret before installing NGINX Gateway Fabric v1.5.0. See the [NGINX Plus JWT](https://docs.nginx.com/nginx-gateway-fabric/installation/nginx-plus-jwt/) guide for information on setting this up. [2760](https://github.com/nginxinc/nginx-gateway-fabric/pull/2760)
14+
15+
FEATURES:
16+
17+
- Add support to retain client IP information. [2284](https://github.com/nginxinc/nginx-gateway-fabric/pull/2284)
18+
- Add the ability to configure data plane error log level. [2603](https://github.com/nginxinc/nginx-gateway-fabric/pull/2603)
19+
- Introduce SnippetsFilter API, which allows users to inject custom NGINX configuration via an HTTPRoute or GRPCRoute filter. See the [SnippetsFilter guide](https://docs.nginx.com/nginx-gateway-fabric/how-to/traffic-management/snippets/) for information on how to use SnippetsFilters. [2604](https://github.com/nginxinc/nginx-gateway-fabric/pull/2604)
20+
- Reduce logging verbosity of default Info log level. [2455](https://github.com/nginxinc/nginx-gateway-fabric/pull/2455)
21+
22+
BUG FIXES:
23+
24+
- Stream status_zone directive is no longer set if its value is empty. [2684](https://github.com/nginxinc/nginx-gateway-fabric/pull/2684)
25+
- Fix an issue with upstream names when split clients are used with a namespace name that starts with a number. [2730](https://github.com/nginxinc/nginx-gateway-fabric/pull/2730)
26+
- A 503 http response code is now returned to the client when a service has no ready endpoints. [2696](https://github.com/nginxinc/nginx-gateway-fabric/pull/2696)
27+
28+
DOCUMENTATION:
29+
30+
- Add a [guide](https://docs.nginx.com/nginx-gateway-fabric/how-to/traffic-management/snippets) for SnippetsFilter. [2721](https://github.com/nginxinc/nginx-gateway-fabric/pull/2721)
31+
- Add a new [Get started](https://docs.nginx.com/nginx-gateway-fabric/get-started/) document. [2721](https://github.com/nginxinc/nginx-gateway-fabric/pull/2717)
32+
- Add documentation for [proxyProtocol and rewriteClientIP](https://docs.nginx.com/nginx-gateway-fabric/how-to/data-plane-configuration/#configure-proxy-protocol-and-rewriteclientip-settings) settings. [2701](https://github.com/nginxinc/nginx-gateway-fabric/pull/2701)
33+
- Fix indentation in lifecycle examples. [2588](https://github.com/nginxinc/nginx-gateway-fabric/pull/2588). Thanks to [Derek F](https://github.com/defrank).
34+
35+
HELM CHART:
36+
37+
- The version of the Helm chart is now 1.5.0
38+
- Add `loadBalancerSourceRanges` to helm parameters to use during install/upgrade. [2773](https://github.com/nginxinc/nginx-gateway-fabric/pull/2773)
39+
- Add `loadBalancerIP` as a helm parameter to use during install/upgrade. [2766](https://github.com/nginxinc/nginx-gateway-fabric/pull/2766)
40+
- Add Helm schema. [2492](https://github.com/nginxinc/nginx-gateway-fabric/pull/2492)
41+
- Add capability to configure `topologySpreadConstraints`. [2703](https://github.com/nginxinc/nginx-gateway-fabric/pull/2703). Thanks to [Robsta86](https://github.com/Robsta86)
42+
43+
DEPENDENCIES:
44+
45+
- NGINX Plus was updated to R33. [2760](https://github.com/nginxinc/nginx-gateway-fabric/pull/2760)
46+
- Update to v1.2.0 of the Gateway API. [2694](https://github.com/nginxinc/nginx-gateway-fabric/pull/2694)
47+
48+
COMPATIBILITY:
49+
50+
- Gateway API version: `1.2.0`
51+
- NGINX version: `1.27.2`
52+
- NGINX Plus version: `R33`
53+
- Kubernetes version: `1.25+`
54+
55+
CONTAINER IMAGES:
56+
57+
- Control plane: `ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0`
58+
- Data plane: `ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.5.0`
59+
- Data plane with NGINX Plus: `private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.5.0`
60+
761
## Release 1.4.0
862

963
_August 20, 2024_

‎Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# variables that should not be overridden by the user
2-
VERSION = edge
2+
VERSION = 1.5.0
33
SELF_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
44
CHART_DIR = $(SELF_DIR)charts/nginx-gateway-fabric
55
NGINX_CONF_DIR = internal/mode/static/nginx/conf

‎README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ You can find the comprehensive NGINX Gateway Fabric user documentation on the [N
3434
We publish NGINX Gateway Fabric releases on GitHub. See
3535
our [releases page](https://github.com/nginxinc/nginx-gateway-fabric/releases).
3636

37-
The latest release is [1.4.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.4.0).
37+
The latest release is [1.5.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.5.0).
3838

3939
The edge version is useful for experimenting with new features that are not yet published in a release. To use, choose
4040
the _edge_ version built from the [latest commit](https://github.com/nginxinc/nginx-gateway-fabric/commits/main)
@@ -45,7 +45,7 @@ to the correct versions:
4545

4646
| Version | Description | Installation Manifests | Documentation and Examples |
4747
|----------------|------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
48-
| Latest release | For production use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/examples). |
48+
| Latest release | For production use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.5.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.5.0/examples). |
4949
| Edge | For experimental use and latest features | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/deploy). | [Documentation](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/site/content). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/examples). |
5050

5151
### Versioning
@@ -66,7 +66,8 @@ The following table lists the software versions NGINX Gateway Fabric supports.
6666

6767
| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS | NGINX Plus |
6868
|----------------------|-------------|------------|-----------|------------|
69-
| Edge | 1.2.0 | 1.25+ | 1.27.2 | R32 |
69+
| Edge | 1.2.0 | 1.25+ | 1.27.2 | R33 |
70+
| 1.5.0 | 1.2.0 | 1.25+ | 1.27.2 | R33 |
7071
| 1.4.0 | 1.1.0 | 1.25+ | 1.27.1 | R32 |
7172
| 1.3.0 | 1.1.0 | 1.25+ | 1.27.0 | R32 |
7273
| 1.2.0 | 1.0.0 | 1.23+ | 1.25.4 | R31 |

‎charts/nginx-gateway-fabric/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: nginx-gateway-fabric
33
description: NGINX Gateway Fabric
44
type: application
5-
version: 1.4.0
6-
appVersion: "edge"
5+
version: 1.5.0
6+
appVersion: "1.5.0"
77
kubeVersion: ">= 1.25.0-0"
88
home: https://github.com/nginxinc/nginx-gateway-fabric
99
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/charts/nginx-gateway-fabric/chart-icon.png

‎charts/nginx-gateway-fabric/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# NGINX Gateway Fabric Helm Chart
33

4-
![Version: 1.4.0](https://img.shields.io/badge/Version-1.4.0-informational?style=flat-square) ![AppVersion: edge](https://img.shields.io/badge/AppVersion-edge-informational?style=flat-square)
4+
![Version: 1.5.0](https://img.shields.io/badge/Version-1.5.0-informational?style=flat-square) ![AppVersion: 1.5.0](https://img.shields.io/badge/AppVersion-1.5.0-informational?style=flat-square)
55

66
- [NGINX Gateway Fabric Helm Chart](#nginx-gateway-fabric-helm-chart)
77
- [Introduction](#introduction)
@@ -263,9 +263,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
263263
| `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. | object | `{}` |
264264
| `nginx.debug` | Enable debugging for NGINX. Uses the nginx-debug binary. The NGINX error log level should be set to debug in the NginxProxy resource. | bool | `false` |
265265
| `nginx.extraVolumeMounts` | extraVolumeMounts are the additional volume mounts for the nginx container. | list | `[]` |
266-
| `nginx.image.pullPolicy` | | string | `"Always"` |
266+
| `nginx.image.pullPolicy` | | string | `"IfNotPresent"` |
267267
| `nginx.image.repository` | The NGINX image to use. | string | `"ghcr.io/nginxinc/nginx-gateway-fabric/nginx"` |
268-
| `nginx.image.tag` | | string | `"edge"` |
268+
| `nginx.image.tag` | | string | `"1.5.0"` |
269269
| `nginx.lifecycle` | The lifecycle of the nginx container. | object | `{}` |
270270
| `nginx.plus` | Is NGINX Plus image being used | bool | `false` |
271271
| `nginx.usage.caSecretName` | 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). | string | `""` |
@@ -281,9 +281,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
281281
| `nginxGateway.gatewayClassName` | The name of the GatewayClass that will be created as part of this release. Every NGINX Gateway Fabric must have a unique corresponding GatewayClass resource. NGINX Gateway Fabric only processes resources that belong to its class - i.e. have the "gatewayClassName" field resource equal to the class. | string | `"nginx"` |
282282
| `nginxGateway.gatewayControllerName` | The name of the Gateway controller. The controller name must be of the form: DOMAIN/PATH. The controller's domain is gateway.nginx.org. | string | `"gateway.nginx.org/nginx-gateway-controller"` |
283283
| `nginxGateway.gwAPIExperimentalFeatures.enable` | Enable the experimental features of Gateway API which are supported by NGINX Gateway Fabric. Requires the Gateway APIs installed from the experimental channel. | bool | `false` |
284-
| `nginxGateway.image.pullPolicy` | | string | `"Always"` |
284+
| `nginxGateway.image.pullPolicy` | | string | `"IfNotPresent"` |
285285
| `nginxGateway.image.repository` | The NGINX Gateway Fabric image to use | string | `"ghcr.io/nginxinc/nginx-gateway-fabric"` |
286-
| `nginxGateway.image.tag` | | string | `"edge"` |
286+
| `nginxGateway.image.tag` | | string | `"1.5.0"` |
287287
| `nginxGateway.kind` | The kind of the NGINX Gateway Fabric installation - currently, only deployment is supported. | string | `"deployment"` |
288288
| `nginxGateway.leaderElection.enable` | Enable leader election. Leader election is used to avoid multiple replicas of the NGINX Gateway Fabric reporting the status of the Gateway API resources. If not enabled, all replicas of NGINX Gateway Fabric will update the statuses of the Gateway API resources. | bool | `true` |
289289
| `nginxGateway.leaderElection.lockName` | The name of the leader election lock. A Lease object with this name will be created in the same Namespace as the controller. | string | Autogenerated if not set or set to "". |

‎charts/nginx-gateway-fabric/values.schema.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@
219219
"image": {
220220
"properties": {
221221
"pullPolicy": {
222-
"default": "Always",
222+
"default": "IfNotPresent",
223223
"enum": [
224224
"Always",
225225
"IfNotPresent",
@@ -236,7 +236,7 @@
236236
"type": "string"
237237
},
238238
"tag": {
239-
"default": "edge",
239+
"default": "1.5.0",
240240
"required": [],
241241
"title": "tag",
242242
"type": "string"
@@ -394,7 +394,7 @@
394394
"image": {
395395
"properties": {
396396
"pullPolicy": {
397-
"default": "Always",
397+
"default": "IfNotPresent",
398398
"enum": [
399399
"Always",
400400
"IfNotPresent",
@@ -411,7 +411,7 @@
411411
"type": "string"
412412
},
413413
"tag": {
414-
"default": "edge",
414+
"default": "1.5.0",
415415
"required": [],
416416
"title": "tag",
417417
"type": "string"

‎charts/nginx-gateway-fabric/values.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,14 @@ nginxGateway:
8282
image:
8383
# -- The NGINX Gateway Fabric image to use
8484
repository: ghcr.io/nginxinc/nginx-gateway-fabric
85-
tag: edge
85+
tag: 1.5.0
8686
# @schema
8787
# enum:
8888
# - Always
8989
# - IfNotPresent
9090
# - Never
9191
# @schema
92-
pullPolicy: Always
92+
pullPolicy: IfNotPresent
9393

9494
securityContext:
9595
# -- Some environments may need this set to true in order for the control plane to successfully reload NGINX.
@@ -122,14 +122,14 @@ nginx:
122122
image:
123123
# -- The NGINX image to use.
124124
repository: ghcr.io/nginxinc/nginx-gateway-fabric/nginx
125-
tag: edge
125+
tag: 1.5.0
126126
# @schema
127127
# enum:
128128
# - Always
129129
# - IfNotPresent
130130
# - Never
131131
# @schema
132-
pullPolicy: Always
132+
pullPolicy: IfNotPresent
133133

134134
# -- Is NGINX Plus image being used
135135
plus: false

‎config/tests/static-deployment.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
labels:
99
app.kubernetes.io/name: nginx-gateway
1010
app.kubernetes.io/instance: nginx-gateway
11-
app.kubernetes.io/version: "edge"
11+
app.kubernetes.io/version: "1.5.0"
1212
spec:
1313
replicas: 1
1414
selector:
@@ -23,8 +23,8 @@ spec:
2323
spec:
2424
initContainers:
2525
- name: copy-nginx-config
26-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
27-
imagePullPolicy: Always
26+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
27+
imagePullPolicy: IfNotPresent
2828
command:
2929
- /usr/bin/gateway
3030
- copy
@@ -72,8 +72,8 @@ spec:
7272
valueFrom:
7373
fieldRef:
7474
fieldPath: metadata.name
75-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
76-
imagePullPolicy: Always
75+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
76+
imagePullPolicy: IfNotPresent
7777
name: nginx-gateway
7878
ports:
7979
- name: health
@@ -109,8 +109,8 @@ spec:
109109
mountPath: /var/run/nginx
110110
- name: nginx-includes
111111
mountPath: /etc/nginx/includes
112-
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
113-
imagePullPolicy: Always
112+
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.5.0
113+
imagePullPolicy: IfNotPresent
114114
name: nginx
115115
ports:
116116
- containerPort: 80

‎deploy/aws-nlb/deploy.yaml

+14-14
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
labels:
1010
app.kubernetes.io/instance: nginx-gateway
1111
app.kubernetes.io/name: nginx-gateway
12-
app.kubernetes.io/version: edge
12+
app.kubernetes.io/version: 1.5.0
1313
name: nginx-gateway
1414
namespace: nginx-gateway
1515
---
@@ -19,7 +19,7 @@ metadata:
1919
labels:
2020
app.kubernetes.io/instance: nginx-gateway
2121
app.kubernetes.io/name: nginx-gateway
22-
app.kubernetes.io/version: edge
22+
app.kubernetes.io/version: 1.5.0
2323
name: nginx-gateway
2424
rules:
2525
- apiGroups:
@@ -131,7 +131,7 @@ metadata:
131131
labels:
132132
app.kubernetes.io/instance: nginx-gateway
133133
app.kubernetes.io/name: nginx-gateway
134-
app.kubernetes.io/version: edge
134+
app.kubernetes.io/version: 1.5.0
135135
name: nginx-gateway
136136
roleRef:
137137
apiGroup: rbac.authorization.k8s.io
@@ -151,7 +151,7 @@ metadata:
151151
labels:
152152
app.kubernetes.io/instance: nginx-gateway
153153
app.kubernetes.io/name: nginx-gateway
154-
app.kubernetes.io/version: edge
154+
app.kubernetes.io/version: 1.5.0
155155
name: nginx-includes-bootstrap
156156
namespace: nginx-gateway
157157
---
@@ -164,7 +164,7 @@ metadata:
164164
labels:
165165
app.kubernetes.io/instance: nginx-gateway
166166
app.kubernetes.io/name: nginx-gateway
167-
app.kubernetes.io/version: edge
167+
app.kubernetes.io/version: 1.5.0
168168
name: nginx-gateway
169169
namespace: nginx-gateway
170170
spec:
@@ -189,7 +189,7 @@ metadata:
189189
labels:
190190
app.kubernetes.io/instance: nginx-gateway
191191
app.kubernetes.io/name: nginx-gateway
192-
app.kubernetes.io/version: edge
192+
app.kubernetes.io/version: 1.5.0
193193
name: nginx-gateway
194194
namespace: nginx-gateway
195195
spec:
@@ -230,8 +230,8 @@ spec:
230230
valueFrom:
231231
fieldRef:
232232
fieldPath: metadata.name
233-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
234-
imagePullPolicy: Always
233+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
234+
imagePullPolicy: IfNotPresent
235235
name: nginx-gateway
236236
ports:
237237
- containerPort: 9113
@@ -269,8 +269,8 @@ spec:
269269
name: nginx-run
270270
- mountPath: /etc/nginx/includes
271271
name: nginx-includes
272-
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
273-
imagePullPolicy: Always
272+
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.5.0
273+
imagePullPolicy: IfNotPresent
274274
name: nginx
275275
ports:
276276
- containerPort: 80
@@ -311,8 +311,8 @@ spec:
311311
- /includes/main.conf
312312
- --destination
313313
- /etc/nginx/main-includes
314-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
315-
imagePullPolicy: Always
314+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
315+
imagePullPolicy: IfNotPresent
316316
name: copy-nginx-config
317317
securityContext:
318318
capabilities:
@@ -361,7 +361,7 @@ metadata:
361361
labels:
362362
app.kubernetes.io/instance: nginx-gateway
363363
app.kubernetes.io/name: nginx-gateway
364-
app.kubernetes.io/version: edge
364+
app.kubernetes.io/version: 1.5.0
365365
name: nginx
366366
spec:
367367
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -372,7 +372,7 @@ metadata:
372372
labels:
373373
app.kubernetes.io/instance: nginx-gateway
374374
app.kubernetes.io/name: nginx-gateway
375-
app.kubernetes.io/version: edge
375+
app.kubernetes.io/version: 1.5.0
376376
name: nginx-gateway-config
377377
namespace: nginx-gateway
378378
spec:

0 commit comments

Comments
 (0)
Failed to load comments.