Skip to content

Commit

Permalink
Update release docs in main branch (nginx#1748)
Browse files Browse the repository at this point in the history
  • Loading branch information
sjberman authored Mar 21, 2024
1 parent e9df8b8 commit cf8cd44
Show file tree
Hide file tree
Showing 16 changed files with 110 additions and 36 deletions.
5 changes: 5 additions & 0 deletions .github/CHANGELOG_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,15 @@ UPGRADE:

-

KNOWN ISSUES:

-

COMPATIBILITY:

- The Gateway API version: ``
- NGINX version: ``
- NGINX Plus version: ``
- Kubernetes version: ``

CONTAINER IMAGES:
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@ jobs:
include: "deploy/helm-chart/*.yaml"
regex: false

- name: Find and Replace
uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2
with:
find: ${{ steps.vars.outputs.current_version }}
replace: ${{ inputs.version }}
include: "deploy/helm-chart/*.yaml"
regex: false

- name: Find and Replace
uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2
with:
Expand All @@ -61,10 +69,11 @@ jobs:
- name: Generate manifests and changelog
run: |
sed -i -e "s/v${{ steps.vars.outputs.current_version }}/v${{ inputs.version }}/g" README.md
sed -i -e "s/\[${{ steps.vars.outputs.current_version }}\]/\[${{ inputs.version }}\]/g" README.md
sed -i -e "s/VERSION = edge/VERSION = ${{ inputs.version }}/g" Makefile
sed -i -e "s/VERSION = ${{ steps.vars.outputs.current_version }}/VERSION = ${{ inputs.version }}/g" conformance/Makefile
sed -i -e "s/TAG = edge/TAG = ${{ inputs.version }}/g" **/Makefile
sed -i "5r .github/CHANGELOG_TEMPLATE.md" CHANGELOG.md
sed -i "6r .github/CHANGELOG_TEMPLATE.md" CHANGELOG.md
sed -i -e "s/%%VERSION%%/${{ inputs.version }}/g" CHANGELOG.md
make generate-manifests
Expand All @@ -74,6 +83,7 @@ jobs:
token: ${{ secrets.NGINX_PAT }}
commit-message: Release ${{ inputs.version }}
title: Release ${{ inputs.version }}
draft: true
branch: docs/release-${{ inputs.version }}
author: nginx-bot <[email protected]>
committer: nginx-bot <[email protected]>
Expand Down
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,59 @@ 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.2.0

*March 21, 2024*

FEATURES:

- [NGINX Plus](https://docs.nginx.com/nginx-gateway-fabric/overview/nginx-plus) can now be used as the data plane. [PR-1394](https://github.com/nginxinc/nginx-gateway-fabric/pull/1394)
- Supports dynamic upstream reloads. [PR-1469](https://github.com/nginxinc/nginx-gateway-fabric/pull/1469)
- Contains advanced Prometheus metrics. [PR-1394](https://github.com/nginxinc/nginx-gateway-fabric/pull/1394)
- Includes the NGINX Plus monitoring dashboard. [PR-1488](https://github.com/nginxinc/nginx-gateway-fabric/pull/1488)
- Support for [BackendTLSPolicy](https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/). [PR-1487](https://github.com/nginxinc/nginx-gateway-fabric/pull/1487)
- Support for URLRewrite HTTPRoute Filter. [PR-1396](https://github.com/nginxinc/nginx-gateway-fabric/pull/1396)
- NGINX Gateway Fabric will collect and report product telemetry to an F5 telemetry service every 24h. Read https://docs.nginx.com/nginx-gateway-fabric/overview/product-telemetry/ for more info, including what gets collected and how to opt out. [PR-1699](https://github.com/nginxinc/nginx-gateway-fabric/pull/1699)

ENHANCEMENTS:

- Stop processing resources that haven't changed. [PR-1422](https://github.com/nginxinc/nginx-gateway-fabric/pull/1422) Thanks to [Kai-Hsun Chen](https://github.com/kevin85421).
- Maintain Gateway Status order. [PR-1324](https://github.com/nginxinc/nginx-gateway-fabric/pull/1324) Thanks to [Kai-Hsun Chen](https://github.com/kevin85421).

BUG FIXES:

- Prevent paths in HTTPRoute matches from conflicting with internal locations in NGINX. [PR-1445](https://github.com/nginxinc/nginx-gateway-fabric/pull/1445)

DOCUMENTATION:

- Sample Grafana dashboard added. [PR-1620](https://github.com/nginxinc/nginx-gateway-fabric/pull/1620)
- Add a document about how to get support. [PR-1388](https://github.com/nginxinc/nginx-gateway-fabric/pull/1388)
- [Documentation](https://docs.nginx.com/nginx-gateway-fabric/installation/ngf-images) on how to build or install the NGINX Plus image.

HELM CHART:

- The version of the Helm chart is now 1.2.0
- nodeSelector is now configurable. [PR-1531](https://github.com/nginxinc/nginx-gateway-fabric/pull/1531) Thanks to [Leandro Martins](https://github.com/leandrocostam)

KNOWN ISSUES:

- Shutdown of non-leader Pods starts leader jobs. [1738](https://github.com/nginxinc/nginx-gateway-fabric/issues/1738)
- Too many matching conditions can cause reload errors. [1107](https://github.com/nginxinc/nginx-gateway-fabric/issues/1107)
- NGF Pod fails to become ready due to nginx reload failure. [1695](https://github.com/nginxinc/nginx-gateway-fabric/issues/1695)

COMPATIBILITY:

- The Gateway API version: `1.0.0`
- NGINX version: `1.25.4`
- NGINX Plus version: `R31`
- Kubernetes version: `1.23+`

CONTAINER IMAGES:

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

## Release 1.1.0

*December 14, 2023*
Expand Down
5 changes: 3 additions & 2 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.1.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.1.0).
The latest release is [1.2.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.2.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-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.1.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.1.0/examples). |
| 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). |
| 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 @@ -67,6 +67,7 @@ The following table lists the software versions NGINX Gateway Fabric supports.
| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS | NGINX Plus |
| -------------------- | ----------- | ---------- | --------- | ---------- |
| Edge | 1.0.0 | 1.23+ | 1.25.4 | R31 |
| 1.2.0 | 1.0.0 | 1.23+ | 1.25.4 | R31 |
| 1.1.0 | 1.0.0 | 1.23+ | 1.25.3 | n/a |
| 1.0.0 | 0.8.1 | 1.23+ | 1.25.2 | n/a |
| 0.6.0 | 0.8.0 | 1.23+ | 1.25.2 | n/a |
Expand Down
2 changes: 1 addition & 1 deletion conformance/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
TAG = edge
VERSION = 1.1.0 # NGF version
VERSION = 1.2.0 # NGF version
PREFIX = nginx-gateway-fabric
NGINX_PREFIX = $(PREFIX)/nginx
NGINX_PLUS_PREFIX ?= $(PREFIX)/nginx-plus
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm-chart/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: nginx-gateway-fabric
description: NGINX Gateway Fabric
type: application
version: 1.1.0
version: 1.2.0
appVersion: "edge"
home: https://github.com/nginxinc/nginx-gateway-fabric
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/deploy/helm-chart/chart-icon.png
Expand Down
15 changes: 10 additions & 5 deletions docs/developer/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,22 @@ To create a new release, follow these steps:
- Build NGF, NGINX and NGINX Plus container images with the release tag `X.Y.Z` and push them to the registries.
- Package and publish the Helm chart to the registry.
- Create a GitHub release with an autogenerated changelog and attached release artifacts.
10. Prepare and merge a PR into the main branch to update the [README](/README.md) to include the information about
the latest release and also the [changelog](/CHANGELOG.md). Also update any installation instructions to ensure
that the supported Gateway API and NGF versions are correct. Specifically, helm README and `site/content/includes/installation/install-gateway-api-resources.md`.
10. Prepare and merge a PR into the main branch to update with similar information that you did in the release
branch docs PR. Specifically:
1. [README](/README.md) to include the information about the latest release.
2. [changelog](/CHANGELOG.md).
3. Helm chart `version` field.
4. `VERSION` in top-level Makefile.
5. Any references in the docs to the previous release.
6. Any installation instructions to ensure that the supported Gateway API and NGF versions are correct.Specifically, helm README and `site/content/includes/installation/install-gateway-api-resources.md`.
11. Update the production branch to the latest release branch in [Netlify](https://app.netlify.com/sites/nginx-gateway-fabric/configuration/deploys#branches-and-deploy-contexts). If it's your first time, log in using Gitlab SSO and ask the docs team for permission to access the NGF project. Once the branch is updated, redeploy the docs in Netlify. Verify that the Netlify deploy passes and that the published docs look good (no obvious errors or issues).
12. Close the issue created in Step 1.
13. Ensure that the [associated milestone](https://github.com/nginxinc/nginx-gateway-fabric/milestones) is closed.
14. Verify that published artifacts in the release can be installed properly.
15. Submit the `conformance-profile.yaml` artifact from the release to the [Gateway API repo](https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports).
- Create a fork of the repository
- Name the file `nginxinc-nginx-gateway-fabric.yaml` and set `gatewayAPIVersion` in the file to the
supported version by NGF. Also update the site source if necessary (see following example).
- Name the file `<version>-report.yaml` and set `gatewayAPIVersion` in the file to the
supported version by NGF. Update the README in the ngf directory and update the site source if necessary (see following example).
- Open a PR. [Example](https://github.com/kubernetes-sigs/gateway-api/pull/2514)
If it's your first time submitting a PR, you will need to sign a CLA using F5, Inc. as the organization.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ For example, an application can be exposed using a routing rule like below:
port: 80
```
{{< note >}}See the [Cafe example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.1.0/examples/cafe-example) for a basic example.{{< /note >}}
{{< note >}}See the [Cafe example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/examples/cafe-example) for a basic example.{{< /note >}}
The upgrade methods in the next sections cover:
Expand Down Expand Up @@ -122,4 +122,4 @@ By updating the rule you can further increase the share of traffic the new versi
weight: 1
```

See the [Traffic splitting example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.1.0/examples/traffic-splitting) from our repository.
See the [Traffic splitting example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/examples/traffic-splitting) from our repository.
4 changes: 2 additions & 2 deletions site/content/how-to/traffic-management/advanced-routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The goal is to create a set of rules that will result in client requests being s
Begin by deploying the `coffee-v1` and `coffee-v2` applications:

```shell
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/examples/advanced-routing/coffee.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/examples/advanced-routing/coffee.yaml
```

### Deploy the Gateway API Resources for the Coffee Applications
Expand Down Expand Up @@ -154,7 +154,7 @@ Let's deploy a different set of applications now called `tea` and `tea-post`. Th
### Deploy the Tea Applications

```shell
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/examples/advanced-routing/tea.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/examples/advanced-routing/tea.yaml
```

### Deploy the HTTPRoute for the Tea Services
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
docs: "DOCS-1438"
---

{{<note>}}The [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the standard channel must be installed before deploying NGINX Gateway Fabric. If they are already installed in your cluster, please ensure they are the correct version as supported by the NGINX Gateway Fabric - [see the Technical Specifications](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.1.0/README.md#technical-specifications).{{</note>}}
{{<note>}}The [Gateway API resources](https://github.com/kubernetes-sigs/gateway-api) from the standard channel must be installed before deploying NGINX Gateway Fabric. If they are already installed in your cluster, please ensure they are the correct version as supported by the NGINX Gateway Fabric - [see the Technical Specifications](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.2.0/README.md#technical-specifications).{{</note>}}

To install the Gateway API resources, run the following:

Expand Down
6 changes: 3 additions & 3 deletions site/content/installation/expose-nginx-gateway-fabric.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This gateway is associated with the NGINX Gateway Fabric through the **gatewayCl
To create a **NodePort** service run the following command:

```shell
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/deploy/manifests/service/nodeport.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/deploy/manifests/service/nodeport.yaml
```

A **NodePort** service allocates a port on every cluster node. Access NGINX Gateway Fabric using any node's IP address and the allocated port.
Expand All @@ -37,7 +37,7 @@ To create a **LoadBalancer** service, use the appropriate manifest for your clou
1. Run the following command:

```shell
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/deploy/manifests/service/loadbalancer.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/deploy/manifests/service/loadbalancer.yaml
```

2. Lookup the public IP of the load balancer, which is reported in the `EXTERNAL-IP` column in the output of the following command:
Expand All @@ -53,7 +53,7 @@ To create a **LoadBalancer** service, use the appropriate manifest for your clou
1. Run the following command:

```shell
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/deploy/manifests/service/loadbalancer-aws-nlb.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/deploy/manifests/service/loadbalancer-aws-nlb.yaml
```

2. In AWS, the NLB (Network Load Balancer) DNS (directory name system) name will be reported by Kubernetes instead of a public IP in the `EXTERNAL-IP` column. To get the DNS name, run:
Expand Down
2 changes: 1 addition & 1 deletion site/content/installation/installing-ngf/helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K

## Additional configuration

For a full list of the Helm Chart configuration parameters, read [the NGINX Gateway Fabric Helm Chart](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.1.0/deploy/helm-chart/README.md#configuration).
For a full list of the Helm Chart configuration parameters, read [the NGINX Gateway Fabric Helm Chart](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.2.0/deploy/helm-chart/README.md#configuration).

## Next steps

Expand Down
14 changes: 7 additions & 7 deletions site/content/installation/installing-ngf/manifests.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Deploying NGINX Gateway Fabric with Kubernetes manifests takes only a few steps.
#### Stable release

```shell
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/crds.yaml
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/crds.yaml
```

#### Edge version
Expand All @@ -56,12 +56,12 @@ Deploying NGINX Gateway Fabric with Kubernetes manifests takes only a few steps.
##### For NGINX

```shell
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-gateway.yaml
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-gateway.yaml
```

##### For NGINX Plus

Download the [deployment YAML](https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-plus-gateway.yaml).
Download the [deployment YAML](https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-plus-gateway.yaml).

Update the `nginx-plus-gateway.yaml` file to include your chosen NGINX Plus image from the F5 Container registry or your custom image.

Expand Down Expand Up @@ -164,14 +164,14 @@ To upgrade NGINX Gateway Fabric and get the latest features and improvements, ta
- To upgrade the Custom Resource Definitions (CRDs), run:

```shell
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/crds.yaml
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/crds.yaml
```

1. **Upgrade NGINX Gateway Fabric deployment:**
- To upgrade the deployment, run:

```shell
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-gateway.yaml
kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-gateway.yaml
```


Expand Down Expand Up @@ -234,11 +234,11 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K
- To remove NGINX Gateway Fabric and its custom resource definitions (CRDs), run:

```shell
kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-gateway.yaml
kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-gateway.yaml
```

```shell
kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/crds.yaml
kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/crds.yaml
```

1. **Remove the Gateway API resources:**
Expand Down
Loading

0 comments on commit cf8cd44

Please sign in to comment.