diff --git a/.github/CHANGELOG_TEMPLATE.md b/.github/CHANGELOG_TEMPLATE.md index 1c6c08c8cd..a943fd9c54 100644 --- a/.github/CHANGELOG_TEMPLATE.md +++ b/.github/CHANGELOG_TEMPLATE.md @@ -23,10 +23,15 @@ UPGRADE: - +KNOWN ISSUES: + +- + COMPATIBILITY: - The Gateway API version: `` - NGINX version: `` +- NGINX Plus version: `` - Kubernetes version: `` CONTAINER IMAGES: diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 498b8cd383..7d52b30c7a 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -50,6 +50,14 @@ jobs: include: "deploy/helm-chart/*.yaml" regex: false + - name: Find and Replace + uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2 + with: + find: ${{ steps.vars.outputs.current_version }} + replace: ${{ inputs.version }} + include: "deploy/helm-chart/*.yaml" + regex: false + - name: Find and Replace uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2 with: @@ -61,10 +69,11 @@ jobs: - name: Generate manifests and changelog run: | sed -i -e "s/v${{ steps.vars.outputs.current_version }}/v${{ inputs.version }}/g" README.md + sed -i -e "s/\[${{ steps.vars.outputs.current_version }}\]/\[${{ inputs.version }}\]/g" README.md sed -i -e "s/VERSION = edge/VERSION = ${{ inputs.version }}/g" Makefile sed -i -e "s/VERSION = ${{ steps.vars.outputs.current_version }}/VERSION = ${{ inputs.version }}/g" conformance/Makefile sed -i -e "s/TAG = edge/TAG = ${{ inputs.version }}/g" **/Makefile - sed -i "5r .github/CHANGELOG_TEMPLATE.md" CHANGELOG.md + sed -i "6r .github/CHANGELOG_TEMPLATE.md" CHANGELOG.md sed -i -e "s/%%VERSION%%/${{ inputs.version }}/g" CHANGELOG.md make generate-manifests @@ -74,6 +83,7 @@ jobs: token: ${{ secrets.NGINX_PAT }} commit-message: Release ${{ inputs.version }} title: Release ${{ inputs.version }} + draft: true branch: docs/release-${{ inputs.version }} author: nginx-bot <integrations@nginx.com> committer: nginx-bot <integrations@nginx.com> diff --git a/CHANGELOG.md b/CHANGELOG.md index 24d147134d..47b53df64c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,59 @@ 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.2.0 + +*March 21, 2024* + +FEATURES: + +- [NGINX Plus](https://docs.nginx.com/nginx-gateway-fabric/overview/nginx-plus) can now be used as the data plane. [PR-1394](https://github.com/nginxinc/nginx-gateway-fabric/pull/1394) + - Supports dynamic upstream reloads. [PR-1469](https://github.com/nginxinc/nginx-gateway-fabric/pull/1469) + - Contains advanced Prometheus metrics. [PR-1394](https://github.com/nginxinc/nginx-gateway-fabric/pull/1394) + - Includes the NGINX Plus monitoring dashboard. [PR-1488](https://github.com/nginxinc/nginx-gateway-fabric/pull/1488) +- Support for [BackendTLSPolicy](https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/). [PR-1487](https://github.com/nginxinc/nginx-gateway-fabric/pull/1487) +- Support for URLRewrite HTTPRoute Filter. [PR-1396](https://github.com/nginxinc/nginx-gateway-fabric/pull/1396) +- NGINX Gateway Fabric will collect and report product telemetry to an F5 telemetry service every 24h. Read https://docs.nginx.com/nginx-gateway-fabric/overview/product-telemetry/ for more info, including what gets collected and how to opt out. [PR-1699](https://github.com/nginxinc/nginx-gateway-fabric/pull/1699) + +ENHANCEMENTS: + +- Stop processing resources that haven't changed. [PR-1422](https://github.com/nginxinc/nginx-gateway-fabric/pull/1422) Thanks to [Kai-Hsun Chen](https://github.com/kevin85421). +- Maintain Gateway Status order. [PR-1324](https://github.com/nginxinc/nginx-gateway-fabric/pull/1324) Thanks to [Kai-Hsun Chen](https://github.com/kevin85421). + +BUG FIXES: + +- Prevent paths in HTTPRoute matches from conflicting with internal locations in NGINX. [PR-1445](https://github.com/nginxinc/nginx-gateway-fabric/pull/1445) + +DOCUMENTATION: + +- Sample Grafana dashboard added. [PR-1620](https://github.com/nginxinc/nginx-gateway-fabric/pull/1620) +- Add a document about how to get support. [PR-1388](https://github.com/nginxinc/nginx-gateway-fabric/pull/1388) +- [Documentation](https://docs.nginx.com/nginx-gateway-fabric/installation/ngf-images) on how to build or install the NGINX Plus image. + +HELM CHART: + +- The version of the Helm chart is now 1.2.0 +- nodeSelector is now configurable. [PR-1531](https://github.com/nginxinc/nginx-gateway-fabric/pull/1531) Thanks to [Leandro Martins](https://github.com/leandrocostam) + +KNOWN ISSUES: + +- Shutdown of non-leader Pods starts leader jobs. [1738](https://github.com/nginxinc/nginx-gateway-fabric/issues/1738) +- Too many matching conditions can cause reload errors. [1107](https://github.com/nginxinc/nginx-gateway-fabric/issues/1107) +- NGF Pod fails to become ready due to nginx reload failure. [1695](https://github.com/nginxinc/nginx-gateway-fabric/issues/1695) + +COMPATIBILITY: + +- The Gateway API version: `1.0.0` +- NGINX version: `1.25.4` +- NGINX Plus version: `R31` +- Kubernetes version: `1.23+` + +CONTAINER IMAGES: + +- Control plane: `ghcr.io/nginxinc/nginx-gateway-fabric:1.2.0` +- Data plane: `ghcr.io/nginxinc/nginx-gateway-fabric/nginx:1.2.0` +- Data plane with NGINX Plus: `private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:1.2.0` + ## Release 1.1.0 *December 14, 2023* diff --git a/README.md b/README.md index b5d29aca36..e1e59d0ea0 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.1.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.1.0). +The latest release is [1.2.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.2.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.1.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.1.0/examples). | +| Latest release | For production use | [Manifests](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.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.0.0 | 1.23+ | 1.25.4 | R31 | +| 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 | | 1.0.0 | 0.8.1 | 1.23+ | 1.25.2 | n/a | | 0.6.0 | 0.8.0 | 1.23+ | 1.25.2 | n/a | diff --git a/conformance/Makefile b/conformance/Makefile index dcdfb1b70a..46ccd4f9d6 100644 --- a/conformance/Makefile +++ b/conformance/Makefile @@ -1,5 +1,5 @@ TAG = edge -VERSION = 1.1.0 # NGF version +VERSION = 1.2.0 # NGF version PREFIX = nginx-gateway-fabric NGINX_PREFIX = $(PREFIX)/nginx NGINX_PLUS_PREFIX ?= $(PREFIX)/nginx-plus diff --git a/deploy/helm-chart/Chart.yaml b/deploy/helm-chart/Chart.yaml index 7285ae509c..db7825847b 100644 --- a/deploy/helm-chart/Chart.yaml +++ b/deploy/helm-chart/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: nginx-gateway-fabric description: NGINX Gateway Fabric type: application -version: 1.1.0 +version: 1.2.0 appVersion: "edge" home: https://github.com/nginxinc/nginx-gateway-fabric icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/deploy/helm-chart/chart-icon.png diff --git a/docs/developer/release-process.md b/docs/developer/release-process.md index 64d4e5e1ab..01f2c9cca3 100644 --- a/docs/developer/release-process.md +++ b/docs/developer/release-process.md @@ -51,17 +51,22 @@ To create a new release, follow these steps: - Build NGF, NGINX and NGINX Plus container images with the release tag `X.Y.Z` and push them to the registries. - Package and publish the Helm chart to the registry. - Create a GitHub release with an autogenerated changelog and attached release artifacts. -10. Prepare and merge a PR into the main branch to update the [README](/README.md) to include the information about - the latest release and also the [changelog](/CHANGELOG.md). Also update any installation instructions to ensure - that the supported Gateway API and NGF versions are correct. Specifically, helm README and `site/content/includes/installation/install-gateway-api-resources.md`. +10. Prepare and merge a PR into the main branch to update with similar information that you did in the release +branch docs PR. Specifically: + 1. [README](/README.md) to include the information about the latest release. + 2. [changelog](/CHANGELOG.md). + 3. Helm chart `version` field. + 4. `VERSION` in top-level Makefile. + 5. Any references in the docs to the previous release. + 6. Any installation instructions to ensure that the supported Gateway API and NGF versions are correct.Specifically, helm README and `site/content/includes/installation/install-gateway-api-resources.md`. 11. Update the production branch to the latest release branch in [Netlify](https://app.netlify.com/sites/nginx-gateway-fabric/configuration/deploys#branches-and-deploy-contexts). If it's your first time, log in using Gitlab SSO and ask the docs team for permission to access the NGF project. Once the branch is updated, redeploy the docs in Netlify. Verify that the Netlify deploy passes and that the published docs look good (no obvious errors or issues). 12. Close the issue created in Step 1. 13. Ensure that the [associated milestone](https://github.com/nginxinc/nginx-gateway-fabric/milestones) is closed. 14. Verify that published artifacts in the release can be installed properly. 15. Submit the `conformance-profile.yaml` artifact from the release to the [Gateway API repo](https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports). - Create a fork of the repository - - Name the file `nginxinc-nginx-gateway-fabric.yaml` and set `gatewayAPIVersion` in the file to the - supported version by NGF. Also update the site source if necessary (see following example). + - Name the file `<version>-report.yaml` and set `gatewayAPIVersion` in the file to the + supported version by NGF. Update the README in the ngf directory and update the site source if necessary (see following example). - Open a PR. [Example](https://github.com/kubernetes-sigs/gateway-api/pull/2514) If it's your first time submitting a PR, you will need to sign a CLA using F5, Inc. as the organization. diff --git a/site/content/how-to/maintenance/upgrade-apps-without-downtime.md b/site/content/how-to/maintenance/upgrade-apps-without-downtime.md index 39616ca5cf..730708592b 100644 --- a/site/content/how-to/maintenance/upgrade-apps-without-downtime.md +++ b/site/content/how-to/maintenance/upgrade-apps-without-downtime.md @@ -57,7 +57,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.1.0/examples/cafe-example) for a basic example.{{< /note >}} +{{< note >}}See the [Cafe example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/examples/cafe-example) for a basic example.{{< /note >}} The upgrade methods in the next sections cover: @@ -122,4 +122,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.1.0/examples/traffic-splitting) from our repository. +See the [Traffic splitting example](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/examples/traffic-splitting) from our repository. diff --git a/site/content/how-to/traffic-management/advanced-routing.md b/site/content/how-to/traffic-management/advanced-routing.md index 7cf1fba8ea..92f3a270ef 100644 --- a/site/content/how-to/traffic-management/advanced-routing.md +++ b/site/content/how-to/traffic-management/advanced-routing.md @@ -34,7 +34,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.1.0/examples/advanced-routing/coffee.yaml +kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/examples/advanced-routing/coffee.yaml ``` ### Deploy the Gateway API Resources for the Coffee Applications @@ -154,7 +154,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.1.0/examples/advanced-routing/tea.yaml +kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/examples/advanced-routing/tea.yaml ``` ### Deploy the HTTPRoute for the Tea Services diff --git a/site/content/includes/installation/install-gateway-api-resources.md b/site/content/includes/installation/install-gateway-api-resources.md index 5ab5aae8e4..75585d8468 100644 --- a/site/content/includes/installation/install-gateway-api-resources.md +++ b/site/content/includes/installation/install-gateway-api-resources.md @@ -2,7 +2,7 @@ docs: "DOCS-1438" --- -{{<note>}}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.1.0/README.md#technical-specifications).{{</note>}} +{{<note>}}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.2.0/README.md#technical-specifications).{{</note>}} To install the Gateway API resources, run the following: diff --git a/site/content/installation/expose-nginx-gateway-fabric.md b/site/content/installation/expose-nginx-gateway-fabric.md index ecd0251b08..ad39594839 100644 --- a/site/content/installation/expose-nginx-gateway-fabric.md +++ b/site/content/installation/expose-nginx-gateway-fabric.md @@ -23,7 +23,7 @@ This gateway is associated with the NGINX Gateway Fabric through the **gatewayCl To create a **NodePort** service run the following command: ```shell -kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/deploy/manifests/service/nodeport.yaml +kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/deploy/manifests/service/nodeport.yaml ``` A **NodePort** service allocates a port on every cluster node. Access NGINX Gateway Fabric using any node's IP address and the allocated port. @@ -37,7 +37,7 @@ To create a **LoadBalancer** service, use the appropriate manifest for your clou 1. Run the following command: ```shell - kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/deploy/manifests/service/loadbalancer.yaml + kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/deploy/manifests/service/loadbalancer.yaml ``` 2. Lookup the public IP of the load balancer, which is reported in the `EXTERNAL-IP` column in the output of the following command: @@ -53,7 +53,7 @@ To create a **LoadBalancer** service, use the appropriate manifest for your clou 1. Run the following command: ```shell - kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.1.0/deploy/manifests/service/loadbalancer-aws-nlb.yaml + kubectl apply -f https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/v1.2.0/deploy/manifests/service/loadbalancer-aws-nlb.yaml ``` 2. In AWS, the NLB (Network Load Balancer) DNS (directory name system) name will be reported by Kubernetes instead of a public IP in the `EXTERNAL-IP` column. To get the DNS name, run: diff --git a/site/content/installation/installing-ngf/helm.md b/site/content/installation/installing-ngf/helm.md index fc05b6c09f..a3605ca9cd 100644 --- a/site/content/installation/installing-ngf/helm.md +++ b/site/content/installation/installing-ngf/helm.md @@ -265,7 +265,7 @@ 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.1.0/deploy/helm-chart/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.2.0/deploy/helm-chart/README.md#configuration). ## Next steps diff --git a/site/content/installation/installing-ngf/manifests.md b/site/content/installation/installing-ngf/manifests.md index 199ca15ba9..a50c585c98 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://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/crds.yaml + kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/crds.yaml ``` #### Edge version @@ -56,12 +56,12 @@ Deploying NGINX Gateway Fabric with Kubernetes manifests takes only a few steps. ##### For NGINX ```shell - kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-gateway.yaml + kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-gateway.yaml ``` ##### For NGINX Plus - Download the [deployment YAML](https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-plus-gateway.yaml). + Download the [deployment YAML](https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-plus-gateway.yaml). Update the `nginx-plus-gateway.yaml` file to include your chosen NGINX Plus image from the F5 Container registry or your custom image. @@ -164,14 +164,14 @@ 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://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/crds.yaml + kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/crds.yaml ``` 1. **Upgrade NGINX Gateway Fabric deployment:** - To upgrade the deployment, run: ```shell - kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-gateway.yaml + kubectl apply -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-gateway.yaml ``` @@ -234,11 +234,11 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K - To remove NGINX Gateway Fabric and its custom resource definitions (CRDs), run: ```shell - kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/nginx-gateway.yaml + kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/nginx-gateway.yaml ``` ```shell - kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.1.0/crds.yaml + kubectl delete -f https://github.com/nginxinc/nginx-gateway-fabric/releases/download/v1.2.0/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 274decc469..0cf19d1437 100644 --- a/site/content/installation/ngf-images/building-the-images.md +++ b/site/content/installation/ngf-images/building-the-images.md @@ -28,7 +28,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.1.0 + git clone https://github.com/nginxinc/nginx-gateway-fabric.git --branch v1.2.0 cd nginx-gateway-fabric ``` @@ -64,20 +64,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.1.0` and `nginx-gateway-fabric/nginx:1.1.0` or `nginx-gateway-fabric/nginx-plus:1.1.0`. + named `nginx-gateway-fabric:1.2.0` and `nginx-gateway-fabric/nginx:1.2.0` or `nginx-gateway-fabric/nginx-plus:1.2.0`. 1. Push the images to your container registry: ```shell - docker push myregistry.example.com/nginx-gateway-fabric:1.1.0 - docker push myregistry.example.com/nginx-gateway-fabric/nginx:1.1.0 + docker push myregistry.example.com/nginx-gateway-fabric:1.2.0 + docker push myregistry.example.com/nginx-gateway-fabric/nginx:1.2.0 ``` or ```shell - docker push myregistry.example.com/nginx-gateway-fabric:1.1.0 - docker push myregistry.example.com/nginx-gateway-fabric/nginx-plus:1.1.0 + docker push myregistry.example.com/nginx-gateway-fabric:1.2.0 + docker push myregistry.example.com/nginx-gateway-fabric/nginx-plus:1.2.0 ``` Make sure to substitute `myregistry.example.com/nginx-gateway-fabric` with your registry. diff --git a/site/content/installation/running-on-kind.md b/site/content/installation/running-on-kind.md index e22d602c63..76626670ae 100644 --- a/site/content/installation/running-on-kind.md +++ b/site/content/installation/running-on-kind.md @@ -58,4 +58,4 @@ kubectl -n nginx-gateway port-forward <pod-name> 8080:80 8443:443 ## Getting 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.1.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.2.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 f3fdeeae63..c0ea4e2791 100644 --- a/site/content/overview/gateway-architecture.md +++ b/site/content/overview/gateway-architecture.md @@ -19,7 +19,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.1.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.2.0/docs/developer/design-principles.md) in the project's GitHub repository. ## NGINX Gateway Fabric at a high level @@ -70,7 +70,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.1.0/deploy/helm-chart#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.2.0/deploy/helm-chart#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`. @@ -84,7 +84,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/lib/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.1.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.2.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.