Skip to content

Commit

Permalink
Update release version and process doc
Browse files Browse the repository at this point in the history
Also fixed the conformance profile job to ensure it includes a profile for experimental features.
  • Loading branch information
sjberman committed Aug 20, 2024
1 parent 9a2c91b commit bad0991
Show file tree
Hide file tree
Showing 21 changed files with 115 additions and 67 deletions.
2 changes: 1 addition & 1 deletion .github/CHANGELOG_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ KNOWN ISSUES:

COMPATIBILITY:

- The Gateway API version: ``
- Gateway API version: ``
- NGINX version: ``
- NGINX Plus version: ``
- Kubernetes version: ``
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ jobs:
working-directory: ./tests

- name: Upload profile to release
if: ${{ startsWith(github.ref, 'refs/tags/') }}
if: ${{ startsWith(github.ref, 'refs/tags/') && inputs.enable-experimental == 'true' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{ github.ref_name }} conformance-profile.yaml --clobber
Expand Down
67 changes: 57 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,53 @@ 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.4.0

_August 20, 2024_

FEATURES:

- Support IPv6. [2190](https://github.com/nginxinc/nginx-gateway-fabric/pull/2190)
- Add support for TLS Passthrough using TLSRoutes. [2356](https://github.com/nginxinc/nginx-gateway-fabric/pull/2356)
- Support cross-namespace routing with TLSRoutes. [2379](https://github.com/nginxinc/nginx-gateway-fabric/pull/2379)
- Added server_zone metrics for NGINX Plus users. [2360](https://github.com/nginxinc/nginx-gateway-fabric/pull/2360)

BUG FIXES:

- Fixed issue where NGF Pod cannot recover if NGINX master process fails without cleaning up. [2131](https://github.com/nginxinc/nginx-gateway-fabric/pull/2131)
- Leader election couldn't be disabled. [2307](https://github.com/nginxinc/nginx-gateway-fabric/pull/2307)
- Disallow routes from attaching to listeners if not present in allowed routes. [2314](https://github.com/nginxinc/nginx-gateway-fabric/pull/2314)
- Honor ReferenceGrants that allow GRPCRoutes to reference Services in different namespaces. [2337](https://github.com/nginxinc/nginx-gateway-fabric/pull/2337)
- Fixed an issue that prevented ClientSettingsPolicies and ObservabilityPolicies from working when attached to an HTTPRoute where matching conditions were defined. [2318](https://github.com/nginxinc/nginx-gateway-fabric/pull/2318)
- Replace TODO route condition with an Accepted/False condition. [2228](https://github.com/nginxinc/nginx-gateway-fabric/pull/2228)

DOCUMENTATION:

- Enhanced the troubleshooting guide with more details and scenarios. [2141](https://github.com/nginxinc/nginx-gateway-fabric/pull/2141)
- Update kubectl exec syntax to remove deprecation warning. [2218](https://github.com/nginxinc/nginx-gateway-fabric/pull/2218). Thanks [aknot242](https://github.com/aknot242).
- Add info on setting up host network access. [2263](https://github.com/nginxinc/nginx-gateway-fabric/pull/2263). Thanks [fardarter](https://github.com/fardarter).

HELM CHART:

- The version of the Helm chart is now 1.4.0
- Add capability to set resource requests and limits on nginx-gateway deployment. [2216](https://github.com/nginxinc/nginx-gateway-fabric/pull/2216). Thanks to [anwbtom](https://github.com/anwbtom).
- Add capability to configure custom annotations for the nginx-gateway-fabric pod(s). [2250](https://github.com/nginxinc/nginx-gateway-fabric/pull/2250). Thanks to [Robsta86](https://github.com/Robsta86).
- Add helm chart examples. [2292](https://github.com/nginxinc/nginx-gateway-fabric/pull/2292)
- Add seccompProfile. [2323](https://github.com/nginxinc/nginx-gateway-fabric/pull/2323)

COMPATIBILITY:

- Gateway API version: `1.1.0`
- NGINX version: `1.27.1`
- NGINX Plus version: `R32`
- Kubernetes version: `1.25+`

CONTAINER IMAGES:

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

## Release 1.3.0

_June 11, 2024_
Expand Down Expand Up @@ -63,7 +110,7 @@ KNOWN ISSUES:

COMPATIBILITY:

- The Gateway API version: `1.1.0`. This release is not compatible with v1.0.0 of the Gateway API. See the UPGRADE section above for instructions on how to upgrade.
- Gateway API version: `1.1.0`. This release is not compatible with v1.0.0 of the Gateway API. See the UPGRADE section above for instructions on how to upgrade.
- NGINX version: `1.27.0`
- NGINX Plus version: `R32`
- Kubernetes version: `1.25+`
Expand Down Expand Up @@ -116,7 +163,7 @@ KNOWN ISSUES:

COMPATIBILITY:

- The Gateway API version: `1.0.0`
- Gateway API version: `1.0.0`
- NGINX version: `1.25.4`
- NGINX Plus version: `R31`
- Kubernetes version: `1.23+`
Expand Down Expand Up @@ -165,7 +212,7 @@ UPGRADE:

COMPATIBILITY:

- The Gateway API version: `1.0.0`
- Gateway API version: `1.0.0`
- NGINX version: `1.25.3`
- Kubernetes version: `1.23+`

Expand Down Expand Up @@ -206,7 +253,7 @@ DOCUMENTATION:

COMPATIBILITY:

- The Gateway API version: `0.8.1`
- Gateway API version: `0.8.1`
- NGINX version: `1.25.2`
- Kubernetes version: `1.23+`

Expand Down Expand Up @@ -239,7 +286,7 @@ DOCUMENTATION:

COMPATIBILITY:

- The Gateway API version: `0.8.0`
- Gateway API version: `0.8.0`
- NGINX version: `1.25.2`
- Kubernetes version: `1.23+`

Expand Down Expand Up @@ -268,7 +315,7 @@ BUG FIXES:

COMPATIBILITY:

- The Gateway API version: `0.7.1`
- Gateway API version: `0.7.1`
- NGINX version: `1.25.x` \*
- Kubernetes version: `1.21+`

Expand Down Expand Up @@ -327,7 +374,7 @@ DEPENDENCIES:

COMPATIBILITY:

- The Gateway API version: `0.7.1`
- Gateway API version: `0.7.1`
- NGINX version: `1.25.x` \*
- Kubernetes version: `1.21+`

Expand Down Expand Up @@ -373,7 +420,7 @@ DEPENDENCIES:

COMPATIBILITY:

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

Expand Down Expand Up @@ -411,7 +458,7 @@ DEPENDENCIES:

COMPATIBILITY:

- The Gateway API version: `0.5.1`
- Gateway API version: `0.5.1`
- NGINX version: `1.21.x` \*
- Kubernetes version: `1.21+`

Expand Down Expand Up @@ -448,7 +495,7 @@ the [README](https://github.com/nginxinc/nginx-gateway-fabric) to learn how.

COMPATIBILITY:

- The Gateway API version: `0.5.0`
- Gateway API version: `0.5.0`
- NGINX version: `1.21.3`
- Kubernetes version: `1.19+`

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.3.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.3.0).
The latest release is [1.4.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.4.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.3.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.0/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). |
| 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.1.0 | 1.25+ | 1.27.1 | R32 |
| 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 |
| 1.1.0 | 1.0.0 | 1.23+ | 1.25.3 | n/a |
Expand Down
2 changes: 1 addition & 1 deletion charts/nginx-gateway-fabric/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.3.0
version: 1.4.0
appVersion: "edge"
kubeVersion: ">= 1.25.0-0"
home: https://github.com/nginxinc/nginx-gateway-fabric
Expand Down
2 changes: 1 addition & 1 deletion 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.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![AppVersion: edge](https://img.shields.io/badge/AppVersion-edge-informational?style=flat-square)
![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)

- [NGINX Gateway Fabric Helm Chart](#nginx-gateway-fabric-helm-chart)
- [Introduction](#introduction)
Expand Down
8 changes: 4 additions & 4 deletions docs/developer/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ To create a new release, follow these steps:
2. Stop merging any new work into the main branch.
3. Create a release branch following the `release-X.Y` naming convention.
4. Once the release branch pipeline completes, run tests using the `release-X.X-rc` images that are pushed to Github (for example, `release-1.3-rc`).
1. Kick off the [NFR workflow](https://github.com/nginxinc/nginx-gateway-fabric/actions/workflows/nfr.yml) in the browser. For `image_tag`, use `release-X.X-rc`, and for `version`, use the upcoming `X.Y.Z` NGF version. This will run all of the NFR tests which are automated and open a PR with the results files when it is complete. Review this PR and make any necessary changes before merging.
2. Run the [examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/examples) using the release images and verify their correctness.
1. Kick off the [longevity tests](https://github.com/nginxinc/nginx-gateway-fabric/blob/main/tests/README.md#longevity-testing) for both OSS and Plus. You'll need to create two clusters and VMs for this. Before running, update your `vars.env` file with the proper image tag and prefixes. NGF and nginx images will be available from `ghcr.io`, and nginx plus will be available in GCP (`us-docker.pkg.dev/<GCP_PROJECT_ID>/nginx-gateway-fabric/nginx-plus`). These tests need to run for 4 days before releasing. The results should be committed to the main branch and then cherry-picked to the release branch.
2. Kick off the [NFR workflow](https://github.com/nginxinc/nginx-gateway-fabric/actions/workflows/nfr.yml) in the browser. For `image_tag`, use `release-X.X-rc`, and for `version`, use the upcoming `X.Y.Z` NGF version. This will run all of the NFR tests which are automated and open a PR with the results files when it is complete. Review this PR and make any necessary changes before merging. Once merged, be sure to cherry-pick the commit to the main branch as well (the original PR targets the release branch).
5. Run the [Release PR](https://github.com/nginxinc/nginx-gateway-fabric/actions/workflows/release-pr.yml) workflow to update the repo files for the release. Then there are a few manual steps to complete:
1. Update the tag of NGF container images used in the [provisioner manifest](/tests/conformance/provisioner/provisioner.yaml).
1. Update the tag of NGF container images used in the [provisioner manifest](/tests/conformance/provisioner/provisioner.yaml) and [running-on-kind guide](/site/content/installation/running-on-kind.md#set-up-a-nodeport).
2. Update the [README](/README.md) to include information about the release.
3. Update the [changelog](/CHANGELOG.md). There is going to be a new blank section generated by the automation that needs to be adjusted accordingly.
- At the top there will be a list of all PRs that are labeled with `release-notes`.
Expand All @@ -66,7 +66,7 @@ To create a new release, follow these steps:
4. `GW_API_PREV_VERSION` in tests Makefile, if necessary.
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.
8. Ask the docs team to update the production branch for NGF in Netlify to our latest release branch and run the deployment pipeline.
8. Run the [docs workflow](https://github.com/nginxinc/nginx-gateway-fabric/actions/workflows/docs-build-push.yml) for the **release branch**.
9. Close the issue created in Step 1.
10. Ensure that the [associated milestone](https://github.com/nginxinc/nginx-gateway-fabric/milestones) is closed.
11. Verify that published artifacts in the release can be installed properly.
Expand Down
4 changes: 2 additions & 2 deletions site/content/how-to/monitoring/prometheus.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,11 @@ You can configure monitoring metrics for NGINX Gateway Fabric using Helm or Mani

### Using Helm

If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.3.0/charts/nginx-gateway-fabric/README.md).
If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.4.0/charts/nginx-gateway-fabric/README.md).

### Using Kubernetes manifests

For setups using Kubernetes manifests, change the metrics configuration by editing the NGINX Gateway Fabric manifest that you want to deploy. You can find some examples in the [deploy](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.0/deploy) directory.
For setups using Kubernetes manifests, change the metrics configuration by editing the NGINX Gateway Fabric manifest that you want to deploy. You can find some examples in the [deploy](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/deploy) directory.

#### Disabling metrics

Expand Down
2 changes: 1 addition & 1 deletion site/content/how-to/monitoring/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ If you `describe` your Policy and see the following error:
This means you are attempting to attach a Policy to a Route that has an overlapping hostname:port/path combination with another Route. To work around this, you can do one of the following:
- Combine the Route rules for the overlapping path into a single route.
- Combine the Route rules for the overlapping path into a single Route.
- If the Policy allows it, specify both Routes in the `targetRefs` list.
### Further reading
Expand Down
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 @@ -36,7 +36,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.3.0/examples/advanced-routing/coffee.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/examples/advanced-routing/coffee.yaml
```

### Deploy the Gateway API Resources for the Coffee applications
Expand Down Expand Up @@ -156,7 +156,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.3.0/examples/advanced-routing/tea.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/examples/advanced-routing/tea.yaml
```

### Deploy the HTTPRoute for the Tea services
Expand Down
6 changes: 3 additions & 3 deletions site/content/how-to/traffic-management/client-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,19 +45,19 @@ For all the possible configuration options for `ClientSettingsPolicy`, see the [
- Create the coffee and tea example applications:

```yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/examples/client-settings-policy/app.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/examples/client-settings-policy/app.yaml
```

- Create a Gateway:

```yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/examples/client-settings-policy/gateway.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/examples/client-settings-policy/gateway.yaml
```

- Create HTTPRoutes for the coffee and tea applications:

```yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/examples/client-settings-policy/httproutes.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/examples/client-settings-policy/httproutes.yaml
```

- Test the configuration:
Expand Down
2 changes: 1 addition & 1 deletion site/content/how-to/traffic-management/response-headers.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ We'll begin by configuring an app with custom headers and a straightforward HTTP
Begin by deploying the example application `headers`. It is a simple application that adds response headers which we'll later tweak and customize.

```shell
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/examples/http-response-header-filter/headers.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/examples/http-response-header-filter/headers.yaml
```

This will create the headers Service and a Deployment with one Pod. Run the following command to verify the resources were created:
Expand Down
4 changes: 2 additions & 2 deletions site/content/how-to/upgrade-apps-without-downtime.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,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.3.0/examples/cafe-example) for a basic example.{{< /note >}}
{{< note >}}See the [Cafe example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/examples/cafe-example) for a basic example.{{< /note >}}
The upgrade methods in the next sections cover:
Expand Down Expand Up @@ -121,4 +121,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.3.0/examples/traffic-splitting) from our repository.
See the [Traffic splitting example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/examples/traffic-splitting) from our repository.
Loading

0 comments on commit bad0991

Please sign in to comment.