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 0.3.0 #589

Merged
merged 2 commits into from
Apr 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,45 @@

This document includes a curated changelog for each release. We also publish a changelog as the description of a [GitHub release](https://github.com/nginxinc/nginx-kubernetes-gateway/releases), which, by contrast, is auto-generated and includes links to all PRs that went into the release.

## Release 0.3.0

*April 24, 2023*

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

FEATURES:
* Report proper Conditions in status of HTTPRoute and Gateway when GatewayClass is invalid or doesn't exist. [PR-576](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/576)
* Implement NKG-specific field validation for GatewayClasses. [PR-295](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/495)
* Implement NKG-specific field validation for HTTPRoutes. [PR-455](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/455)
* Implement NKG-specific field validation for Gateways. [PR-407](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/407)
* Run webhook validation rules inside NKG control plane. [PR-388](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/388)
* Make NGINX error log visible in NGINX container logs. [PR-319](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/319)
* Always generate a root "/" location block in NGINX config to handle unmatched requests with 404 response. [PR-356](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/356)

BUG FIXES:
* Fix HTTPRoute section name related bugs. [PR-568](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/568)
* Fix Observed Generation for Gateway Status. [PR-351](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/351)
* Fix status for parentRef with invalid listener in HTTPRoute. [PR-350](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/350)
* Fix initContainer failure during pod restart. [PR-337](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/337). Thanks to [Tom Plant](https://github.com/pl4nty)
* Generate default http server in NGINX if http listener exists in Gateway. [PR-320](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/320)

DEPENDENCIES:
* Bump sigs.k8s.io/gateway-api from 0.6.0 to 0.6.2. [PR-471](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/471)

COMPATIBILITY:
- The Gateway API version: `0.6.2`
- NGINX version: `1.21.x` *
- Kubernetes version: `1.21+`

\*the installation manifests use the `nginx:1.21` image, which always points to the latest version of 1.21.x releases.

CONTAINER IMAGES:
- Control plane: `ghcr.io/nginxinc/nginx-kubernetes-gateway:0.3.0`

## Release 0.2.0

*October 25, 2022*
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION = edge
VERSION = 0.3.0
TAG = $(VERSION)
PREFIX ?= nginx-kubernetes-gateway

Expand Down Expand Up @@ -46,7 +46,7 @@ deps: ## Add missing and remove unused modules, verify deps and download them to

.PHONY: create-kind-cluster
create-kind-cluster: ## Create a kind cluster
kind create cluster --image kindest/node:v1.26.0
kind create cluster --image kindest/node:v1.27.1
kind export kubeconfig --kubeconfig $(KIND_KUBE_CONFIG_FOLDER)/config

.PHONY: delete-kind-cluster
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ For a list of supported Gateway API resources and features, see the [Gateway API

We publish NGINX Kubernetes Gateway releases on GitHub. See our [releases page](https://github.com/nginxinc/nginx-kubernetes-gateway/releases).

The latest release is [0.2.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.2.0).
The latest release is [0.3.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.3.0).

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-kubernetes-gateway/commits/main) from the main branch.

Expand All @@ -35,7 +35,7 @@ The table below summarizes the options regarding the images, manifests, document

| Version | Description | Image | Installation Manifests | Documentation and Examples |
|-|-|-|-|-|
| Latest release | For experimental use | Use the 0.2.0 image from [GitHub](https://github.com/nginxinc/nginx-kubernetes-gateway/pkgs/container/nginx-kubernetes-gateway) | [Manifests](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.2.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.2.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.2.0/examples). |
| Latest release | For experimental use | Use the 0.3.0 image from [GitHub](https://github.com/nginxinc/nginx-kubernetes-gateway/pkgs/container/nginx-kubernetes-gateway) | [Manifests](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.3.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.3.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.3.0/examples). |
| Edge| For experimental use and latest features | Use the edge image from [GitHub](https://github.com/nginxinc/nginx-kubernetes-gateway/pkgs/container/nginx-kubernetes-gateway) | [Manifests](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/examples). |
## Technical Specifications

Expand All @@ -44,6 +44,7 @@ The following table lists the software versions NGINX Kubernetes Gateway support
| NGINX Kubernetes Gateway | Gateway API | Kubernetes | NGINX OSS |
|-|-|-|-|
| Edge | 0.6.2 | 1.21+ | 1.21.x *|
| 0.3.0 | 0.6.2 | 1.21+ | 1.21.x *|
| 0.2.0 | 0.5.1 | 1.21+ | 1.21.x *|
| 0.1.0 | 0.5.0 | 1.19+ | 1.21.3 |

Expand Down
4 changes: 2 additions & 2 deletions deploy/manifests/nginx-gateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ spec:
- name: nginx-config
mountPath: /etc/nginx
containers:
- image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge
imagePullPolicy: Always
- image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.3.0
imagePullPolicy: IfNotPresent
name: nginx-gateway
volumeMounts:
- name: nginx-config
Expand Down
6 changes: 3 additions & 3 deletions docs/building-the-image.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Before you can build the NGINX Kubernetes Gateway, make sure you have the follow
1. Clone the repo and change into the `nginx-kubernetes-gateway` directory:

```
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.3.0
cd nginx-kubernetes-gateway
```

Expand All @@ -22,12 +22,12 @@ Before you can build the NGINX Kubernetes Gateway, make sure you have the follow
make PREFIX=myregistry.example.com/nginx-kubernetes-gateway container
```

Set the `PREFIX` variable to the name of the registry you'd like to push the image to. By default, the image will be named `nginx-kubernetes-gateway:edge`.
Set the `PREFIX` variable to the name of the registry you'd like to push the image to. By default, the image will be named `nginx-kubernetes-gateway:0.3.0`.

1. Push the image to your container registry:

```
docker push myregistry.example.com/nginx-kubernetes-gateway:edge
docker push myregistry.example.com/nginx-kubernetes-gateway:0.3.0
```

Make sure to substitute `myregistry.example.com/nginx-kubernetes-gateway` with your registry.
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This guide walks you through how to install NGINX Kubernetes Gateway on a generi
1. Clone the repo and change into the `nginx-kubernetes-gateway` directory:

```
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.3.0
cd nginx-kubernetes-gateway
```

Expand Down