From 803e6d612a9574362bda28868d4410943ffaf66a Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Thu, 31 Aug 2023 09:58:40 -0600 Subject: [PATCH] Release 0.6.0 (#1021) Add changelog and update manifests and documentation for the release. --- CHANGELOG.md | 22 +++++++++++++++++++ Makefile | 2 +- README.md | 7 +++--- conformance/Makefile | 2 +- conformance/provisioner/provisioner.yaml | 2 +- .../provisioner/static-deployment.yaml | 10 ++++----- deploy/helm-chart/Chart.yaml | 6 ++--- deploy/helm-chart/README.md | 6 ++--- deploy/helm-chart/values.yaml | 8 +++---- deploy/manifests/nginx-gateway.yaml | 20 ++++++++--------- .../service/loadbalancer-aws-nlb.yaml | 2 +- deploy/manifests/service/loadbalancer.yaml | 2 +- deploy/manifests/service/nodeport.yaml | 2 +- docs/building-the-images.md | 8 +++---- docs/guides/advanced-routing.md | 4 ++-- docs/installation.md | 2 +- 16 files changed, 64 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebb73780da..ba760ef412 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,28 @@ This document includes a curated changelog for each release. We also publish a c 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.6.0 + +*August 31, 2023* + +This release adds a Helm chart, dynamic control plane logging, Prometheus metrics, and in-depth guides for various use cases. + +FEATURES: + +- Helm chart. [PR-840](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/840) +- Use custom nginx container. [PR-934](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/911) +- Support dynamic control plane logging. [PR-943](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/943) +- Support websocket connections. [PR-962](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/962) +- Support Prometheus metrics. [PR-999](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/999) + +BUG FIXES: + +- Ensure NGINX Kubernetes Gateway has least privileges. [PR-1004](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/1004) + +DOCUMENTATION: + +- Use case guides: https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.0/docs/guides + ## Release 0.5.0 *July 17, 2023* diff --git a/Makefile b/Makefile index 52f371b676..ab6682322d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # variables that should not be overridden by the user -VERSION = edge +VERSION = 0.6.0 GIT_COMMIT = $(shell git rev-parse HEAD || echo "unknown") DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") MANIFEST_DIR = $(shell pwd)/deploy/manifests diff --git a/README.md b/README.md index 1acf4420b9..9ea05d074e 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Learn about our [design principles](/docs/developer/design-principles.md) and [a 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.5.0](https://github.com/nginxinc/nginx-kubernetes-gateway/releases/tag/v0.5.0). +The latest release is [0.6.0](https://github.com/nginxinc/nginx-kubernetes-gateway/releases/tag/v0.6.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) @@ -51,7 +51,7 @@ to the correct versions: | Version | Description | Image | Installation Manifests | Documentation and Examples | |----------------|------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Latest release | For experimental use | Use the 0.5.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.5.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.5.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.5.0/examples). | +| Latest release | For experimental use | Use the 0.6.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.6.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.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 @@ -60,7 +60,8 @@ The following table lists the software versions NGINX Kubernetes Gateway support | NGINX Kubernetes Gateway | Gateway API | Kubernetes | NGINX OSS | |--------------------------|-------------|------------|-----------| -| Edge | 0.8.0 | 1.22+ | 1.25.2 | +| Edge | 0.8.0 | 1.23+ | 1.25.2 | +| 0.6.0 | 0.8.0 | 1.23+ | 1.25.2 | | 0.5.0 | 0.7.1 | 1.21+ | 1.25.x * | | 0.4.0 | 0.7.1 | 1.21+ | 1.25.x * | | 0.3.0 | 0.6.2 | 1.21+ | 1.23.x * | diff --git a/conformance/Makefile b/conformance/Makefile index 72e11145df..10b71ee338 100644 --- a/conformance/Makefile +++ b/conformance/Makefile @@ -1,4 +1,4 @@ -NKG_TAG = edge +NKG_TAG = 0.6.0 NKG_PREFIX = nginx-kubernetes-gateway NGINX_IMAGE_NAME = $(NKG_PREFIX)/nginx GW_API_VERSION ?= 0.8.0 diff --git a/conformance/provisioner/provisioner.yaml b/conformance/provisioner/provisioner.yaml index e7585dc611..1e20132734 100644 --- a/conformance/provisioner/provisioner.yaml +++ b/conformance/provisioner/provisioner.yaml @@ -61,7 +61,7 @@ spec: spec: serviceAccountName: nginx-gateway-provisioner containers: - - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge + - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.6.0 imagePullPolicy: Always name: nginx-gateway-provisioner securityContext: diff --git a/conformance/provisioner/static-deployment.yaml b/conformance/provisioner/static-deployment.yaml index fe2cbd20de..ebcf7a8c52 100644 --- a/conformance/provisioner/static-deployment.yaml +++ b/conformance/provisioner/static-deployment.yaml @@ -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: "0.6.0" spec: # We only support a single replica for now replicas: 1 @@ -38,8 +38,8 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge - imagePullPolicy: Always + image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.6.0 + imagePullPolicy: IfNotPresent name: nginx-gateway securityContext: allowPrivilegeEscalation: false @@ -58,8 +58,8 @@ spec: mountPath: /etc/nginx/secrets - name: nginx-run mountPath: /var/run/nginx - - image: ghcr.io/nginxinc/nginx-kubernetes-gateway/nginx:edge - imagePullPolicy: Always + - image: ghcr.io/nginxinc/nginx-kubernetes-gateway/nginx:0.6.0 + imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 diff --git a/deploy/helm-chart/Chart.yaml b/deploy/helm-chart/Chart.yaml index be6b022242..d03113f956 100644 --- a/deploy/helm-chart/Chart.yaml +++ b/deploy/helm-chart/Chart.yaml @@ -3,11 +3,11 @@ name: nginx-kubernetes-gateway description: NGINX Kubernetes Gateway type: application version: 0.1.0 -appVersion: "edge" +appVersion: "0.6.0" home: https://github.com/nginxinc/nginx-kubernetes-gateway -icon: https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/tree/main/deploy/helm-chart/chart-icon.png +icon: https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.0/deploy/helm-chart/chart-icon.png sources: - - https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/deploy/helm-chart + - https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.0/deploy/helm-chart keywords: - kubernetes - gateway diff --git a/deploy/helm-chart/README.md b/deploy/helm-chart/README.md index d826042764..795b169ecb 100644 --- a/deploy/helm-chart/README.md +++ b/deploy/helm-chart/README.md @@ -30,7 +30,7 @@ To install the chart with the release name `my-release` (`my-release` is the nam nginx-gateway namespace (with optional `--create-namespace` flag - you can omit if the namespace already exists): ```shell -helm install my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --version 0.0.0-edge --create-namespace --wait -n nginx-gateway +helm install my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --version 0.6.0 --create-namespace --wait -n nginx-gateway ``` ### Installing the Chart via Sources @@ -38,7 +38,7 @@ helm install my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway - #### Pulling the Chart ```shell -helm pull oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --untar --version 0.0.0-edge +helm pull oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --untar --version 0.6.0 cd nginx-kubernetes-gateway ``` @@ -83,7 +83,7 @@ Warning: kubectl apply should be used on resource created by either kubectl crea To upgrade the release `my-release`, run: ```shell -helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --version 0.0.0-edge -n nginx-gateway +helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --version 0.6.0 -n nginx-gateway ``` ### Upgrading the Chart from the Sources diff --git a/deploy/helm-chart/values.yaml b/deploy/helm-chart/values.yaml index fd3a77007e..0a9b28cc1a 100644 --- a/deploy/helm-chart/values.yaml +++ b/deploy/helm-chart/values.yaml @@ -17,15 +17,15 @@ nginxGateway: image: ## The NGINX Kubernetes Gateway image to use repository: ghcr.io/nginxinc/nginx-kubernetes-gateway - tag: edge - pullPolicy: Always + tag: 0.6.0 + pullPolicy: IfNotPresent nginx: ## The NGINX image to use image: repository: ghcr.io/nginxinc/nginx-kubernetes-gateway/nginx - tag: edge - pullPolicy: Always + tag: 0.6.0 + pullPolicy: IfNotPresent serviceAccount: annotations: {} diff --git a/deploy/manifests/nginx-gateway.yaml b/deploy/manifests/nginx-gateway.yaml index 129147c3db..6eec27ed3e 100644 --- a/deploy/manifests/nginx-gateway.yaml +++ b/deploy/manifests/nginx-gateway.yaml @@ -12,7 +12,7 @@ metadata: labels: app.kubernetes.io/name: nginx-gateway app.kubernetes.io/instance: nginx-gateway - app.kubernetes.io/version: "edge" + app.kubernetes.io/version: "0.6.0" annotations: {} --- @@ -24,7 +24,7 @@ metadata: labels: app.kubernetes.io/name: nginx-gateway app.kubernetes.io/instance: nginx-gateway - app.kubernetes.io/version: "edge" + app.kubernetes.io/version: "0.6.0" rules: - apiGroups: - "" @@ -90,7 +90,7 @@ metadata: labels: app.kubernetes.io/name: nginx-gateway app.kubernetes.io/instance: nginx-gateway - app.kubernetes.io/version: "edge" + app.kubernetes.io/version: "0.6.0" roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -109,7 +109,7 @@ metadata: labels: app.kubernetes.io/name: nginx-gateway app.kubernetes.io/instance: nginx-gateway - app.kubernetes.io/version: "edge" + app.kubernetes.io/version: "0.6.0" spec: # We only support a single replica for now replicas: 1 @@ -142,8 +142,8 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge - imagePullPolicy: Always + image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.6.0 + imagePullPolicy: IfNotPresent name: nginx-gateway ports: - name: metrics @@ -165,8 +165,8 @@ spec: mountPath: /etc/nginx/secrets - name: nginx-run mountPath: /var/run/nginx - - image: ghcr.io/nginxinc/nginx-kubernetes-gateway/nginx:edge - imagePullPolicy: Always + - image: ghcr.io/nginxinc/nginx-kubernetes-gateway/nginx:0.6.0 + imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 @@ -218,7 +218,7 @@ metadata: labels: app.kubernetes.io/name: nginx-gateway app.kubernetes.io/instance: nginx-gateway - app.kubernetes.io/version: "edge" + app.kubernetes.io/version: "0.6.0" spec: controllerName: gateway.nginx.org/nginx-gateway-controller --- @@ -231,7 +231,7 @@ metadata: labels: app.kubernetes.io/name: nginx-gateway app.kubernetes.io/instance: nginx-gateway - app.kubernetes.io/version: "edge" + app.kubernetes.io/version: "0.6.0" spec: logging: level: info diff --git a/deploy/manifests/service/loadbalancer-aws-nlb.yaml b/deploy/manifests/service/loadbalancer-aws-nlb.yaml index 81efdeaf13..1c167aac70 100644 --- a/deploy/manifests/service/loadbalancer-aws-nlb.yaml +++ b/deploy/manifests/service/loadbalancer-aws-nlb.yaml @@ -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: "0.6.0" annotations: service.beta.kubernetes.io/aws-load-balancer-type: nlb spec: diff --git a/deploy/manifests/service/loadbalancer.yaml b/deploy/manifests/service/loadbalancer.yaml index 1aed2a6aab..ba44e96435 100644 --- a/deploy/manifests/service/loadbalancer.yaml +++ b/deploy/manifests/service/loadbalancer.yaml @@ -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: "0.6.0" spec: externalTrafficPolicy: Local type: LoadBalancer diff --git a/deploy/manifests/service/nodeport.yaml b/deploy/manifests/service/nodeport.yaml index 64c9f3d86a..c76ed749cd 100644 --- a/deploy/manifests/service/nodeport.yaml +++ b/deploy/manifests/service/nodeport.yaml @@ -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: "0.6.0" spec: type: NodePort selector: diff --git a/docs/building-the-images.md b/docs/building-the-images.md index 14ab698c3a..2735bf9df6 100644 --- a/docs/building-the-images.md +++ b/docs/building-the-images.md @@ -15,7 +15,7 @@ installed on your machine: 1. Clone the repo and change into the `nginx-kubernetes-gateway` directory: ```shell - git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git + git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.6.0 cd nginx-kubernetes-gateway ``` @@ -39,13 +39,13 @@ installed on your machine: ``` Set the `PREFIX` variable to the name of the registry you'd like to push the image to. By default, the images will be - named `nginx-kubernetes-gateway:edge` and `nginx-kubernetes-gateway/nginx:edge`. + named `nginx-kubernetes-gateway:0.6.0` and `nginx-kubernetes-gateway/nginx:0.6.0`. 1. Push the images to your container registry: ```shell - docker push myregistry.example.com/nginx-kubernetes-gateway:edge - docker push myregistry.example.com/nginx-kubernetes-gateway/nginx:edge + docker push myregistry.example.com/nginx-kubernetes-gateway:0.6.0 + docker push myregistry.example.com/nginx-kubernetes-gateway/nginx:0.6.0 ``` Make sure to substitute `myregistry.example.com/nginx-kubernetes-gateway` with your registry. diff --git a/docs/guides/advanced-routing.md b/docs/guides/advanced-routing.md index d930b7b6c0..896b5c887a 100644 --- a/docs/guides/advanced-routing.md +++ b/docs/guides/advanced-routing.md @@ -36,7 +36,7 @@ and `coffee` applications share the same Gateway. Begin by deploying the `coffee-v1` and `coffee-v2` applications: ```shell -kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/main/examples/advanced-routing/coffee.yaml +kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/v0.6.0/examples/advanced-routing/coffee.yaml ``` ### Deploy the Gateway API Resources for the Coffee Applications @@ -166,7 +166,7 @@ have their own set of rules, but will still attach to the same Gateway listener ### Deploy the Tea Applications ```shell -kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/main/examples/advanced-routing/tea.yaml +kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/v0.6.0/examples/advanced-routing/tea.yaml ``` ### Deploy the HTTPRoute for the Tea Services diff --git a/docs/installation.md b/docs/installation.md index a6a0f4e7db..af6de0a1e6 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -20,7 +20,7 @@ page. 1. Clone the repo and change into the `nginx-kubernetes-gateway` directory: ```shell - git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git + git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.6.0 cd nginx-kubernetes-gateway ```