Skip to content

Commit 3a37274

Browse files
authored
Release 1.3.0 (#2113)
Update documentation for 1.3 release.
1 parent f681d8a commit 3a37274

25 files changed

+189
-119
lines changed

CHANGELOG.md

+84-15
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,79 @@ 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.3.0
8+
9+
_June 11, 2024_
10+
11+
FEATURES:
12+
13+
- Support for [GRPCRoute](https://gateway-api.sigs.k8s.io/api-types/grpcroute/):
14+
- Exact Method Matching, Header Matching, and Listener Hostname Matching. [1835](https://github.com/nginxinc/nginx-gateway-fabric/pull/1835)
15+
- RequestHeaderModifier Filter. [1909](https://github.com/nginxinc/nginx-gateway-fabric/pull/1909)
16+
- ResponseHeaderModifier filter. [1983](https://github.com/nginxinc/nginx-gateway-fabric/pull/1983)
17+
- Support tracing via the ObservabilityPolicy CRD. [2004](https://github.com/nginxinc/nginx-gateway-fabric/pull/2004)
18+
- NginxProxy CRD added to configure global settings (such as tracing endpoint) at the GatewayClass level. [1870](https://github.com/nginxinc/nginx-gateway-fabric/pull/1870)
19+
- Add configuration option to disable HTTP2 to the NginxProxy CRD. [1925](https://github.com/nginxinc/nginx-gateway-fabric/pull/1925)
20+
- Introduce ClientSettingsPolicy CRD. This CRD allows users to configure the behavior of the connection between the client and NGINX. [1940](https://github.com/nginxinc/nginx-gateway-fabric/pull/1940)
21+
- Introduce support for the HTTP filter `ResponseHeaderModifier`, enabling the modification of response headers within HTTPRoutes. [1880](https://github.com/nginxinc/nginx-gateway-fabric/pull/1880). With help from [Kai-Hsun Chen](https://github.com/kevin85421).
22+
- Collect BackendTLSPolicy and GRPCRoute counts configured with NGINX Gateway Fabric. [1954](https://github.com/nginxinc/nginx-gateway-fabric/pull/1954)
23+
24+
BUG FIXES:
25+
26+
- Remove zone size for invalid backend ref. [1931](https://github.com/nginxinc/nginx-gateway-fabric/pull/1931)
27+
- Fixed issue when using BackendTLSPolicy that led to failed connections. [1934](https://github.com/nginxinc/nginx-gateway-fabric/pull/1934).
28+
- Update secrets on resource version change only. [2047](https://github.com/nginxinc/nginx-gateway-fabric/pull/2047)
29+
- Fix reload errors due to long matching conditions. [1829](https://github.com/nginxinc/nginx-gateway-fabric/pull/1829).
30+
- Add SecurityContextConstraints so NGF can run on Openshift. [1976](https://github.com/nginxinc/nginx-gateway-fabric/pull/1976)
31+
32+
DOCUMENTATION:
33+
34+
- Helm docs are now automatically generated. [2058](https://github.com/nginxinc/nginx-gateway-fabric/pull/2058)
35+
- Add [guide](https://docs.nginx.com/nginx-gateway-fabric/how-to/monitoring/tracing/) on how to configure tracing for HTTPRoutes and GRPCRoutes. [2026](https://github.com/nginxinc/nginx-gateway-fabric/pull/2026).
36+
- Add [guide](https://docs.nginx.com/nginx-gateway-fabric/how-to/traffic-management/client-settings/) on how to use the ClientSettingsPolicy API. [2071](https://github.com/nginxinc/nginx-gateway-fabric/pull/2071).
37+
- Document how to upgrade from Open Source NGINX to NGINX Plus. [2104](https://github.com/nginxinc/nginx-gateway-fabric/pull/2104)
38+
- Add [overview](https://docs.nginx.com/nginx-gateway-fabric/overview/custom-policies) of how custom policies work in NGINX Gateway Fabric. [2088](https://github.com/nginxinc/nginx-gateway-fabric/pull/2088)
39+
40+
HELM CHART:
41+
42+
- The version of the Helm chart is now 1.3.0
43+
- Specify minimum Kubernetes version in Helm chart. [1885](https://github.com/nginxinc/nginx-gateway-fabric/pull/1885)
44+
- Use kustomize to install Gateway API and NGINX Gateway Fabric CRDs. [1886](https://github.com/nginxinc/nginx-gateway-fabric/pull/1886) and [2011](https://github.com/nginxinc/nginx-gateway-fabric/pull/2011)
45+
- Annotations for GatewayClass and NginxGateway are now configurable. [1993](https://github.com/nginxinc/nginx-gateway-fabric/pull/1993). Thanks to [sgavrylenko](https://github.com/sgavrylenko).
46+
- Fix RBAC ServiceAccount ImagePullSecrets template which caused errors when running NGF with NGINX+. [1953](https://github.com/nginxinc/nginx-gateway-fabric/pull/1953)
47+
48+
DEPENDENCIES:
49+
50+
- The minimum supported version of Kubernetes is now 1.25. [1885](https://github.com/nginxinc/nginx-gateway-fabric/pull/1885)
51+
- NGINX Plus was updated to R32. [2057](https://github.com/nginxinc/nginx-gateway-fabric/pull/2057)
52+
- Update to v1.1.0 of the Gateway API. This includes a breaking change to BackendTLSPolicies - see [the release notes](https://github.com/kubernetes-sigs/gateway-api/releases/tag/v1.1.0) for further details. [1975](https://github.com/nginxinc/nginx-gateway-fabric/pull/1975)
53+
54+
UPGRADE:
55+
56+
- This version of NGINX Gateway Fabric is not compatible with v1.0.0 of the Gateway API. You must upgrade the Gateway API CRDs to v1.1.0 before upgrading NGINX Gateway Fabric. For instructions, see the upgrade documentation for [helm](https://docs.nginx.com/nginx-gateway-fabric/installation/installing-ngf/helm/#upgrade-nginx-gateway-fabric) or [manifests](https://docs.nginx.com/nginx-gateway-fabric/installation/installing-ngf/manifests/#upgrade-nginx-gateway-fabric). If you are using the v1.0.0 or earlier experimental versions of GRPCRoute or BackendTLSPolicy, see [v1.1.0 Upgrade Notes](https://gateway-api.sigs.k8s.io/guides/#v11-upgrade-notes) for instructions on upgrading the Gateway API CRDs.
57+
58+
KNOWN ISSUES:
59+
60+
- Tracing does not work on HTTPRoutes with matching conditions. [2105](https://github.com/nginxinc/nginx-gateway-fabric/issues/2105)
61+
- ClientSettingsPolicy does not work on HTTPRoutes with matching conditions. [2079](https://github.com/nginxinc/nginx-gateway-fabric/issues/2079)
62+
- In restrictive environments, the NGF Pod may fail to become ready due to a permissions issue that causes nginx reloads to fail. [1695](https://github.com/nginxinc/nginx-gateway-fabric/issues/1695)
63+
64+
COMPATIBILITY:
65+
66+
- The Gateway API version: `1.1.0`. This release is not compatible with v1.0.0 of the Gateway API. See the UPGRADE section above for instructions on how to upgrade.
67+
- NGINX version: `1.27.0`
68+
- NGINX Plus version: `R32`
69+
- Kubernetes version: `1.25+`
70+
71+
CONTAINER IMAGES:
72+
73+
- Control plane: `ghcr.io/nginxinc/nginx-gateway-fabric:1.3.0`
74+
- Data plane: `ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.3.0`
75+
- Data plane with NGINX Plus: `private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.3.0`
76+
777
## Release 1.2.0
878

9-
*March 21, 2024*
79+
_March 21, 2024_
1080

1181
FEATURES:
1282

@@ -59,7 +129,7 @@ CONTAINER IMAGES:
59129

60130
## Release 1.1.0
61131

62-
*December 14, 2023*
132+
_December 14, 2023_
63133

64134
This release updates NGINX Gateway Fabric to support version 1.0.0 of the Gateway API in addition to bug fixes and documentation updates. Our docs are now available at https://docs.nginx.com/nginx-gateway-fabric.
65135

@@ -106,7 +176,7 @@ CONTAINER IMAGES:
106176

107177
## Release 1.0.0
108178

109-
*October 24, 2023*
179+
_October 24, 2023_
110180

111181
This is the official v1.0.0 release of NGINX Gateway Fabric.
112182

@@ -147,7 +217,7 @@ CONTAINER IMAGES:
147217

148218
## Release 0.6.0
149219

150-
*August 31, 2023*
220+
_August 31, 2023_
151221

152222
This release adds a Helm chart, dynamic control plane logging, Prometheus metrics, and in-depth guides for various use cases.
153223

@@ -180,7 +250,7 @@ CONTAINER IMAGES:
180250

181251
## Release 0.5.0
182252

183-
*July 17, 2023*
253+
_July 17, 2023_
184254

185255
This release completes all v1beta1 Core features of the Gateway API resources. See the [Gateway Compatibility doc](https://github.com/nginxinc/nginx-gateway-fabric/blob/v0.5.0/docs/gateway-api-compatibility.md)
186256

@@ -199,7 +269,7 @@ BUG FIXES:
199269
COMPATIBILITY:
200270

201271
- The Gateway API version: `0.7.1`
202-
- NGINX version: `1.25.x` *
272+
- NGINX version: `1.25.x` \*
203273
- Kubernetes version: `1.21+`
204274

205275
\*the installation manifests use the `nginx:1.25` image, which always points to the latest version of 1.25.x releases.
@@ -210,7 +280,7 @@ CONTAINER IMAGES:
210280

211281
## Release 0.4.0
212282

213-
*July 6, 2023*
283+
_July 6, 2023_
214284

215285
This release brings:
216286

@@ -258,7 +328,7 @@ DEPENDENCIES:
258328
COMPATIBILITY:
259329

260330
- The Gateway API version: `0.7.1`
261-
- NGINX version: `1.25.x` *
331+
- NGINX version: `1.25.x` \*
262332
- Kubernetes version: `1.21+`
263333

264334
\*the installation manifests use the `nginx:1.25` image, which always points to the latest version of 1.25.x releases.
@@ -269,12 +339,12 @@ CONTAINER IMAGES:
269339

270340
## Release 0.3.0
271341

272-
*April 24, 2023*
342+
_April 24, 2023_
273343

274344
This release brings:
275345

276346
- Extensive validation of Gateway API resources for robustness, security and correctness. See the [validation doc](https://github.com/nginxinc/nginx-gateway-fabric/blob/v0.3.0/docs/resource-validation.md)
277-
for more details.
347+
for more details.
278348
- Defined open-source development process for NGINX Kubernetes Gateway project. See the [Issue lifecycle doc](https://github.com/nginxinc/nginx-gateway-fabric/blob/v0.3.0/ISSUE_LIFECYCLE.md).
279349
- Miscellaneous enhancements and bug fixes.
280350

@@ -304,7 +374,7 @@ DEPENDENCIES:
304374
COMPATIBILITY:
305375

306376
- The Gateway API version: `0.6.2`
307-
- NGINX version: `1.23.x` *
377+
- NGINX version: `1.23.x` \*
308378
- Kubernetes version: `1.21+`
309379

310380
\*the installation manifests use the `nginx:1.23` image, which always points to the latest version of 1.23.x releases.
@@ -315,7 +385,7 @@ CONTAINER IMAGES:
315385

316386
## Release 0.2.0
317387

318-
*October 25, 2022*
388+
_October 25, 2022_
319389

320390
This release extends the support of the features of the Gateway API resources.
321391

@@ -339,11 +409,10 @@ DEPENDENCIES:
339409
- Use the latest NGINX 1.23 image. [PR-275](https://github.com/nginxinc/nginx-gateway-fabric/pull/275)
340410
- Bump sigs.k8s.io/gateway-api from 0.5.0 to 0.5.1 [PR-251](https://github.com/nginxinc/nginx-gateway-fabric/pull/251)
341411

342-
343412
COMPATIBILITY:
344413

345414
- The Gateway API version: `0.5.1`
346-
- NGINX version: `1.21.x` *
415+
- NGINX version: `1.21.x` \*
347416
- Kubernetes version: `1.21+`
348417

349418
\*the installation manifests use the `nginx:1.21` image, which always points to the latest version of 1.21.x releases.
@@ -354,7 +423,7 @@ CONTAINER IMAGES:
354423

355424
## Release 0.1.0
356425

357-
*August 22, 2022*
426+
_August 22, 2022_
358427

359428
This is an initial release of NGINX Kubernetes Gateway project.
360429

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.3.0
33
GIT_COMMIT = $(shell git rev-parse HEAD || echo "unknown")
44
DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
55
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))

README.md

+5-4
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.2.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.2.0).
37+
The latest release is [1.3.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.3.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)
@@ -44,8 +44,8 @@ The table below summarizes the options regarding the images, manifests, document
4444
to the correct versions:
4545

4646
| Version | Description | Installation Manifests | Documentation and Examples |
47-
| -------------- | ---------------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48-
| Latest release | For production use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/examples). |
47+
|----------------|------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
48+
| Latest release | For production use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.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
@@ -65,8 +65,9 @@ the [Issue Lifecycle](ISSUE_LIFECYCLE.md) document for information on issue crea
6565
The following table lists the software versions NGINX Gateway Fabric supports.
6666

6767
| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS | NGINX Plus |
68-
| -------------------- | ----------- | ---------- | --------- | ---------- |
68+
|----------------------|-------------|------------|-----------|------------|
6969
| Edge | 1.1.0 | 1.25+ | 1.27.0 | R32 |
70+
| 1.3.0 | 1.1.0 | 1.25+ | 1.27.0 | R32 |
7071
| 1.2.0 | 1.0.0 | 1.23+ | 1.25.4 | R31 |
7172
| 1.1.0 | 1.0.0 | 1.23+ | 1.25.3 | n/a |
7273
| 1.0.0 | 0.8.1 | 1.23+ | 1.25.2 | n/a |

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.2.0
6-
appVersion: "edge"
5+
version: 1.3.0
6+
appVersion: "1.3.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.2.0](https://img.shields.io/badge/Version-1.2.0-informational?style=flat-square) ![AppVersion: edge](https://img.shields.io/badge/AppVersion-edge-informational?style=flat-square)
4+
![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![AppVersion: 1.3.0](https://img.shields.io/badge/AppVersion-1.3.0-informational?style=flat-square)
55

66
- [NGINX Gateway Fabric Helm Chart](#nginx-gateway-fabric-helm-chart)
77
- [Introduction](#introduction)
@@ -262,9 +262,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
262262
| `metrics.secure` | Enable serving metrics via https. By default metrics are served via http. Please note that this endpoint will be secured with a self-signed certificate. | bool | `false` |
263263
| `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. | object | `{}` |
264264
| `nginx.extraVolumeMounts` | extraVolumeMounts are the additional volume mounts for the nginx container. | list | `[]` |
265-
| `nginx.image.pullPolicy` | | string | `"Always"` |
265+
| `nginx.image.pullPolicy` | | string | `"IfNotPresent"` |
266266
| `nginx.image.repository` | The NGINX image to use. | string | `"ghcr.io/nginxinc/nginx-gateway-fabric/nginx"` |
267-
| `nginx.image.tag` | | string | `"edge"` |
267+
| `nginx.image.tag` | | string | `"1.3.0"` |
268268
| `nginx.lifecycle` | The lifecycle of the nginx container. | object | `{}` |
269269
| `nginx.plus` | Is NGINX Plus image being used | bool | `false` |
270270
| `nginx.usage.clusterName` | The display name of the Kubernetes cluster in the NGINX Plus usage reporting server. | string | `""` |
@@ -278,9 +278,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
278278
| `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"` |
279279
| `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"` |
280280
| `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` |
281-
| `nginxGateway.image.pullPolicy` | | string | `"Always"` |
281+
| `nginxGateway.image.pullPolicy` | | string | `"IfNotPresent"` |
282282
| `nginxGateway.image.repository` | The NGINX Gateway Fabric image to use | string | `"ghcr.io/nginxinc/nginx-gateway-fabric"` |
283-
| `nginxGateway.image.tag` | | string | `"edge"` |
283+
| `nginxGateway.image.tag` | | string | `"1.3.0"` |
284284
| `nginxGateway.kind` | The kind of the NGINX Gateway Fabric installation - currently, only deployment is supported. | string | `"deployment"` |
285285
| `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` |
286286
| `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.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ nginxGateway:
5050
image:
5151
# -- The NGINX Gateway Fabric image to use
5252
repository: ghcr.io/nginxinc/nginx-gateway-fabric
53-
tag: edge
54-
pullPolicy: Always
53+
tag: 1.3.0
54+
pullPolicy: IfNotPresent
5555

5656
securityContext:
5757
# -- Some environments may need this set to true in order for the control plane to successfully reload NGINX.
@@ -76,8 +76,8 @@ nginx:
7676
image:
7777
# -- The NGINX image to use.
7878
repository: ghcr.io/nginxinc/nginx-gateway-fabric/nginx
79-
tag: edge
80-
pullPolicy: Always
79+
tag: 1.3.0
80+
pullPolicy: IfNotPresent
8181

8282
# -- Is NGINX Plus image being used
8383
plus: false

config/tests/static-deployment.yaml

+5-5
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.3.0"
1212
spec:
1313
replicas: 1
1414
selector:
@@ -45,8 +45,8 @@ spec:
4545
valueFrom:
4646
fieldRef:
4747
fieldPath: metadata.name
48-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
49-
imagePullPolicy: Always
48+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.3.0
49+
imagePullPolicy: IfNotPresent
5050
name: nginx-gateway
5151
ports:
5252
- name: health
@@ -78,8 +78,8 @@ spec:
7878
mountPath: /var/run/nginx
7979
- name: nginx-includes
8080
mountPath: /etc/nginx/includes
81-
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
82-
imagePullPolicy: Always
81+
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.3.0
82+
imagePullPolicy: IfNotPresent
8383
name: nginx
8484
ports:
8585
- containerPort: 80

0 commit comments

Comments
 (0)