diff --git a/.github/CHANGELOG_TEMPLATE.md b/.github/CHANGELOG_TEMPLATE.md
index a943fd9c54..607d88b269 100644
--- a/.github/CHANGELOG_TEMPLATE.md
+++ b/.github/CHANGELOG_TEMPLATE.md
@@ -29,7 +29,7 @@ KNOWN ISSUES:
COMPATIBILITY:
-- The Gateway API version: ``
+- Gateway API version: ``
- NGINX version: ``
- NGINX Plus version: ``
- Kubernetes version: ``
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 56479ce8ed..74b8ea6a1b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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_
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
@@ -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+`
diff --git a/Makefile b/Makefile
index c3cb863102..8dee6433a1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
# variables that should not be overridden by the user
-VERSION = edge
+VERSION = 1.4.0
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
CHART_DIR = $(SELF_DIR)charts/nginx-gateway-fabric
NGINX_CONF_DIR = internal/mode/static/nginx/conf
diff --git a/README.md b/README.md
index 7608dade9c..0450a83a20 100644
--- a/README.md
+++ b/README.md
@@ -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)
@@ -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
@@ -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 |
diff --git a/charts/nginx-gateway-fabric/Chart.yaml b/charts/nginx-gateway-fabric/Chart.yaml
index 437e0ffd1e..c5b45b8bb9 100644
--- a/charts/nginx-gateway-fabric/Chart.yaml
+++ b/charts/nginx-gateway-fabric/Chart.yaml
@@ -2,8 +2,8 @@ apiVersion: v2
name: nginx-gateway-fabric
description: NGINX Gateway Fabric
type: application
-version: 1.3.0
-appVersion: "edge"
+version: 1.4.0
+appVersion: "1.4.0"
kubeVersion: ">= 1.25.0-0"
home: https://github.com/nginxinc/nginx-gateway-fabric
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/charts/nginx-gateway-fabric/chart-icon.png
diff --git a/charts/nginx-gateway-fabric/README.md b/charts/nginx-gateway-fabric/README.md
index 2ab4681ccd..263a62f2b8 100644
--- a/charts/nginx-gateway-fabric/README.md
+++ b/charts/nginx-gateway-fabric/README.md
@@ -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: 1.4.0](https://img.shields.io/badge/AppVersion-1.4.0-informational?style=flat-square)
- [NGINX Gateway Fabric Helm Chart](#nginx-gateway-fabric-helm-chart)
- [Introduction](#introduction)
@@ -262,9 +262,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
| `metrics.secure` | Enable serving metrics via https. By default metrics are served via http. Please note that this endpoint will be secured with a self-signed certificate. | bool | `false` |
| `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. | object | `{}` |
| `nginx.extraVolumeMounts` | extraVolumeMounts are the additional volume mounts for the nginx container. | list | `[]` |
-| `nginx.image.pullPolicy` | | string | `"Always"` |
+| `nginx.image.pullPolicy` | | string | `"IfNotPresent"` |
| `nginx.image.repository` | The NGINX image to use. | string | `"ghcr.io/nginxinc/nginx-gateway-fabric/nginx"` |
-| `nginx.image.tag` | | string | `"edge"` |
+| `nginx.image.tag` | | string | `"1.4.0"` |
| `nginx.lifecycle` | The lifecycle of the nginx container. | object | `{}` |
| `nginx.plus` | Is NGINX Plus image being used | bool | `false` |
| `nginx.usage.clusterName` | The display name of the Kubernetes cluster in the NGINX Plus usage reporting server. | string | `""` |
@@ -278,9 +278,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
| `nginxGateway.gatewayClassName` | The name of the GatewayClass that will be created as part of this release. Every NGINX Gateway Fabric must have a unique corresponding GatewayClass resource. NGINX Gateway Fabric only processes resources that belong to its class - i.e. have the "gatewayClassName" field resource equal to the class. | string | `"nginx"` |
| `nginxGateway.gatewayControllerName` | The name of the Gateway controller. The controller name must be of the form: DOMAIN/PATH. The controller's domain is gateway.nginx.org. | string | `"gateway.nginx.org/nginx-gateway-controller"` |
| `nginxGateway.gwAPIExperimentalFeatures.enable` | Enable the experimental features of Gateway API which are supported by NGINX Gateway Fabric. Requires the Gateway APIs installed from the experimental channel. | bool | `false` |
-| `nginxGateway.image.pullPolicy` | | string | `"Always"` |
+| `nginxGateway.image.pullPolicy` | | string | `"IfNotPresent"` |
| `nginxGateway.image.repository` | The NGINX Gateway Fabric image to use | string | `"ghcr.io/nginxinc/nginx-gateway-fabric"` |
-| `nginxGateway.image.tag` | | string | `"edge"` |
+| `nginxGateway.image.tag` | | string | `"1.4.0"` |
| `nginxGateway.kind` | The kind of the NGINX Gateway Fabric installation - currently, only deployment is supported. | string | `"deployment"` |
| `nginxGateway.leaderElection.enable` | Enable leader election. Leader election is used to avoid multiple replicas of the NGINX Gateway Fabric reporting the status of the Gateway API resources. If not enabled, all replicas of NGINX Gateway Fabric will update the statuses of the Gateway API resources. | bool | `true` |
| `nginxGateway.leaderElection.lockName` | The name of the leader election lock. A Lease object with this name will be created in the same Namespace as the controller. | string | Autogenerated if not set or set to "". |
diff --git a/charts/nginx-gateway-fabric/values.yaml b/charts/nginx-gateway-fabric/values.yaml
index 9cfc2064b2..e50c767def 100644
--- a/charts/nginx-gateway-fabric/values.yaml
+++ b/charts/nginx-gateway-fabric/values.yaml
@@ -53,8 +53,8 @@ nginxGateway:
image:
# -- The NGINX Gateway Fabric image to use
repository: ghcr.io/nginxinc/nginx-gateway-fabric
- tag: edge
- pullPolicy: Always
+ tag: 1.4.0
+ pullPolicy: IfNotPresent
securityContext:
# -- Some environments may need this set to true in order for the control plane to successfully reload NGINX.
@@ -82,8 +82,8 @@ nginx:
image:
# -- The NGINX image to use.
repository: ghcr.io/nginxinc/nginx-gateway-fabric/nginx
- tag: edge
- pullPolicy: Always
+ tag: 1.4.0
+ pullPolicy: IfNotPresent
# -- Is NGINX Plus image being used
plus: false
diff --git a/config/tests/static-deployment.yaml b/config/tests/static-deployment.yaml
index bb2fb62765..9cf10105a2 100644
--- a/config/tests/static-deployment.yaml
+++ b/config/tests/static-deployment.yaml
@@ -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.4.0"
spec:
replicas: 1
selector:
@@ -45,8 +45,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- name: health
@@ -82,8 +82,8 @@ spec:
mountPath: /var/run/nginx
- name: nginx-includes
mountPath: /etc/nginx/includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
diff --git a/deploy/aws-nlb/deploy.yaml b/deploy/aws-nlb/deploy.yaml
index 49b29bf988..2bc7f25767 100644
--- a/deploy/aws-nlb/deploy.yaml
+++ b/deploy/aws-nlb/deploy.yaml
@@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -131,7 +131,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -151,7 +151,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -176,7 +176,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -217,8 +217,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -256,8 +256,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -318,7 +318,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -329,7 +329,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/azure/deploy.yaml b/deploy/azure/deploy.yaml
index 968c1a2926..63c3eb2b2f 100644
--- a/deploy/azure/deploy.yaml
+++ b/deploy/azure/deploy.yaml
@@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -131,7 +131,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -148,7 +148,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -173,7 +173,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -214,8 +214,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -253,8 +253,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -317,7 +317,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -328,7 +328,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/default/deploy.yaml b/deploy/default/deploy.yaml
index 6245a2bbc7..8876ce4932 100644
--- a/deploy/default/deploy.yaml
+++ b/deploy/default/deploy.yaml
@@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -131,7 +131,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -148,7 +148,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -173,7 +173,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -214,8 +214,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -253,8 +253,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -315,7 +315,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -326,7 +326,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/experimental-nginx-plus/deploy.yaml b/deploy/experimental-nginx-plus/deploy.yaml
index ed9c748e1a..019caa8a77 100644
--- a/deploy/experimental-nginx-plus/deploy.yaml
+++ b/deploy/experimental-nginx-plus/deploy.yaml
@@ -11,7 +11,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -21,7 +21,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -144,7 +144,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -161,7 +161,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -186,7 +186,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -229,8 +229,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -268,8 +268,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:edge
- imagePullPolicy: Always
+ - image: private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -330,7 +330,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -341,7 +341,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/experimental/deploy.yaml b/deploy/experimental/deploy.yaml
index 28cc7b6d19..e42d0dba7d 100644
--- a/deploy/experimental/deploy.yaml
+++ b/deploy/experimental/deploy.yaml
@@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -136,7 +136,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -153,7 +153,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -178,7 +178,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -220,8 +220,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -259,8 +259,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -321,7 +321,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -332,7 +332,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/nginx-plus/deploy.yaml b/deploy/nginx-plus/deploy.yaml
index 76249e80c2..f7d040e828 100644
--- a/deploy/nginx-plus/deploy.yaml
+++ b/deploy/nginx-plus/deploy.yaml
@@ -11,7 +11,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -21,7 +21,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -139,7 +139,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -156,7 +156,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -181,7 +181,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -225,8 +225,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -264,8 +264,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:edge
- imagePullPolicy: Always
+ - image: private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -326,7 +326,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -337,7 +337,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/nodeport/deploy.yaml b/deploy/nodeport/deploy.yaml
index db81fdf259..d0a3fd4be0 100644
--- a/deploy/nodeport/deploy.yaml
+++ b/deploy/nodeport/deploy.yaml
@@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -131,7 +131,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -148,7 +148,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -173,7 +173,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -214,8 +214,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -253,8 +253,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -315,7 +315,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -326,7 +326,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/deploy/openshift/deploy.yaml b/deploy/openshift/deploy.yaml
index cb78ce0f39..9567a5fa9d 100644
--- a/deploy/openshift/deploy.yaml
+++ b/deploy/openshift/deploy.yaml
@@ -9,7 +9,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
---
@@ -19,7 +19,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
rules:
- apiGroups:
@@ -139,7 +139,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -156,7 +156,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -181,7 +181,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway
namespace: nginx-gateway
spec:
@@ -222,8 +222,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.4.0
+ imagePullPolicy: IfNotPresent
name: nginx-gateway
ports:
- containerPort: 9113
@@ -261,8 +261,8 @@ spec:
name: nginx-run
- mountPath: /etc/nginx/includes
name: nginx-includes
- - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:edge
- imagePullPolicy: Always
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.4.0
+ imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
@@ -323,7 +323,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx
spec:
controllerName: gateway.nginx.org/nginx-gateway-controller
@@ -334,7 +334,7 @@ metadata:
labels:
app.kubernetes.io/instance: nginx-gateway
app.kubernetes.io/name: nginx-gateway
- app.kubernetes.io/version: edge
+ app.kubernetes.io/version: 1.4.0
name: nginx-gateway-config
namespace: nginx-gateway
spec:
diff --git a/site/content/how-to/monitoring/prometheus.md b/site/content/how-to/monitoring/prometheus.md
index 54ec72627e..0d47badc54 100644
--- a/site/content/how-to/monitoring/prometheus.md
+++ b/site/content/how-to/monitoring/prometheus.md
@@ -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
diff --git a/site/content/how-to/traffic-management/advanced-routing.md b/site/content/how-to/traffic-management/advanced-routing.md
index 05e8661209..72b6d994c4 100644
--- a/site/content/how-to/traffic-management/advanced-routing.md
+++ b/site/content/how-to/traffic-management/advanced-routing.md
@@ -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
@@ -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
diff --git a/site/content/how-to/traffic-management/client-settings.md b/site/content/how-to/traffic-management/client-settings.md
index 7a8ccbba9c..791dae9efd 100644
--- a/site/content/how-to/traffic-management/client-settings.md
+++ b/site/content/how-to/traffic-management/client-settings.md
@@ -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:
diff --git a/site/content/how-to/traffic-management/response-headers.md b/site/content/how-to/traffic-management/response-headers.md
index 52c38f1b0e..1206ba8848 100644
--- a/site/content/how-to/traffic-management/response-headers.md
+++ b/site/content/how-to/traffic-management/response-headers.md
@@ -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:
diff --git a/site/content/how-to/upgrade-apps-without-downtime.md b/site/content/how-to/upgrade-apps-without-downtime.md
index 19f12bf3c4..e832dcdedd 100644
--- a/site/content/how-to/upgrade-apps-without-downtime.md
+++ b/site/content/how-to/upgrade-apps-without-downtime.md
@@ -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:
@@ -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.
diff --git a/site/content/includes/installation/install-gateway-api-resources.md b/site/content/includes/installation/install-gateway-api-resources.md
index bea3bfbb49..68af60d99e 100644
--- a/site/content/includes/installation/install-gateway-api-resources.md
+++ b/site/content/includes/installation/install-gateway-api-resources.md
@@ -2,12 +2,12 @@
docs: "DOCS-1438"
---
-{{}}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.3.0/README.md#technical-specifications).{{}}
+{{}}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.4.0/README.md#technical-specifications).{{}}
To install the Gateway API resources, run the following:
```shell
-kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.3.0" | kubectl apply -f -
+kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.4.0" | kubectl apply -f -
```
{{}}If you plan to use the `edge` version of NGINX Gateway Fabric, you can replace the version in `ref` with `main`, for example `ref=main`.{{}}
@@ -16,5 +16,5 @@ Alternatively, you can install the Gateway API resources from the experimental c
additional features provided by the experimental channel. To install from the experimental channel, run the following:
```shell
-kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.3.0" | kubectl apply -f -
+kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f -
```
diff --git a/site/content/includes/installation/uninstall-gateway-api-resources.md b/site/content/includes/installation/uninstall-gateway-api-resources.md
index b41a5bd156..3b4efa9171 100644
--- a/site/content/includes/installation/uninstall-gateway-api-resources.md
+++ b/site/content/includes/installation/uninstall-gateway-api-resources.md
@@ -7,11 +7,11 @@ docs: "DOCS-1436"
To uninstall the Gateway API resources, run the following:
```shell
-kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.3.0" | kubectl delete -f -
+kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.4.0" | kubectl delete -f -
```
Alternatively, if you installed the Gateway APIs from the experimental channel, run the following:
```shell
-kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.3.0" | kubectl delete -f -
+kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl delete -f -
```
diff --git a/site/content/installation/installing-ngf/helm.md b/site/content/installation/installing-ngf/helm.md
index 8f32cafc3b..cc3bded585 100644
--- a/site/content/installation/installing-ngf/helm.md
+++ b/site/content/installation/installing-ngf/helm.md
@@ -126,7 +126,7 @@ helm install ngf oci://ghcr.io/nginxinc/charts/nginx-gateway-fabric --create-nam
#### Examples
-You can find several examples of configuration options of the `values.yaml` file in the [helm examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.0/examples/helm) directory.
+You can find several examples of configuration options of the `values.yaml` file in the [helm examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/examples/helm) directory.
### Access NGINX Gateway Fabric
@@ -147,13 +147,13 @@ To upgrade your Gateway API resources, take the following steps:
- To upgrade the Gateway API resources, run:
```shell
- kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.3.0" | kubectl apply -f -
+ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.4.0" | kubectl apply -f -
```
or, if you installed the from the experimental channel:
```shell
- kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.3.0" | kubectl apply -f -
+ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f -
```
### Upgrade NGINX Gateway Fabric CRDs
@@ -167,7 +167,7 @@ To upgrade the CRDs, take the following steps:
2. Upgrade the CRDs:
```shell
- kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/crds.yaml
+ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/crds.yaml
```
{{}}Ignore the following warning, as it is expected.{{}}
@@ -281,7 +281,7 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K
```shell
kubectl delete ns nginx-gateway
- kubectl delete -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/crds.yaml
+ kubectl delete -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/crds.yaml
```
3. **Remove the Gateway API resources:**
@@ -290,4 +290,4 @@ 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.3.0/charts/nginx-gateway-fabric/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.4.0/charts/nginx-gateway-fabric/README.md#configuration).
diff --git a/site/content/installation/installing-ngf/manifests.md b/site/content/installation/installing-ngf/manifests.md
index 1798707376..8ed98732ed 100644
--- a/site/content/installation/installing-ngf/manifests.md
+++ b/site/content/installation/installing-ngf/manifests.md
@@ -33,7 +33,7 @@ Deploying NGINX Gateway Fabric with Kubernetes manifests takes only a few steps.
#### Stable release
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/crds.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/crds.yaml
```
#### Edge version
@@ -53,7 +53,7 @@ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric
Deploys NGINX Gateway Fabric with NGINX OSS.
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/default/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/default/deploy.yaml
```
{{% /tab %}}
@@ -63,7 +63,7 @@ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric
Deploys NGINX Gateway Fabric with NGINX OSS and an AWS Network Load Balancer service.
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/aws-nlb/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/aws-nlb/deploy.yaml
```
{{% /tab %}}
@@ -73,7 +73,7 @@ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric
Deploys NGINX Gateway Fabric with NGINX OSS and `nodeSelector` to deploy on Linux nodes.
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/azure/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/azure/deploy.yaml
```
{{% /tab %}}
@@ -87,7 +87,7 @@ The secret must be created in the same namespace as the NGINX Gateway Fabric dep
{{< important >}}Ensure that you [Enable Usage Reporting]({{< relref "installation/usage-reporting.md" >}}) and update the necessary fields before applying.{{< /important >}}
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/nginx-plus/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/nginx-plus/deploy.yaml
```
{{% /tab %}}
@@ -97,7 +97,7 @@ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric
Deploys NGINX Gateway Fabric with NGINX OSS and experimental features.
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/experimental/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/experimental/deploy.yaml
```
{{}}Requires the Gateway APIs installed from the experimental channel.{{}}
@@ -111,7 +111,7 @@ Deploys NGINX Gateway Fabric with NGINX Plus and experimental features. The imag
{{< important >}}Ensure that you [Enable Usage Reporting]({{< relref "installation/usage-reporting.md" >}}) and update the necessary fields before applying.{{< /important >}}
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/nginx-plus-experimental/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/nginx-plus-experimental/deploy.yaml
```
{{}}Requires the Gateway APIs installed from the experimental channel.{{}}
@@ -123,7 +123,7 @@ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric
Deploys NGINX Gateway Fabric with NGINX OSS using a Service type of `NodePort`.
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/nodeport/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/nodeport/deploy.yaml
```
{{% /tab %}}
@@ -133,7 +133,7 @@ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric
Deploys NGINX Gateway Fabric with NGINX OSS on OpenShift.
```shell
-kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/openshift/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/openshift/deploy.yaml
```
{{% /tab %}}
@@ -172,13 +172,13 @@ To upgrade NGINX Gateway Fabric and get the latest features and improvements, ta
- To upgrade the Gateway API resources, run:
```shell
- kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.3.0" | kubectl apply -f -
+ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v1.4.0" | kubectl apply -f -
```
or, if you installed the from the experimental channel:
```shell
- kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.3.0" | kubectl apply -f -
+ kubectl kustomize "https://github.com/nginxinc/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v1.4.0" | kubectl apply -f -
```
1. **Upgrade NGINX Gateway Fabric CRDs:**
@@ -186,7 +186,7 @@ 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://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/crds.yaml
+ kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/crds.yaml
```
1. **Upgrade NGINX Gateway Fabric deployment:**
@@ -257,7 +257,7 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K
```
```shell
- kubectl delete -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.3.0/deploy/crds.yaml
+ kubectl delete -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.4.0/deploy/crds.yaml
```
1. **Remove the Gateway API resources:**
diff --git a/site/content/installation/ngf-images/building-the-images.md b/site/content/installation/ngf-images/building-the-images.md
index f80b72271b..9276114955 100644
--- a/site/content/installation/ngf-images/building-the-images.md
+++ b/site/content/installation/ngf-images/building-the-images.md
@@ -26,7 +26,7 @@ If building the NGINX Plus image, you will also need a valid NGINX Plus license
1. Clone the repo and change into the `nginx-gateway-fabric` directory:
```shell
- git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.3.0
+ git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.4.0
cd nginx-gateway-fabric
```
@@ -62,20 +62,20 @@ If building the NGINX Plus image, you will also need a valid NGINX Plus license
```
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:1.3.0` and `nginx-gateway-fabric/nginx:1.3.0` or `nginx-gateway-fabric/nginx-plus:1.3.0`.
+ named `nginx-gateway-fabric:1.4.0` and `nginx-gateway-fabric/nginx:1.4.0` or `nginx-gateway-fabric/nginx-plus:1.4.0`.
1. Push the images to your container registry:
```shell
- docker push myregistry.example.com/nginx-gateway-fabric:1.3.0
- docker push myregistry.example.com/nginx-gateway-fabric/nginx:1.3.0
+ docker push myregistry.example.com/nginx-gateway-fabric:1.4.0
+ docker push myregistry.example.com/nginx-gateway-fabric/nginx:1.4.0
```
or
```shell
- docker push myregistry.example.com/nginx-gateway-fabric:1.3.0
- docker push myregistry.example.com/nginx-gateway-fabric/nginx-plus:1.3.0
+ docker push myregistry.example.com/nginx-gateway-fabric:1.4.0
+ docker push myregistry.example.com/nginx-gateway-fabric/nginx-plus:1.4.0
```
Make sure to substitute `myregistry.example.com/nginx-gateway-fabric` with your registry.
diff --git a/site/content/installation/ngf-images/pulling-ngf-image.md b/site/content/installation/ngf-images/pulling-ngf-image.md
index c7afc1233b..030770c5e9 100644
--- a/site/content/installation/ngf-images/pulling-ngf-image.md
+++ b/site/content/installation/ngf-images/pulling-ngf-image.md
@@ -34,11 +34,11 @@ If you are not using a Linux operating system, read the [Docker for Windows](htt
Once configured, you can now pull images from `private-registry.nginx.com`. To find your desired image, read the [Technical Specifications](https://github.com/nginxinc/nginx-gateway-fabric#technical-specifications).
-Run this command step to pull an image, replacing `` with the specific version you need, such as `1.3.0`.
+Run this command step to pull an image, replacing `` with the specific version you need, such as `1.4.0`.
```shell
- docker pull private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.3.0
+ docker pull private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.4.0
```
You can use the Docker registry API to list available image tags using your client certificate and key. The `jq` command is used to format the JSON output for easier reading.
diff --git a/site/content/installation/running-on-kind.md b/site/content/installation/running-on-kind.md
index b63df6aa02..e5f85e5fb1 100644
--- a/site/content/installation/running-on-kind.md
+++ b/site/content/installation/running-on-kind.md
@@ -68,7 +68,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.4.0"
spec:
type: NodePort
selector:
@@ -105,4 +105,4 @@ kubectl -n nginx-gateway port-forward 8080:80 8443:443
## Get Started with NGINX Gateway Fabric
-Learn how to use NGINX Gateway Fabric by exploring the tutorials in the [examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.0/examples) directory. The guides provide practical instructions and scenarios to help you use NGINX Gateway Fabric effectively.
+Learn how to use NGINX Gateway Fabric by exploring the tutorials in the [examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/examples) directory. The guides provide practical instructions and scenarios to help you use NGINX Gateway Fabric effectively.
diff --git a/site/content/overview/gateway-architecture.md b/site/content/overview/gateway-architecture.md
index d2a197920b..015bfc4e55 100644
--- a/site/content/overview/gateway-architecture.md
+++ b/site/content/overview/gateway-architecture.md
@@ -21,7 +21,7 @@ NGINX Gateway Fabric is an open source project that provides an implementation o
For a list of supported Gateway API resources and features, see the [Gateway API Compatibility]({{< relref "/overview/gateway-api-compatibility.md" >}}) documentation.
-We have more information regarding our [design principles](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.3.0/docs/developer/design-principles.md) in the project's GitHub repository.
+We have more information regarding our [design principles](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.4.0/docs/developer/design-principles.md) in the project's GitHub repository.
## NGINX Gateway Fabric at a high level
@@ -72,7 +72,7 @@ The following list describes the connections, preceeded by their types in parent
1. (HTTPS)
- Read: _NGF_ reads the _Kubernetes API_ to get the latest versions of the resources in the cluster.
- - Write: _NGF_ writes to the _Kubernetes API_ to update the handled resources' statuses and emit events. If there's more than one replica of _NGF_ and [leader election](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.3.0/charts/nginx-gateway-fabric#configuration) is enabled, only the _NGF_ pod that is leading will write statuses to the _Kubernetes API_.
+ - Write: _NGF_ writes to the _Kubernetes API_ to update the handled resources' statuses and emit events. If there's more than one replica of _NGF_ and [leader election](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.4.0/charts/nginx-gateway-fabric#configuration) is enabled, only the _NGF_ pod that is leading will write statuses to the _Kubernetes API_.
1. (HTTP, HTTPS) _Prometheus_ fetches the `controller-runtime` and NGINX metrics via an HTTP endpoint that _NGF_ exposes (`:9113/metrics` by default). Prometheus is **not** required by NGINX Gateway Fabric, and its endpoint can be turned off.
1. (File I/O)
- Write: _NGF_ generates NGINX _configuration_ based on the cluster resources and writes them as `.conf` files to the mounted `nginx-conf` volume, located at `/etc/nginx/conf.d`. It also writes _TLS certificates_ and _keys_ from [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) referenced in the accepted Gateway resource to the `nginx-secrets` volume at the path `/etc/nginx/secrets`.
@@ -86,7 +86,7 @@ The following list describes the connections, preceeded by their types in parent
1. (File I/O)
- Write: The _NGINX master_ writes to the auxiliary Unix sockets folder, which is located in the `/var/run/nginx`
directory.
- - Read: The _NGINX master_ reads the `nginx.conf` file from the `/etc/nginx` directory. This [file](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.3.0/internal/mode/static/nginx/conf/nginx.conf) contains the global and http configuration settings for NGINX. In addition, _NGINX master_ reads the NJS modules referenced in the configuration when it starts or during a reload. NJS modules are stored in the `/usr/lib/nginx/modules` directory.
+ - Read: The _NGINX master_ reads the `nginx.conf` file from the `/etc/nginx` directory. This [file](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.4.0/internal/mode/static/nginx/conf/nginx.conf) contains the global and http configuration settings for NGINX. In addition, _NGINX master_ reads the NJS modules referenced in the configuration when it starts or during a reload. NJS modules are stored in the `/usr/lib/nginx/modules` directory.
1. (File I/O) The _NGINX master_ sends logs to its _stdout_ and _stderr_, which are collected by the container runtime.
1. (File I/O) An _NGINX worker_ writes logs to its _stdout_ and _stderr_, which are collected by the container runtime.
1. (Signal) The _NGINX master_ controls the [lifecycle of _NGINX workers_](https://nginx.org/en/docs/control.html#reconfiguration) it creates workers with the new configuration and shutdowns workers with the old configuration.
diff --git a/tests/conformance/provisioner/provisioner.yaml b/tests/conformance/provisioner/provisioner.yaml
index 5862ee37ec..6dab94435f 100644
--- a/tests/conformance/provisioner/provisioner.yaml
+++ b/tests/conformance/provisioner/provisioner.yaml
@@ -68,7 +68,7 @@ spec:
spec:
serviceAccountName: nginx-gateway-provisioner
containers:
- - image: ghcr.io/nginxinc/nginx-gateway-fabric:edge
+ - image: ghcr.io/nginxinc/nginx-gateway-fabric:1.4.0
imagePullPolicy: Always
name: nginx-gateway-provisioner
securityContext: