Skip to content

Commit 2cd485b

Browse files
authored
Update READMEs (#3788)
Problem: The helm chart README contained a section that is outdated and removed from our official docs. Also, our main README contains some misleading language around supporting a subset of the Gateway API. While we technically do support a subset, the language makes it sound like our intention is to support a subset, which isn't really true and sounds worse than it is. Solution: Remove the unneeded sections from both READMEs.
1 parent 5741ece commit 2cd485b

File tree

3 files changed

+3
-117
lines changed

3 files changed

+3
-117
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ NGINX Gateway Fabric is an open-source project that provides an implementation o
1313
the [Gateway API](https://gateway-api.sigs.k8s.io/) using [NGINX](https://nginx.org/) as the data plane. The goal of
1414
this project is to implement the core Gateway APIs -- `Gateway`, `GatewayClass`, `HTTPRoute`, `GRPCRoute`, `TCPRoute`, `TLSRoute`,
1515
and `UDPRoute` -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running
16-
on Kubernetes. NGINX Gateway Fabric supports a subset of the Gateway API.
16+
on Kubernetes.
1717

1818
For a list of supported Gateway API resources and features, see
1919
the [Gateway API Compatibility](https://docs.nginx.com/nginx-gateway-fabric/overview/gateway-api-compatibility/) doc.

charts/nginx-gateway-fabric/README.md

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
- [Upgrading the CRDs](#upgrading-the-crds)
2121
- [Upgrading the Chart from the OCI Registry](#upgrading-the-chart-from-the-oci-registry)
2222
- [Upgrading the Chart from the Sources](#upgrading-the-chart-from-the-sources)
23-
- [Configure Delayed Termination for Zero Downtime Upgrades](#configure-delayed-termination-for-zero-downtime-upgrades)
2423
- [Uninstalling the Chart](#uninstalling-the-chart)
2524
- [Uninstalling the Gateway Resources](#uninstalling-the-gateway-resources)
2625
- [Configuration](#configuration)
@@ -117,15 +116,10 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp
117116

118117
## Upgrading the Chart
119118

120-
> [!NOTE]
121-
>
122-
> See [below](#configure-delayed-termination-for-zero-downtime-upgrades) for instructions on how to configure delayed
123-
> termination if required for zero downtime upgrades in your environment.
124-
125119
### Upgrading the Gateway Resources
126120

127121
Before you upgrade a release, ensure the Gateway API resources are the correct version as supported by the NGINX
128-
Gateway Fabric - [see the Technical Specifications](../../README.md#technical-specifications).:
122+
Gateway Fabric - [see the Technical Specifications](https://github.com/nginx/nginx-gateway-fabric/blob/main/README.md#technical-specifications).:
129123

130124
To upgrade the Gateway CRDs from [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run:
131125

@@ -168,57 +162,6 @@ the release `ngf`, run:
168162
helm upgrade ngf . -n nginx-gateway
169163
```
170164

171-
### Configure Delayed Termination for Zero Downtime Upgrades
172-
173-
To achieve zero downtime upgrades (meaning clients will not see any interruption in traffic while a rolling upgrade is
174-
being performed on NGF), you may need to configure delayed termination on the NGF Pod, depending on your environment.
175-
176-
> [!NOTE]
177-
>
178-
> When proxying Websocket or any long-lived connections, NGINX will not terminate until that connection is closed
179-
> by either the client or the backend. This means that unless all those connections are closed by clients/backends
180-
> before or during an upgrade, NGINX will not terminate, which means Kubernetes will kill NGINX. As a result, the
181-
> clients will see the connections abruptly closed and thus experience downtime.
182-
183-
1. Add `lifecycle` to both the nginx and the nginx-gateway container definition. To do so, update your `values.yaml`
184-
file to include the following (update the `sleep` values to what is required in your environment):
185-
186-
```yaml
187-
nginxGateway:
188-
<...>
189-
lifecycle:
190-
preStop:
191-
exec:
192-
command:
193-
- /usr/bin/gateway
194-
- sleep
195-
- --duration=40s # This flag is optional, the default is 30s
196-
197-
nginx:
198-
<...>
199-
lifecycle:
200-
preStop:
201-
exec:
202-
command:
203-
- /bin/sleep
204-
- "40"
205-
```
206-
207-
2. Ensure the `terminationGracePeriodSeconds` matches or exceeds the `sleep` value from the `preStopHook` (the default
208-
is 30). This is to ensure Kubernetes does not terminate the Pod before the `preStopHook` is complete. To do so,
209-
update your `values.yaml` file to include the following (update the value to what is required in your environment):
210-
211-
```yaml
212-
terminationGracePeriodSeconds: 50
213-
```
214-
215-
> [!NOTE]
216-
>
217-
> More information on container lifecycle hooks can be found in the official
218-
> [kubernetes documentation](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) and a detailed
219-
> description of Pod termination behavior can be found in
220-
> [Termination of Pods](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination).
221-
222165
## Uninstalling the Chart
223166

224167
To uninstall/delete the release `ngf`:

charts/nginx-gateway-fabric/README.md.gotmpl

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
- [Upgrading the CRDs](#upgrading-the-crds)
2020
- [Upgrading the Chart from the OCI Registry](#upgrading-the-chart-from-the-oci-registry)
2121
- [Upgrading the Chart from the Sources](#upgrading-the-chart-from-the-sources)
22-
- [Configure Delayed Termination for Zero Downtime Upgrades](#configure-delayed-termination-for-zero-downtime-upgrades)
2322
- [Uninstalling the Chart](#uninstalling-the-chart)
2423
- [Uninstalling the Gateway Resources](#uninstalling-the-gateway-resources)
2524
- [Configuration](#configuration)
@@ -115,15 +114,10 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp
115114

116115
## Upgrading the Chart
117116

118-
> [!NOTE]
119-
>
120-
> See [below](#configure-delayed-termination-for-zero-downtime-upgrades) for instructions on how to configure delayed
121-
> termination if required for zero downtime upgrades in your environment.
122-
123117
### Upgrading the Gateway Resources
124118

125119
Before you upgrade a release, ensure the Gateway API resources are the correct version as supported by the NGINX
126-
Gateway Fabric - [see the Technical Specifications](../../README.md#technical-specifications).:
120+
Gateway Fabric - [see the Technical Specifications](https://github.com/nginx/nginx-gateway-fabric/blob/main/README.md#technical-specifications).:
127121

128122
To upgrade the Gateway CRDs from [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run:
129123

@@ -166,57 +160,6 @@ the release `ngf`, run:
166160
helm upgrade ngf . -n nginx-gateway
167161
```
168162

169-
### Configure Delayed Termination for Zero Downtime Upgrades
170-
171-
To achieve zero downtime upgrades (meaning clients will not see any interruption in traffic while a rolling upgrade is
172-
being performed on NGF), you may need to configure delayed termination on the NGF Pod, depending on your environment.
173-
174-
> [!NOTE]
175-
>
176-
> When proxying Websocket or any long-lived connections, NGINX will not terminate until that connection is closed
177-
> by either the client or the backend. This means that unless all those connections are closed by clients/backends
178-
> before or during an upgrade, NGINX will not terminate, which means Kubernetes will kill NGINX. As a result, the
179-
> clients will see the connections abruptly closed and thus experience downtime.
180-
181-
1. Add `lifecycle` to both the nginx and the nginx-gateway container definition. To do so, update your `values.yaml`
182-
file to include the following (update the `sleep` values to what is required in your environment):
183-
184-
```yaml
185-
nginxGateway:
186-
<...>
187-
lifecycle:
188-
preStop:
189-
exec:
190-
command:
191-
- /usr/bin/gateway
192-
- sleep
193-
- --duration=40s # This flag is optional, the default is 30s
194-
195-
nginx:
196-
<...>
197-
lifecycle:
198-
preStop:
199-
exec:
200-
command:
201-
- /bin/sleep
202-
- "40"
203-
```
204-
205-
2. Ensure the `terminationGracePeriodSeconds` matches or exceeds the `sleep` value from the `preStopHook` (the default
206-
is 30). This is to ensure Kubernetes does not terminate the Pod before the `preStopHook` is complete. To do so,
207-
update your `values.yaml` file to include the following (update the value to what is required in your environment):
208-
209-
```yaml
210-
terminationGracePeriodSeconds: 50
211-
```
212-
213-
> [!NOTE]
214-
>
215-
> More information on container lifecycle hooks can be found in the official
216-
> [kubernetes documentation](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) and a detailed
217-
> description of Pod termination behavior can be found in
218-
> [Termination of Pods](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination).
219-
220163
## Uninstalling the Chart
221164

222165
To uninstall/delete the release `ngf`:

0 commit comments

Comments
 (0)