Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.5.0 #2778

Merged
merged 14 commits into from
Nov 20, 2024
54 changes: 54 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,60 @@ This document includes a curated changelog for each release. We also publish a c
a [GitHub release](https://github.com/nginxinc/nginx-gateway-fabric/releases), which, by contrast, is auto-generated
and includes links to all PRs that went into the release.

## Release 1.5.0

_November 20, 2024_

BREAKING CHANGES:

- 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)

FEATURES:

- Add support to retain client IP information. [2284](https://github.com/nginxinc/nginx-gateway-fabric/pull/2284)
salonichf5 marked this conversation as resolved.
Show resolved Hide resolved
- Add the ability to configure data plane error log level. [2603](https://github.com/nginxinc/nginx-gateway-fabric/pull/2603)
- 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)
salonichf5 marked this conversation as resolved.
Show resolved Hide resolved
- Reduce logging verbosity of default Info log level. [2455](https://github.com/nginxinc/nginx-gateway-fabric/pull/2455)

BUG FIXES:

- Stream status_zone directive is no longer set if its value is empty. [2684](https://github.com/nginxinc/nginx-gateway-fabric/pull/2684)
- 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)
salonichf5 marked this conversation as resolved.
Show resolved Hide resolved
- 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)

DOCUMENTATION:

salonichf5 marked this conversation as resolved.
Show resolved Hide resolved
- 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)
- 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)
- 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)
- Fix indentation in lifecycle examples. [2588](https://github.com/nginxinc/nginx-gateway-fabric/pull/2588). Thanks to [Derek F](https://github.com/defrank).

HELM CHART:

- The version of the Helm chart is now 1.5.0
- Add `loadBalancerSourceRanges` to helm parameters to use during install/upgrade. [2773](https://github.com/nginxinc/nginx-gateway-fabric/pull/2773)
- Add `loadBalancerIP` as a helm parameter to use during install/upgrade. [2766](https://github.com/nginxinc/nginx-gateway-fabric/pull/2766)
- Add Helm schema. [2492](https://github.com/nginxinc/nginx-gateway-fabric/pull/2492)
- Add capability to configure `topologySpreadConstraints`. [2703](https://github.com/nginxinc/nginx-gateway-fabric/pull/2703). Thanks to [Robsta86](https://github.com/Robsta86)

DEPENDENCIES:

- NGINX Plus was updated to R33. [2760](https://github.com/nginxinc/nginx-gateway-fabric/pull/2760)
- Update to v1.2.0 of the Gateway API. [2694](https://github.com/nginxinc/nginx-gateway-fabric/pull/2694)

COMPATIBILITY:

- Gateway API version: `1.2.0`
- NGINX version: `1.27.2`
- NGINX Plus version: `R33`
- Kubernetes version: `1.25+`

CONTAINER IMAGES:

- Control plane: `ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0`
- Data plane: `ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.5.0`
- Data plane with NGINX Plus: `private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.5.0`

## Release 1.4.0

_August 20, 2024_
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# variables that should not be overridden by the user
VERSION = edge
VERSION = 1.5.0
SELF_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
CHART_DIR = $(SELF_DIR)charts/nginx-gateway-fabric
NGINX_CONF_DIR = internal/mode/static/nginx/conf
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ You can find the comprehensive NGINX Gateway Fabric user documentation on the [N
We publish NGINX Gateway Fabric releases on GitHub. See
our [releases page](https://github.com/nginxinc/nginx-gateway-fabric/releases).

The latest release is [1.4.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.4.0).
The latest release is [1.5.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.5.0).
salonichf5 marked this conversation as resolved.
Show resolved Hide resolved

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

| Version | Description | Installation Manifests | Documentation and Examples |
|----------------|------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 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). |
| 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). |
| 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). |

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

| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS | NGINX Plus |
|----------------------|-------------|------------|-----------|------------|
| Edge | 1.2.0 | 1.25+ | 1.27.2 | R32 |
| Edge | 1.2.0 | 1.25+ | 1.27.2 | R33 |
| 1.5.0 | 1.2.0 | 1.25+ | 1.27.2 | R33 |
| 1.4.0 | 1.1.0 | 1.25+ | 1.27.1 | R32 |
| 1.3.0 | 1.1.0 | 1.25+ | 1.27.0 | R32 |
| 1.2.0 | 1.0.0 | 1.23+ | 1.25.4 | R31 |
Expand Down
4 changes: 2 additions & 2 deletions charts/nginx-gateway-fabric/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: nginx-gateway-fabric
description: NGINX Gateway Fabric
type: application
version: 1.4.0
appVersion: "edge"
version: 1.5.0
appVersion: "1.5.0"
kubeVersion: ">= 1.25.0-0"
home: https://github.com/nginxinc/nginx-gateway-fabric
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/charts/nginx-gateway-fabric/chart-icon.png
Expand Down
10 changes: 5 additions & 5 deletions charts/nginx-gateway-fabric/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# NGINX Gateway Fabric Helm Chart

![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)
![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)

- [NGINX Gateway Fabric Helm Chart](#nginx-gateway-fabric-helm-chart)
- [Introduction](#introduction)
Expand Down Expand Up @@ -263,9 +263,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
| `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. | object | `{}` |
| `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` |
| `nginx.extraVolumeMounts` | extraVolumeMounts are the additional volume mounts for the nginx container. | list | `[]` |
| `nginx.image.pullPolicy` | | string | `"Always"` |
| `nginx.image.pullPolicy` | | string | `"IfNotPresent"` |
| `nginx.image.repository` | The NGINX image to use. | string | `"ghcr.io/nginxinc/nginx-gateway-fabric/nginx"` |
| `nginx.image.tag` | | string | `"edge"` |
| `nginx.image.tag` | | string | `"1.5.0"` |
| `nginx.lifecycle` | The lifecycle of the nginx container. | object | `{}` |
| `nginx.plus` | Is NGINX Plus image being used | bool | `false` |
| `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 | `""` |
Expand All @@ -281,9 +281,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
| `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"` |
| `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"` |
| `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` |
| `nginxGateway.image.pullPolicy` | | string | `"Always"` |
| `nginxGateway.image.pullPolicy` | | string | `"IfNotPresent"` |
| `nginxGateway.image.repository` | The NGINX Gateway Fabric image to use | string | `"ghcr.io/nginxinc/nginx-gateway-fabric"` |
| `nginxGateway.image.tag` | | string | `"edge"` |
| `nginxGateway.image.tag` | | string | `"1.5.0"` |
| `nginxGateway.kind` | The kind of the NGINX Gateway Fabric installation - currently, only deployment is supported. | string | `"deployment"` |
| `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` |
| `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 "". |
Expand Down
8 changes: 4 additions & 4 deletions charts/nginx-gateway-fabric/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@
"image": {
"properties": {
"pullPolicy": {
"default": "Always",
"default": "IfNotPresent",
"enum": [
"Always",
"IfNotPresent",
Expand All @@ -236,7 +236,7 @@
"type": "string"
},
"tag": {
"default": "edge",
"default": "1.5.0",
"required": [],
"title": "tag",
"type": "string"
Expand Down Expand Up @@ -394,7 +394,7 @@
"image": {
"properties": {
"pullPolicy": {
"default": "Always",
"default": "IfNotPresent",
"enum": [
"Always",
"IfNotPresent",
Expand All @@ -411,7 +411,7 @@
"type": "string"
},
"tag": {
"default": "edge",
"default": "1.5.0",
"required": [],
"title": "tag",
"type": "string"
Expand Down
8 changes: 4 additions & 4 deletions charts/nginx-gateway-fabric/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,14 @@ nginxGateway:
image:
# -- The NGINX Gateway Fabric image to use
repository: ghcr.io/nginxinc/nginx-gateway-fabric
tag: edge
tag: 1.5.0
# @schema
# enum:
# - Always
# - IfNotPresent
# - Never
# @schema
pullPolicy: Always
pullPolicy: IfNotPresent

securityContext:
# -- Some environments may need this set to true in order for the control plane to successfully reload NGINX.
Expand Down Expand Up @@ -122,14 +122,14 @@ nginx:
image:
# -- The NGINX image to use.
repository: ghcr.io/nginxinc/nginx-gateway-fabric/nginx
tag: edge
tag: 1.5.0
# @schema
# enum:
# - Always
# - IfNotPresent
salonichf5 marked this conversation as resolved.
Show resolved Hide resolved
# - Never
# @schema
pullPolicy: Always
pullPolicy: IfNotPresent

# -- Is NGINX Plus image being used
plus: false
Expand Down
14 changes: 7 additions & 7 deletions config/tests/static-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ metadata:
labels:
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/version: "edge"
app.kubernetes.io/version: "1.5.0"
spec:
replicas: 1
selector:
Expand All @@ -23,8 +23,8 @@ spec:
spec:
initContainers:
- name: copy-nginx-config
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
imagePullPolicy: Always
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
imagePullPolicy: IfNotPresent
command:
- /usr/bin/gateway
- copy
Expand Down Expand Up @@ -72,8 +72,8 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.name
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
imagePullPolicy: Always
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- name: health
Expand Down Expand Up @@ -109,8 +109,8 @@ spec:
mountPath: /var/run/nginx
- name: nginx-includes
mountPath: /etc/nginx/includes
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
imagePullPolicy: Always
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.5.0
imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
Expand Down
28 changes: 14 additions & 14 deletions deploy/aws-nlb/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-gateway
namespace: nginx-gateway
---
Expand All @@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-gateway
rules:
- apiGroups:
Expand Down Expand Up @@ -131,7 +131,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
Expand All @@ -151,7 +151,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-includes-bootstrap
namespace: nginx-gateway
---
Expand All @@ -164,7 +164,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-gateway
namespace: nginx-gateway
spec:
Expand All @@ -189,7 +189,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-gateway
namespace: nginx-gateway
spec:
Expand Down Expand Up @@ -230,8 +230,8 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.name
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
imagePullPolicy: Always
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
Expand Down Expand Up @@ -269,8 +269,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
imagePullPolicy: Always
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.5.0
imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
Expand Down Expand Up @@ -311,8 +311,8 @@ spec:
- /includes/main.conf
- --destination
- /etc/nginx/main-includes
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
imagePullPolicy: Always
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.5.0
imagePullPolicy: IfNotPresent
name: copy-nginx-config
securityContext:
capabilities:
Expand Down Expand Up @@ -361,7 +361,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
Expand All @@ -372,7 +372,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
app.kubernetes.io/version: edge
app.kubernetes.io/version: 1.5.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
Expand Down
Loading