Skip to content

Commit

Permalink
Update docs and versions for 1.0 (#1184)
Browse files Browse the repository at this point in the history
Add changelog, update manifests and documentation for the release.
  • Loading branch information
sjberman authored Oct 24, 2023
1 parent b83a812 commit 36bc032
Show file tree
Hide file tree
Showing 16 changed files with 81 additions and 41 deletions.
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,47 @@ 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.0.0

*October 24, 2023*

This is the official v1.0.0 release of NGINX Gateway Fabric.

BREAKING CHANGES:

- Rename the product from NGINX Kubernetes Gateway to NGINX Gateway Fabric. [PR-1070](https://github.com/nginxinc/nginx-gateway-fabric/pull/1070)

FEATURES:

- Add readiness probe. [PR-1047](https://github.com/nginxinc/nginx-gateway-fabric/pull/1047)
- Support horizontal scaling. [PR-1048](https://github.com/nginxinc/nginx-gateway-fabric/pull/1048)
- Add NGINX reload metrics. [PR-1049](https://github.com/nginxinc/nginx-gateway-fabric/pull/1049)
- Retry status updater on failures. [PR-1062](https://github.com/nginxinc/nginx-gateway-fabric/pull/1062)
- Add event processing histogram metric. [PR-1134](https://github.com/nginxinc/nginx-gateway-fabric/pull/1134)
- Set Service address in Gateway Status. [PR-1141](https://github.com/nginxinc/nginx-gateway-fabric/pull/1141)

BUG FIXES:

- Optimize default NGINX config. [PR-1040](https://github.com/nginxinc/nginx-gateway-fabric/pull/1040)
- Ensure NGINX reload occurs. [PR-1033](https://github.com/nginxinc/nginx-gateway-fabric/pull/1033)
- Fix failure to recover if conf files are unexpectedly removed. [PR-1132](https://github.com/nginxinc/nginx-gateway-fabric/pull/1132)
- Only update a resource's status if it has changed. [PR-1151](https://github.com/nginxinc/nginx-gateway-fabric/pull/1151)

DOCUMENTATION:

- Non-functional testing guides and results. [Link](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/tests)

COMPATIBILITY:

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

CONTAINER IMAGES:

- Control plane: `ghcr.io/nginxinc/nginx-gateway-fabric:1.0.0`
- Data plane: `ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.0.0`

## Release 0.6.0

*August 31, 2023*
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.0.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
Expand Down
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@ NGINX Gateway Fabric is an open-source project that provides an implementation o
the [Gateway API](https://gateway-api.sigs.k8s.io/) using [NGINX](https://nginx.org/) as the data plane. The goal of
this project is to implement the core Gateway APIs -- `Gateway`, `GatewayClass`, `HTTPRoute`, `TCPRoute`, `TLSRoute`,
and `UDPRoute` -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running
on Kubernetes. NGINX Gateway Fabric is currently under development and supports a subset of the Gateway API.
on Kubernetes. NGINX Gateway Fabric supports a subset of the Gateway API.

For a list of supported Gateway API resources and features, see
the [Gateway API Compatibility](docs/gateway-api-compatibility.md) doc.

> Warning: This project is actively in development (beta feature state) and should not be deployed in a
> production environment. All APIs, SDKs, designs, and packages are subject to change.
Learn about our [design principles](/docs/developer/design-principles.md) and [architecture](/docs/architecture.md).

## Getting Started
Expand All @@ -32,7 +29,7 @@ Learn about our [design principles](/docs/developer/design-principles.md) and [a
We publish NGINX Gateway Fabric releases on GitHub. See
our [releases page](https://github.com/nginxinc/nginx-gateway-fabric/releases).

The latest release is [0.6.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v0.6.0).
The latest release is [1.0.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.0.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 @@ -43,7 +40,7 @@ to the correct versions:

| Version | Description | Installation Manifests | Documentation and Examples |
|----------------|------------------------------------------|---------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Latest release | For experimental use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v0.6.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-gateway-fabric/tree/v0.6.0/docs). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v0.6.0/examples). |
| Latest release | For production use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.0.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.0.0/docs). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.0.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/docs). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/examples). |

### Versioning
Expand All @@ -66,6 +63,7 @@ The following table lists the software versions NGINX Gateway Fabric supports.
| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS |
|--------------------------|-------------|------------|-----------|
| Edge | 0.8.1 | 1.23+ | 1.25.2 |
| 1.0.0 | 0.8.1 | 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 * |
Expand Down
2 changes: 1 addition & 1 deletion conformance/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
NGF_TAG = edge
NGF_TAG = 1.0.0
NGF_PREFIX = nginx-gateway-fabric
NGINX_IMAGE_NAME = $(NGF_PREFIX)/nginx
GW_API_VERSION ?= 0.8.1
Expand Down
2 changes: 1 addition & 1 deletion conformance/provisioner/provisioner.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ spec:
spec:
serviceAccountName: nginx-gateway-provisioner
containers:
- image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
- image: ghcr.io/nginxinc/nginx-gateway-fabric:1.0.0
imagePullPolicy: Always
name: nginx-gateway-provisioner
securityContext:
Expand Down
10 changes: 5 additions & 5 deletions conformance/provisioner/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.0.0"
spec:
replicas: 1
selector:
Expand Down Expand Up @@ -44,8 +44,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.0.0
imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- name: health
Expand Down Expand Up @@ -73,8 +73,8 @@ spec:
mountPath: /etc/nginx/secrets
- name: nginx-run
mountPath: /var/run/nginx
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
imagePullPolicy: Always
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.0.0
imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
Expand Down
6 changes: 3 additions & 3 deletions deploy/helm-chart/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ name: nginx-gateway-fabric
description: NGINX Gateway Fabric
type: application
version: 1.0.0
appVersion: "edge"
appVersion: 1.0.0
home: https://github.com/nginxinc/nginx-gateway-fabric
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/tree/main/deploy/helm-chart/chart-icon.png
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/tree/v1.0.0/deploy/helm-chart/chart-icon.png
sources:
- https://github.com/nginxinc/nginx-gateway-fabric/tree/main/deploy/helm-chart
- https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.0.0/deploy/helm-chart
keywords:
- kubernetes
- gateway
Expand Down
8 changes: 4 additions & 4 deletions deploy/helm-chart/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ nginxGateway:
image:
## The NGINX Gateway Fabric image to use
repository: ghcr.io/nginxinc/nginx-gateway-fabric
tag: edge
pullPolicy: Always
tag: 1.0.0
pullPolicy: IfNotPresent

securityContext:
## Some environments may need this set to true in order for the control plane to successfully reload NGINX.
Expand All @@ -52,8 +52,8 @@ nginx:
## The NGINX image to use
image:
repository: ghcr.io/nginxinc/nginx-gateway-fabric/nginx
tag: edge
pullPolicy: Always
tag: 1.0.0
pullPolicy: IfNotPresent

## The lifecycle of the nginx container.
lifecycle: {}
Expand Down
20 changes: 10 additions & 10 deletions deploy/manifests/nginx-gateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: "1.0.0"
annotations:
{}
---
Expand All @@ -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: "1.0.0"
rules:
- apiGroups:
- ""
Expand Down Expand Up @@ -98,7 +98,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.0.0"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
Expand All @@ -117,7 +117,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.0.0"
spec:
replicas: 1
selector:
Expand Down Expand Up @@ -156,8 +156,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.0.0
imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- name: metrics
Expand Down Expand Up @@ -187,8 +187,8 @@ spec:
mountPath: /etc/nginx/secrets
- name: nginx-run
mountPath: /var/run/nginx
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
imagePullPolicy: Always
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.0.0
imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
Expand Down Expand Up @@ -241,7 +241,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.0.0"
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
---
Expand All @@ -254,7 +254,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.0.0"
spec:
logging:
level: info
2 changes: 1 addition & 1 deletion deploy/manifests/service/loadbalancer-aws-nlb.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.0.0"
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
spec:
Expand Down
2 changes: 1 addition & 1 deletion deploy/manifests/service/loadbalancer.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.0.0"
spec:
externalTrafficPolicy: Local
type: LoadBalancer
Expand Down
2 changes: 1 addition & 1 deletion deploy/manifests/service/nodeport.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.0.0"
spec:
type: NodePort
selector:
Expand Down
8 changes: 4 additions & 4 deletions docs/building-the-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ installed on your machine:
1. Clone the repo and change into the `nginx-gateway-fabric` directory:

```shell
git clone https://github.com/nginxinc/nginx-gateway-fabric.git
git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.0.0
cd nginx-gateway-fabric
```

Expand All @@ -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-gateway-fabric:edge` and `nginx-gateway-fabric/nginx:edge`.
named `nginx-gateway-fabric:1.0.0` and `nginx-gateway-fabric/nginx:1.0.0`.
1. Push the images to your container registry:
```shell
docker push myregistry.example.com/nginx-gateway-fabric:edge
docker push myregistry.example.com/nginx-gateway-fabric/nginx:edge
docker push myregistry.example.com/nginx-gateway-fabric:1.0.0
docker push myregistry.example.com/nginx-gateway-fabric/nginx:1.0.0
```
Make sure to substitute `myregistry.example.com/nginx-gateway-fabric` with your registry.
4 changes: 2 additions & 2 deletions docs/guides/advanced-routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-gateway-fabric/main/examples/advanced-routing/coffee.yaml
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.0.0/examples/advanced-routing/coffee.yaml
```

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

### Deploy the HTTPRoute for the Tea Services
Expand Down
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ page.
1. Clone the repo and change into the `nginx-gateway-fabric` directory:

```shell
git clone https://github.com/nginxinc/nginx-gateway-fabric.git
git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.0.0
cd nginx-gateway-fabric
```

Expand Down
1 change: 1 addition & 0 deletions examples/http-header-filter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ Headers:
header 'My-cool-header' is 'my-client-value, this-is-an-appended-value'
header 'My-Overwrite-Header' is 'this-is-the-only-value'
header 'Host' is 'echo.example.com:$GW_PORT'
header 'X-Forwarded-For' is '$GW_IP'
header 'Connection' is 'close'
header 'Accept' is '*/*'
```

0 comments on commit 36bc032

Please sign in to comment.