Skip to content

Commit ed4c668

Browse files
committed
Release 2.0.0
1 parent e30a25e commit ed4c668

File tree

16 files changed

+239
-191
lines changed

16 files changed

+239
-191
lines changed

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,54 @@ This document includes a curated changelog for each release. We also publish a c
44
a [GitHub release](https://github.com/nginx/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 2.0.0
8+
9+
* Remove documentation site and GitHub Action, update README references by @ADubhlaoich in https://github.com/nginx/nginx-gateway-fabric/pull/3047
10+
* De-duplicate base headers if specified by user by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/3249
11+
* Upgrade to NGINX Plus R34 by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/3281
12+
* Add support for RequestMirror filter by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/3306
13+
* Separate control plane and data plane; support multiple Gateways by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/3318
14+
* Add fix to route parentRef internal logic by @bjee19 in https://github.com/nginx/nginx-gateway-fabric/pull/3418
15+
16+
%%DATE%%
17+
18+
FEATURES:
19+
20+
-
21+
22+
BUG FIXES:
23+
24+
-
25+
26+
DOCUMENTATION:
27+
28+
-
29+
30+
HELM CHART:
31+
32+
- The version of the Helm chart is now 2.0.0
33+
-
34+
35+
UPGRADE:
36+
37+
-
38+
39+
KNOWN ISSUES:
40+
41+
-
42+
43+
COMPATIBILITY:
44+
45+
- Gateway API version: ``
46+
- NGINX version: ``
47+
- NGINX Plus version: ``
48+
- Kubernetes version: ``
49+
50+
CONTAINER IMAGES:
51+
52+
- Control plane: `ghcr.io/nginx/nginx-gateway-fabric:2.0.0`
53+
- Data plane: `ghcr.io/nginx/nginx-gateway-fabric/nginx:2.0.0`
54+
- Data plane with NGINX Plus: `private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:2.0.0`
755
## Release 1.6.2
856

957
_March 11, 2025_

Makefile

Lines changed: 1 addition & 1 deletion
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 = 2.0.0
33
SELF_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
44
CHART_DIR = $(SELF_DIR)charts/nginx-gateway-fabric
55
NGINX_CONF_DIR = internal/controller/nginx/conf

README.md

Lines changed: 2 additions & 2 deletions
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/nginx/nginx-gateway-fabric/releases).
3636

37-
The latest release is [1.6.2](https://github.com/nginx/nginx-gateway-fabric/releases/tag/v1.6.2).
37+
The latest release is [2.0.0](https://github.com/nginx/nginx-gateway-fabric/releases/tag/v2.0.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/nginx/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/nginx/nginx-gateway-fabric/tree/v1.6.2/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginx/nginx-gateway-fabric/tree/v1.6.2/examples). |
48+
| Latest release | For production use | [Manifests](https://github.com/nginx/nginx-gateway-fabric/tree/v2.0.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginx/nginx-gateway-fabric/tree/v2.0.0/examples). |
4949
| Edge | For experimental use and latest features | [Manifests](https://github.com/nginx/nginx-gateway-fabric/tree/main/deploy). | [Examples](https://github.com/nginx/nginx-gateway-fabric/tree/main/examples). |
5050

5151
### Versioning

charts/nginx-gateway-fabric/Chart.yaml

Lines changed: 2 additions & 2 deletions
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.6.2
6-
appVersion: "edge"
5+
version: 2.0.0
6+
appVersion: "2.0.0"
77
kubeVersion: ">= 1.25.0-0"
88
home: https://github.com/nginx/nginx-gateway-fabric
99
icon: https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/main/charts/nginx-gateway-fabric/chart-icon.png

charts/nginx-gateway-fabric/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# NGINX Gateway Fabric Helm Chart
33

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

66
- [NGINX Gateway Fabric Helm Chart](#nginx-gateway-fabric-helm-chart)
77
- [Introduction](#introduction)
@@ -259,7 +259,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
259259
| `certGenerator.serverTLSSecretName` | The name of the Secret containing TLS CA, certificate, and key for the NGINX Gateway Fabric control plane to securely communicate with the NGINX Agent. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). | string | `"server-tls"` |
260260
| `clusterDomain` | The DNS cluster domain of your Kubernetes cluster. | string | `"cluster.local"` |
261261
| `gateways` | A list of Gateway objects. View https://gateway-api.sigs.k8s.io/reference/spec/#gateway for full Gateway reference. | list | `[]` |
262-
| `nginx` | The nginx section contains the configuration for all NGINX data plane deployments installed by the NGINX Gateway Fabric control plane. | object | `{"config":{},"container":{},"debug":false,"image":{"pullPolicy":"Always","repository":"ghcr.io/nginx/nginx-gateway-fabric/nginx","tag":"edge"},"imagePullSecret":"","imagePullSecrets":[],"kind":"deployment","plus":false,"pod":{},"replicas":1,"service":{"externalTrafficPolicy":"Local","loadBalancerClass":"","loadBalancerIP":"","loadBalancerSourceRanges":[],"nodePorts":[],"type":"LoadBalancer"},"usage":{"caSecretName":"","clientSSLSecretName":"","endpoint":"","resolver":"","secretName":"nplus-license","skipVerify":false}}` |
262+
| `nginx` | The nginx section contains the configuration for all NGINX data plane deployments installed by the NGINX Gateway Fabric control plane. | object | `{"config":{},"container":{},"debug":false,"image":{"pullPolicy":"IfNotPresent","repository":"ghcr.io/nginx/nginx-gateway-fabric/nginx","tag":"2.0.0"},"imagePullSecret":"","imagePullSecrets":[],"kind":"deployment","plus":false,"pod":{},"replicas":1,"service":{"externalTrafficPolicy":"Local","loadBalancerClass":"","loadBalancerIP":"","loadBalancerSourceRanges":[],"nodePorts":[],"type":"LoadBalancer"},"usage":{"caSecretName":"","clientSSLSecretName":"","endpoint":"","resolver":"","secretName":"nplus-license","skipVerify":false}}` |
263263
| `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. This is applied globally to all Gateways managed by this instance of NGINX Gateway Fabric. | object | `{}` |
264264
| `nginx.container` | The container configuration for the NGINX container. This is applied globally to all Gateways managed by this instance of NGINX Gateway Fabric. | object | `{}` |
265265
| `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` |
@@ -283,7 +283,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
283283
| `nginx.usage.resolver` | The nameserver used to resolve the NGINX Plus usage reporting endpoint. Used with NGINX Instance Manager. | string | `""` |
284284
| `nginx.usage.secretName` | The name of the Secret containing the JWT for NGINX Plus usage reporting. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). | string | `"nplus-license"` |
285285
| `nginx.usage.skipVerify` | Disable client verification of the NGINX Plus usage reporting server certificate. | bool | `false` |
286-
| `nginxGateway` | The nginxGateway section contains configuration for the NGINX Gateway Fabric control plane deployment. | object | `{"affinity":{},"config":{"logging":{"level":"info"}},"configAnnotations":{},"extraVolumeMounts":[],"extraVolumes":[],"gatewayClassAnnotations":{},"gatewayClassName":"nginx","gatewayControllerName":"gateway.nginx.org/nginx-gateway-controller","gwAPIExperimentalFeatures":{"enable":false},"image":{"pullPolicy":"Always","repository":"ghcr.io/nginx/nginx-gateway-fabric","tag":"edge"},"kind":"deployment","labels":{},"leaderElection":{"enable":true,"lockName":""},"lifecycle":{},"metrics":{"enable":true,"port":9113,"secure":false},"nodeSelector":{},"podAnnotations":{},"productTelemetry":{"enable":true},"readinessProbe":{"enable":true,"initialDelaySeconds":3,"port":8081},"replicas":1,"resources":{},"service":{"annotations":{}},"serviceAccount":{"annotations":{},"imagePullSecret":"","imagePullSecrets":[],"name":""},"snippetsFilters":{"enable":false},"terminationGracePeriodSeconds":30,"tolerations":[],"topologySpreadConstraints":[]}` |
286+
| `nginxGateway` | The nginxGateway section contains configuration for the NGINX Gateway Fabric control plane deployment. | object | `{"affinity":{},"config":{"logging":{"level":"info"}},"configAnnotations":{},"extraVolumeMounts":[],"extraVolumes":[],"gatewayClassAnnotations":{},"gatewayClassName":"nginx","gatewayControllerName":"gateway.nginx.org/nginx-gateway-controller","gwAPIExperimentalFeatures":{"enable":false},"image":{"pullPolicy":"IfNotPresent","repository":"ghcr.io/nginx/nginx-gateway-fabric","tag":"2.0.0"},"kind":"deployment","labels":{},"leaderElection":{"enable":true,"lockName":""},"lifecycle":{},"metrics":{"enable":true,"port":9113,"secure":false},"nodeSelector":{},"podAnnotations":{},"productTelemetry":{"enable":true},"readinessProbe":{"enable":true,"initialDelaySeconds":3,"port":8081},"replicas":1,"resources":{},"service":{"annotations":{}},"serviceAccount":{"annotations":{},"imagePullSecret":"","imagePullSecrets":[],"name":""},"snippetsFilters":{"enable":false},"terminationGracePeriodSeconds":30,"tolerations":[],"topologySpreadConstraints":[]}` |
287287
| `nginxGateway.affinity` | The affinity of the NGINX Gateway Fabric control plane pod. | object | `{}` |
288288
| `nginxGateway.config.logging.level` | Log level. | string | `"info"` |
289289
| `nginxGateway.configAnnotations` | Set of custom annotations for NginxGateway objects. | object | `{}` |
@@ -293,7 +293,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
293293
| `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"` |
294294
| `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"` |
295295
| `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` |
296-
| `nginxGateway.image` | The image configuration for the NGINX Gateway Fabric control plane. | object | `{"pullPolicy":"Always","repository":"ghcr.io/nginx/nginx-gateway-fabric","tag":"edge"}` |
296+
| `nginxGateway.image` | The image configuration for the NGINX Gateway Fabric control plane. | object | `{"pullPolicy":"IfNotPresent","repository":"ghcr.io/nginx/nginx-gateway-fabric","tag":"2.0.0"}` |
297297
| `nginxGateway.image.repository` | The NGINX Gateway Fabric image to use | string | `"ghcr.io/nginx/nginx-gateway-fabric"` |
298298
| `nginxGateway.kind` | The kind of the NGINX Gateway Fabric installation - currently, only deployment is supported. | string | `"deployment"` |
299299
| `nginxGateway.labels` | Set of labels to be added for NGINX Gateway Fabric deployment. | object | `{}` |

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@
290290
"image": {
291291
"properties": {
292292
"pullPolicy": {
293-
"default": "Always",
293+
"default": "IfNotPresent",
294294
"enum": [
295295
"Always",
296296
"IfNotPresent",
@@ -307,7 +307,7 @@
307307
"type": "string"
308308
},
309309
"tag": {
310-
"default": "edge",
310+
"default": "2.0.0",
311311
"required": [],
312312
"title": "tag",
313313
"type": "string"
@@ -591,7 +591,7 @@
591591
"description": "The image configuration for the NGINX Gateway Fabric control plane.",
592592
"properties": {
593593
"pullPolicy": {
594-
"default": "Always",
594+
"default": "IfNotPresent",
595595
"enum": [
596596
"Always",
597597
"IfNotPresent",
@@ -608,7 +608,7 @@
608608
"type": "string"
609609
},
610610
"tag": {
611-
"default": "edge",
611+
"default": "2.0.0",
612612
"required": [],
613613
"title": "tag",
614614
"type": "string"

charts/nginx-gateway-fabric/values.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,14 @@ nginxGateway:
112112
image:
113113
# -- The NGINX Gateway Fabric image to use
114114
repository: ghcr.io/nginx/nginx-gateway-fabric
115-
tag: edge
115+
tag: 2.0.0
116116
# @schema
117117
# enum:
118118
# - Always
119119
# - IfNotPresent
120120
# - Never
121121
# @schema
122-
pullPolicy: Always
122+
pullPolicy: IfNotPresent
123123

124124
productTelemetry:
125125
# -- Enable the collection of product telemetry.
@@ -196,14 +196,14 @@ nginx:
196196
image:
197197
# -- The NGINX image to use.
198198
repository: ghcr.io/nginx/nginx-gateway-fabric/nginx
199-
tag: edge
199+
tag: 2.0.0
200200
# @schema
201201
# enum:
202202
# - Always
203203
# - IfNotPresent
204204
# - Never
205205
# @schema
206-
pullPolicy: Always
206+
pullPolicy: IfNotPresent
207207

208208
# -- Is NGINX Plus image being used.
209209
plus: false

deploy/azure/deploy.yaml

Lines changed: 19 additions & 19 deletions
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: 2.0.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: 2.0.0
2323
name: nginx-gateway-cert-generator
2424
namespace: nginx-gateway
2525
---
@@ -29,7 +29,7 @@ metadata:
2929
labels:
3030
app.kubernetes.io/instance: nginx-gateway
3131
app.kubernetes.io/name: nginx-gateway
32-
app.kubernetes.io/version: edge
32+
app.kubernetes.io/version: 2.0.0
3333
name: nginx-gateway-cert-generator
3434
namespace: nginx-gateway
3535
rules:
@@ -48,7 +48,7 @@ metadata:
4848
labels:
4949
app.kubernetes.io/instance: nginx-gateway
5050
app.kubernetes.io/name: nginx-gateway
51-
app.kubernetes.io/version: edge
51+
app.kubernetes.io/version: 2.0.0
5252
name: nginx-gateway
5353
rules:
5454
- apiGroups:
@@ -179,7 +179,7 @@ metadata:
179179
labels:
180180
app.kubernetes.io/instance: nginx-gateway
181181
app.kubernetes.io/name: nginx-gateway
182-
app.kubernetes.io/version: edge
182+
app.kubernetes.io/version: 2.0.0
183183
name: nginx-gateway-cert-generator
184184
namespace: nginx-gateway
185185
roleRef:
@@ -197,7 +197,7 @@ metadata:
197197
labels:
198198
app.kubernetes.io/instance: nginx-gateway
199199
app.kubernetes.io/name: nginx-gateway
200-
app.kubernetes.io/version: edge
200+
app.kubernetes.io/version: 2.0.0
201201
name: nginx-gateway
202202
roleRef:
203203
apiGroup: rbac.authorization.k8s.io
@@ -214,7 +214,7 @@ metadata:
214214
labels:
215215
app.kubernetes.io/instance: nginx-gateway
216216
app.kubernetes.io/name: nginx-gateway
217-
app.kubernetes.io/version: edge
217+
app.kubernetes.io/version: 2.0.0
218218
name: nginx-gateway
219219
namespace: nginx-gateway
220220
spec:
@@ -234,7 +234,7 @@ metadata:
234234
labels:
235235
app.kubernetes.io/instance: nginx-gateway
236236
app.kubernetes.io/name: nginx-gateway
237-
app.kubernetes.io/version: edge
237+
app.kubernetes.io/version: 2.0.0
238238
name: nginx-gateway
239239
namespace: nginx-gateway
240240
spec:
@@ -281,9 +281,9 @@ spec:
281281
fieldRef:
282282
fieldPath: metadata.labels['app.kubernetes.io/instance']
283283
- name: IMAGE_NAME
284-
value: ghcr.io/nginx/nginx-gateway-fabric:edge
285-
image: ghcr.io/nginx/nginx-gateway-fabric:edge
286-
imagePullPolicy: Always
284+
value: ghcr.io/nginx/nginx-gateway-fabric:2.0.0
285+
image: ghcr.io/nginx/nginx-gateway-fabric:2.0.0
286+
imagePullPolicy: IfNotPresent
287287
name: nginx-gateway
288288
ports:
289289
- containerPort: 8443
@@ -329,7 +329,7 @@ metadata:
329329
labels:
330330
app.kubernetes.io/instance: nginx-gateway
331331
app.kubernetes.io/name: nginx-gateway
332-
app.kubernetes.io/version: edge
332+
app.kubernetes.io/version: 2.0.0
333333
name: nginx-gateway-cert-generator
334334
namespace: nginx-gateway
335335
spec:
@@ -349,8 +349,8 @@ spec:
349349
valueFrom:
350350
fieldRef:
351351
fieldPath: metadata.namespace
352-
image: ghcr.io/nginx/nginx-gateway-fabric:edge
353-
imagePullPolicy: Always
352+
image: ghcr.io/nginx/nginx-gateway-fabric:2.0.0
353+
imagePullPolicy: IfNotPresent
354354
name: cert-generator
355355
securityContext:
356356
allowPrivilegeEscalation: false
@@ -375,7 +375,7 @@ metadata:
375375
labels:
376376
app.kubernetes.io/instance: nginx-gateway
377377
app.kubernetes.io/name: nginx-gateway
378-
app.kubernetes.io/version: edge
378+
app.kubernetes.io/version: 2.0.0
379379
name: nginx
380380
spec:
381381
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -391,7 +391,7 @@ metadata:
391391
labels:
392392
app.kubernetes.io/instance: nginx-gateway
393393
app.kubernetes.io/name: nginx-gateway
394-
app.kubernetes.io/version: edge
394+
app.kubernetes.io/version: 2.0.0
395395
name: nginx-gateway-config
396396
namespace: nginx-gateway
397397
spec:
@@ -404,17 +404,17 @@ metadata:
404404
labels:
405405
app.kubernetes.io/instance: nginx-gateway
406406
app.kubernetes.io/name: nginx-gateway
407-
app.kubernetes.io/version: edge
407+
app.kubernetes.io/version: 2.0.0
408408
name: nginx-gateway-proxy-config
409409
namespace: nginx-gateway
410410
spec:
411411
kubernetes:
412412
deployment:
413413
container:
414414
image:
415-
pullPolicy: Always
415+
pullPolicy: IfNotPresent
416416
repository: ghcr.io/nginx/nginx-gateway-fabric/nginx
417-
tag: edge
417+
tag: 2.0.0
418418
pod:
419419
nodeSelector:
420420
kubernetes.io/os: linux

0 commit comments

Comments
 (0)