Skip to content

Commit 36bc032

Browse files
authored
Update docs and versions for 1.0 (#1184)
Add changelog, update manifests and documentation for the release.
1 parent b83a812 commit 36bc032

16 files changed

+81
-41
lines changed

CHANGELOG.md

+41
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,47 @@ This document includes a curated changelog for each release. We also publish a c
44
a [GitHub release](https://github.com/nginxinc/nginx-gateway-fabric/releases), which, by contrast, is auto-generated
55
and includes links to all PRs that went into the release.
66

7+
## Release 1.0.0
8+
9+
*October 24, 2023*
10+
11+
This is the official v1.0.0 release of NGINX Gateway Fabric.
12+
13+
BREAKING CHANGES:
14+
15+
- Rename the product from NGINX Kubernetes Gateway to NGINX Gateway Fabric. [PR-1070](https://github.com/nginxinc/nginx-gateway-fabric/pull/1070)
16+
17+
FEATURES:
18+
19+
- Add readiness probe. [PR-1047](https://github.com/nginxinc/nginx-gateway-fabric/pull/1047)
20+
- Support horizontal scaling. [PR-1048](https://github.com/nginxinc/nginx-gateway-fabric/pull/1048)
21+
- Add NGINX reload metrics. [PR-1049](https://github.com/nginxinc/nginx-gateway-fabric/pull/1049)
22+
- Retry status updater on failures. [PR-1062](https://github.com/nginxinc/nginx-gateway-fabric/pull/1062)
23+
- Add event processing histogram metric. [PR-1134](https://github.com/nginxinc/nginx-gateway-fabric/pull/1134)
24+
- Set Service address in Gateway Status. [PR-1141](https://github.com/nginxinc/nginx-gateway-fabric/pull/1141)
25+
26+
BUG FIXES:
27+
28+
- Optimize default NGINX config. [PR-1040](https://github.com/nginxinc/nginx-gateway-fabric/pull/1040)
29+
- Ensure NGINX reload occurs. [PR-1033](https://github.com/nginxinc/nginx-gateway-fabric/pull/1033)
30+
- Fix failure to recover if conf files are unexpectedly removed. [PR-1132](https://github.com/nginxinc/nginx-gateway-fabric/pull/1132)
31+
- Only update a resource's status if it has changed. [PR-1151](https://github.com/nginxinc/nginx-gateway-fabric/pull/1151)
32+
33+
DOCUMENTATION:
34+
35+
- Non-functional testing guides and results. [Link](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/tests)
36+
37+
COMPATIBILITY:
38+
39+
- The Gateway API version: `0.8.1`
40+
- NGINX version: `1.25.2`
41+
- Kubernetes version: `1.23+`
42+
43+
CONTAINER IMAGES:
44+
45+
- Control plane: `ghcr.io/nginxinc/nginx-gateway-fabric:1.0.0`
46+
- Data plane: `ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.0.0`
47+
748
## Release 0.6.0
849

950
*August 31, 2023*

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# variables that should not be overridden by the user
2-
VERSION = edge
2+
VERSION = 1.0.0
33
GIT_COMMIT = $(shell git rev-parse HEAD || echo "unknown")
44
DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
55
MANIFEST_DIR = $(shell pwd)/deploy/manifests

README.md

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@ NGINX Gateway Fabric is an open-source project that provides an implementation o
77
the [Gateway API](https://gateway-api.sigs.k8s.io/) using [NGINX](https://nginx.org/) as the data plane. The goal of
88
this project is to implement the core Gateway APIs -- `Gateway`, `GatewayClass`, `HTTPRoute`, `TCPRoute`, `TLSRoute`,
99
and `UDPRoute` -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running
10-
on Kubernetes. NGINX Gateway Fabric is currently under development and supports a subset of the Gateway API.
10+
on Kubernetes. NGINX Gateway Fabric supports a subset of the Gateway API.
1111

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

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

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

35-
The latest release is [0.6.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v0.6.0).
32+
The latest release is [1.0.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.0.0).
3633

3734
The edge version is useful for experimenting with new features that are not yet published in a release. To use, choose
3835
the *edge* version built from the [latest commit](https://github.com/nginxinc/nginx-gateway-fabric/commits/main)
@@ -43,7 +40,7 @@ to the correct versions:
4340

4441
| Version | Description | Installation Manifests | Documentation and Examples |
4542
|----------------|------------------------------------------|---------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
46-
| 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). |
43+
| 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). |
4744
| 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). |
4845

4946
### Versioning
@@ -66,6 +63,7 @@ The following table lists the software versions NGINX Gateway Fabric supports.
6663
| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS |
6764
|--------------------------|-------------|------------|-----------|
6865
| Edge | 0.8.1 | 1.23+ | 1.25.2 |
66+
| 1.0.0 | 0.8.1 | 1.23+ | 1.25.2 |
6967
| 0.6.0 | 0.8.0 | 1.23+ | 1.25.2 |
7068
| 0.5.0 | 0.7.1 | 1.21+ | 1.25.x * |
7169
| 0.4.0 | 0.7.1 | 1.21+ | 1.25.x * |

conformance/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
NGF_TAG = edge
1+
NGF_TAG = 1.0.0
22
NGF_PREFIX = nginx-gateway-fabric
33
NGINX_IMAGE_NAME = $(NGF_PREFIX)/nginx
44
GW_API_VERSION ?= 0.8.1

conformance/provisioner/provisioner.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ spec:
6161
spec:
6262
serviceAccountName: nginx-gateway-provisioner
6363
containers:
64-
- image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
64+
- image: ghcr.io/nginxinc/nginx-gateway-fabric:1.0.0
6565
imagePullPolicy: Always
6666
name: nginx-gateway-provisioner
6767
securityContext:

conformance/provisioner/static-deployment.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
labels:
99
app.kubernetes.io/name: nginx-gateway
1010
app.kubernetes.io/instance: nginx-gateway
11-
app.kubernetes.io/version: "edge"
11+
app.kubernetes.io/version: "1.0.0"
1212
spec:
1313
replicas: 1
1414
selector:
@@ -44,8 +44,8 @@ spec:
4444
valueFrom:
4545
fieldRef:
4646
fieldPath: metadata.name
47-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
48-
imagePullPolicy: Always
47+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.0.0
48+
imagePullPolicy: IfNotPresent
4949
name: nginx-gateway
5050
ports:
5151
- name: health
@@ -73,8 +73,8 @@ spec:
7373
mountPath: /etc/nginx/secrets
7474
- name: nginx-run
7575
mountPath: /var/run/nginx
76-
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
77-
imagePullPolicy: Always
76+
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.0.0
77+
imagePullPolicy: IfNotPresent
7878
name: nginx
7979
ports:
8080
- containerPort: 80

deploy/helm-chart/Chart.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ name: nginx-gateway-fabric
33
description: NGINX Gateway Fabric
44
type: application
55
version: 1.0.0
6-
appVersion: "edge"
6+
appVersion: 1.0.0
77
home: https://github.com/nginxinc/nginx-gateway-fabric
8-
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/tree/main/deploy/helm-chart/chart-icon.png
8+
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/tree/v1.0.0/deploy/helm-chart/chart-icon.png
99
sources:
10-
- https://github.com/nginxinc/nginx-gateway-fabric/tree/main/deploy/helm-chart
10+
- https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.0.0/deploy/helm-chart
1111
keywords:
1212
- kubernetes
1313
- gateway

deploy/helm-chart/values.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ nginxGateway:
3838
image:
3939
## The NGINX Gateway Fabric image to use
4040
repository: ghcr.io/nginxinc/nginx-gateway-fabric
41-
tag: edge
42-
pullPolicy: Always
41+
tag: 1.0.0
42+
pullPolicy: IfNotPresent
4343

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

5858
## The lifecycle of the nginx container.
5959
lifecycle: {}

deploy/manifests/nginx-gateway.yaml

+10-10
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ metadata:
1212
labels:
1313
app.kubernetes.io/name: nginx-gateway
1414
app.kubernetes.io/instance: nginx-gateway
15-
app.kubernetes.io/version: "edge"
15+
app.kubernetes.io/version: "1.0.0"
1616
annotations:
1717
{}
1818
---
@@ -24,7 +24,7 @@ metadata:
2424
labels:
2525
app.kubernetes.io/name: nginx-gateway
2626
app.kubernetes.io/instance: nginx-gateway
27-
app.kubernetes.io/version: "edge"
27+
app.kubernetes.io/version: "1.0.0"
2828
rules:
2929
- apiGroups:
3030
- ""
@@ -98,7 +98,7 @@ metadata:
9898
labels:
9999
app.kubernetes.io/name: nginx-gateway
100100
app.kubernetes.io/instance: nginx-gateway
101-
app.kubernetes.io/version: "edge"
101+
app.kubernetes.io/version: "1.0.0"
102102
roleRef:
103103
apiGroup: rbac.authorization.k8s.io
104104
kind: ClusterRole
@@ -117,7 +117,7 @@ metadata:
117117
labels:
118118
app.kubernetes.io/name: nginx-gateway
119119
app.kubernetes.io/instance: nginx-gateway
120-
app.kubernetes.io/version: "edge"
120+
app.kubernetes.io/version: "1.0.0"
121121
spec:
122122
replicas: 1
123123
selector:
@@ -156,8 +156,8 @@ spec:
156156
valueFrom:
157157
fieldRef:
158158
fieldPath: metadata.name
159-
image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
160-
imagePullPolicy: Always
159+
image: ghcr.io/nginxinc/nginx-gateway-fabric:1.0.0
160+
imagePullPolicy: IfNotPresent
161161
name: nginx-gateway
162162
ports:
163163
- name: metrics
@@ -187,8 +187,8 @@ spec:
187187
mountPath: /etc/nginx/secrets
188188
- name: nginx-run
189189
mountPath: /var/run/nginx
190-
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
191-
imagePullPolicy: Always
190+
- image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.0.0
191+
imagePullPolicy: IfNotPresent
192192
name: nginx
193193
ports:
194194
- containerPort: 80
@@ -241,7 +241,7 @@ metadata:
241241
labels:
242242
app.kubernetes.io/name: nginx-gateway
243243
app.kubernetes.io/instance: nginx-gateway
244-
app.kubernetes.io/version: "edge"
244+
app.kubernetes.io/version: "1.0.0"
245245
spec:
246246
controllerName: gateway.nginx.org/nginx-gateway-controller
247247
---
@@ -254,7 +254,7 @@ metadata:
254254
labels:
255255
app.kubernetes.io/name: nginx-gateway
256256
app.kubernetes.io/instance: nginx-gateway
257-
app.kubernetes.io/version: "edge"
257+
app.kubernetes.io/version: "1.0.0"
258258
spec:
259259
logging:
260260
level: info

deploy/manifests/service/loadbalancer-aws-nlb.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
labels:
99
app.kubernetes.io/name: nginx-gateway
1010
app.kubernetes.io/instance: nginx-gateway
11-
app.kubernetes.io/version: "edge"
11+
app.kubernetes.io/version: "1.0.0"
1212
annotations:
1313
service.beta.kubernetes.io/aws-load-balancer-type: nlb
1414
spec:

deploy/manifests/service/loadbalancer.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
labels:
99
app.kubernetes.io/name: nginx-gateway
1010
app.kubernetes.io/instance: nginx-gateway
11-
app.kubernetes.io/version: "edge"
11+
app.kubernetes.io/version: "1.0.0"
1212
spec:
1313
externalTrafficPolicy: Local
1414
type: LoadBalancer

deploy/manifests/service/nodeport.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
labels:
99
app.kubernetes.io/name: nginx-gateway
1010
app.kubernetes.io/instance: nginx-gateway
11-
app.kubernetes.io/version: "edge"
11+
app.kubernetes.io/version: "1.0.0"
1212
spec:
1313
type: NodePort
1414
selector:

docs/building-the-images.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ installed on your machine:
1515
1. Clone the repo and change into the `nginx-gateway-fabric` directory:
1616

1717
```shell
18-
git clone https://github.com/nginxinc/nginx-gateway-fabric.git
18+
git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.0.0
1919
cd nginx-gateway-fabric
2020
```
2121

@@ -39,13 +39,13 @@ installed on your machine:
3939
```
4040

4141
Set the `PREFIX` variable to the name of the registry you'd like to push the image to. By default, the images will be
42-
named `nginx-gateway-fabric:edge` and `nginx-gateway-fabric/nginx:edge`.
42+
named `nginx-gateway-fabric:1.0.0` and `nginx-gateway-fabric/nginx:1.0.0`.
4343

4444
1. Push the images to your container registry:
4545

4646
```shell
47-
docker push myregistry.example.com/nginx-gateway-fabric:edge
48-
docker push myregistry.example.com/nginx-gateway-fabric/nginx:edge
47+
docker push myregistry.example.com/nginx-gateway-fabric:1.0.0
48+
docker push myregistry.example.com/nginx-gateway-fabric/nginx:1.0.0
4949
```
5050

5151
Make sure to substitute `myregistry.example.com/nginx-gateway-fabric` with your registry.

docs/guides/advanced-routing.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ and `coffee` applications share the same Gateway.
3636
Begin by deploying the `coffee-v1` and `coffee-v2` applications:
3737

3838
```shell
39-
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/examples/advanced-routing/coffee.yaml
39+
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.0.0/examples/advanced-routing/coffee.yaml
4040
```
4141

4242
### 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
166166
### Deploy the Tea Applications
167167

168168
```shell
169-
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/examples/advanced-routing/tea.yaml
169+
kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.0.0/examples/advanced-routing/tea.yaml
170170
```
171171

172172
### Deploy the HTTPRoute for the Tea Services

docs/installation.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ page.
3737
1. Clone the repo and change into the `nginx-gateway-fabric` directory:
3838

3939
```shell
40-
git clone https://github.com/nginxinc/nginx-gateway-fabric.git
40+
git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.0.0
4141
cd nginx-gateway-fabric
4242
```
4343

examples/http-header-filter/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ Headers:
7171
header 'My-cool-header' is 'my-client-value, this-is-an-appended-value'
7272
header 'My-Overwrite-Header' is 'this-is-the-only-value'
7373
header 'Host' is 'echo.example.com:$GW_PORT'
74+
header 'X-Forwarded-For' is '$GW_IP'
7475
header 'Connection' is 'close'
7576
header 'Accept' is '*/*'
7677
```

0 commit comments

Comments
 (0)