Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.4.0 #3109

Merged
merged 15 commits into from Oct 4, 2022
Merged

Release 2.4.0 #3109

merged 15 commits into from Oct 4, 2022

Conversation

shaun-nx
Copy link
Contributor

Proposed changes

Updates to docs and change log

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

@github-actions github-actions bot added the documentation Pull requests/issues for documentation label Sep 29, 2022
@shaun-nx shaun-nx marked this pull request as ready for review September 29, 2022 07:52
FIXES:

* [2848](https://github.com/nginxinc/kubernetes-ingress/pull/2848) fix: Change alpine version grab to include a colon in the updater.
* [2908](https://github.com/nginxinc/kubernetes-ingress/pull/2908) segregate IC and custom resources fixtures.
Copy link
Member

@ciarams87 ciarams87 Sep 29, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just for fixing tests, it can be removed

* [2884](https://github.com/nginxinc/kubernetes-ingress/pull/2884) Include year in logs.
* [2993](https://github.com/nginxinc/kubernetes-ingress/pull/2993) Accept proxy protocol when TLS passthrough enabled.
* [3041](https://github.com/nginxinc/kubernetes-ingress/pull/3041) Support external name service for TansportServer.
* [3087](https://github.com/nginxinc/kubernetes-ingress/pull/3087) Allow omitting the default server secret from Helm installs.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would probably be better in the Helm section


* [2912](https://github.com/nginxinc/kubernetes-ingress/pull/2912) NIC + NAP DoS images.
* [3040](https://github.com/nginxinc/kubernetes-ingress/pull/3040) Add command line argument to manually disable IPV6 listeners for unsupported clusters.
* [3088](https://github.com/nginxinc/kubernetes-ingress/pull/3088) Feat/ignore helm secrets.
Copy link
Member

@ciarams87 ciarams87 Sep 29, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is lifted from the commit message, but I'd probably reword it for here - maybe "Improve secret filtering" or something.

Copy link
Member

@ciarams87 ciarams87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, just a few minor suggestions and we're good to go 😃

@shaun-nx shaun-nx marked this pull request as draft September 29, 2022 09:54
* [2908](https://github.com/nginxinc/kubernetes-ingress/pull/2908) segregate IC and custom resources fixtures.
* [2983](https://github.com/nginxinc/kubernetes-ingress/pull/2983) docs: Fix links in the NAP config doc in main.
* [2971](https://github.com/nginxinc/kubernetes-ingress/pull/2971) fix: Correct error message on missing path in path validation.
* [3095](https://github.com/nginxinc/kubernetes-ingress/pull/3095) do not create configmap is customConfigMap is used.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if instead of is

@codecov-commenter
Copy link

codecov-commenter commented Sep 29, 2022

Codecov Report

Merging #3109 (b24b1ea) into release-2.4 (39eefc4) will not change coverage.
The diff coverage is n/a.

❗ Current head b24b1ea differs from pull request most recent head 7a9a788. Consider uploading reports for the commit 7a9a788 to get more accurate results

@@             Coverage Diff              @@
##           release-2.4    #3109   +/-   ##
============================================
  Coverage        52.54%   52.54%           
============================================
  Files               58       58           
  Lines            16069    16069           
============================================
  Hits              8444     8444           
  Misses            7349     7349           
  Partials           276      276           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Copy link
Member

@lucacome lucacome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in docs/content/releases.md we usually thank external contributors next to their PR. You can see examples in the old releases.

FIXES:

* [3094](https://github.com/nginxinc/kubernetes-ingress/pull/3094) Optimise path validation.
* [2848](https://github.com/nginxinc/kubernetes-ingress/pull/2848) fix: Change alpine version grab to include a colon in the updater.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2848 and 2983 should be removed, they're docs and pipeline changes.

docs/content/releases.md Outdated Show resolved Hide resolved
OVERVIEW:

* Updates to the TransportServer resource to support [proxy_protocol](https://github.com/nginxinc/kubernetes-ingress/tree/v2.0.1/examples/proxy-protocol) on port 443, both for regular HTTPS and TLS Passthrough traffic.
* TransportServer now also supports defining and [external name service](https://kubernetes.io/docs/concepts/services-networking/service/#externalname), which will allow you to configure an external resolver for upstreams that use a domain name. For examples, see [externalname-services](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/custom-resources/externalname-services).
Copy link
Member

@ciarams87 ciarams87 Sep 30, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* TransportServer now also supports defining and [external name service](https://kubernetes.io/docs/concepts/services-networking/service/#externalname), which will allow you to configure an external resolver for upstreams that use a domain name. For examples, see [externalname-services](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/custom-resources/externalname-services).
* Updates to the TransportServer resource to support using [ExternalName services] (https://kubernetes.io/docs/concepts/services-networking/service/#externalname). For examples, see [externalname-services](https://github.com/nginxinc/kubernetes-ingress/tree/v2.4.0/examples/custom-resources/externalname-services).


OVERVIEW:

* Updates to the TransportServer resource to support [proxy_protocol](https://github.com/nginxinc/kubernetes-ingress/tree/v2.0.1/examples/proxy-protocol) on port 443, both for regular HTTPS and TLS Passthrough traffic.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure on the wording on this. Maybe something like:

Suggested change
* Updates to the TransportServer resource to support [proxy_protocol](https://github.com/nginxinc/kubernetes-ingress/tree/v2.0.1/examples/proxy-protocol) on port 443, both for regular HTTPS and TLS Passthrough traffic.
* Added support for enabling [proxy_protocol](https://github.com/nginxinc/kubernetes-ingress/tree/v2.4.0/examples/shared-examples/proxy-protocol) when port 443 is being used for both HTTPS traffic and [TLS Passthrough traffic](https://github.com/nginxinc/kubernetes-ingress/tree/v2.4.0/examples/custom-resources/tls-passthrough).

* Updates to the TransportServer resource to support [proxy_protocol](https://github.com/nginxinc/kubernetes-ingress/tree/v2.0.1/examples/proxy-protocol) on port 443, both for regular HTTPS and TLS Passthrough traffic.
* TransportServer now also supports defining and [external name service](https://kubernetes.io/docs/concepts/services-networking/service/#externalname), which will allow you to configure an external resolver for upstreams that use a domain name. For examples, see [externalname-services](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/custom-resources/externalname-services).
* VirtualServer resource now supports [wildcard hostname](https://kubernetes.io/docs/concepts/services-networking/ingress/#hostname-wildcards).
- Two new cli arguments have been added to the ingress controller.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Two new cli arguments have been added to the ingress controller.
- Two new cli arguments have been added to the Ingress Controller.

* TransportServer now also supports defining and [external name service](https://kubernetes.io/docs/concepts/services-networking/service/#externalname), which will allow you to configure an external resolver for upstreams that use a domain name. For examples, see [externalname-services](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/custom-resources/externalname-services).
* VirtualServer resource now supports [wildcard hostname](https://kubernetes.io/docs/concepts/services-networking/ingress/#hostname-wildcards).
- Two new cli arguments have been added to the ingress controller.
- [-watch-namespace](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-watch-namespace-string). This can configured by passing a comma separated list of namespaces to the `-watch-namespace` CLI argument (e.g. `-watch-namespace=ns-1,ns-2`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't a new CLI option, it has just been modified to accept a comma separated list instead of a string

@ciarams87 ciarams87 requested a review from a team September 30, 2022 12:49
docs/content/releases.md Outdated Show resolved Hide resolved
* Added support for enabling [proxy_protocol](https://github.com/nginxinc/kubernetes-ingress/tree/v2.4.0/examples/shared-examples/proxy-protocol) when port 443 is being used for both HTTPS traffic and [TLS Passthrough traffic](https://github.com/nginxinc/kubernetes-ingress/tree/v2.4.0/examples/custom-resources/tls-passthrough).
* TransportServer now also supports defining and [external name service](https://kubernetes.io/docs/concepts/services-networking/service/#externalname), which will allow you to configure an external resolver for upstreams that use a domain name. For examples, see [externalname-services](https://github.com/nginxinc/kubernetes-ingress/tree/v2.4.0/examples/custom-resources/externalname-services).
* VirtualServer resource now supports [wildcard hostname](https://kubernetes.io/docs/concepts/services-networking/ingress/#hostname-wildcards).
* NaP + DoS images are now published to our registry. See [Images with NGINX Plus](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#images-with-nginx-plus) for a detials list of images in our registry
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NGINX Ingress Controller images including the combined NGINX AppProtect WAF and NGINX AppProtect DoS solutions are now published...

* NaP + DoS images are now published to our registry. See [Images with NGINX Plus](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#images-with-nginx-plus) for a detials list of images in our registry
* Added support for watching multiple namespaces using the [-watch-namespace](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-watch-namespace-string) cli argument. This can configured by passing a comma separated list of namespaces to the `-watch-namespace` CLI argument (e.g. `-watch-namespace=ns-1,ns-2`).
* A new cli argument has been added. The [-include-year](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-include-year). This will append the current year to the log output from the ingress controller. Example output: `I20220512 09:20:42.345457`.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Post-startup configuration reloads have been optimized to reduce traffic impacts. When many resources are modified at the same time, changes are combined to reduce the number of data plane reloads.

* VirtualServer resource now supports [wildcard hostname](https://kubernetes.io/docs/concepts/services-networking/ingress/#hostname-wildcards).
* NaP + DoS images are now published to our registry. See [Images with NGINX Plus](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#images-with-nginx-plus) for a detials list of images in our registry
* Added support for watching multiple namespaces using the [-watch-namespace](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-watch-namespace-string) cli argument. This can configured by passing a comma separated list of namespaces to the `-watch-namespace` CLI argument (e.g. `-watch-namespace=ns-1,ns-2`).
* A new cli argument has been added. The [-include-year](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-include-year). This will append the current year to the log output from the ingress controller. Example output: `I20220512 09:20:42.345457`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* A new cli argument has been added. The [-include-year](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-include-year). This will append the current year to the log output from the ingress controller. Example output: `I20220512 09:20:42.345457`.
* A new cli argument has been added: [-include-year](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-include-year). This appends the current year to the log output. Example output: `I20220512 09:20:42.345457`.

* [2884](https://github.com/nginxinc/kubernetes-ingress/pull/2884) Include year in logs.
* [2993](https://github.com/nginxinc/kubernetes-ingress/pull/2993) Accept proxy protocol when TLS passthrough enabled.
* [3041](https://github.com/nginxinc/kubernetes-ingress/pull/3041) Support external name service for TansportServer.
* [2939](https://github.com/nginxinc/kubernetes-ingress/pull/2939) Add support for wildcard hostname in VirutalServer.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* [2939](https://github.com/nginxinc/kubernetes-ingress/pull/2939) Add support for wildcard hostname in VirutalServer.
* [2939](https://github.com/nginxinc/kubernetes-ingress/pull/2939) Add support for wildcard hostname in VirtualServer.


SUPPORTED PLATFORMS:

We will provide technical support for the NGINX Ingress Controller on any Kubernetes platform that is currently supported by its provider and which passes the Kubernetes conformance tests. This release was fully tested on the following Kubernetes versions: 1.19-1.25.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We will provide technical support for the NGINX Ingress Controller on any Kubernetes platform that is currently supported by its provider and which passes the Kubernetes conformance tests. This release was fully tested on the following Kubernetes versions: 1.19-1.25.
We will provide technical support for NGINX Ingress Controller on any Kubernetes platform that is currently supported by its provider and that passes the Kubernetes conformance tests. This release was fully tested on the following Kubernetes versions: 1.19-1.25.

docs/content/releases.md Outdated Show resolved Hide resolved
docs/content/releases.md Outdated Show resolved Hide resolved
docs/content/releases.md Outdated Show resolved Hide resolved
@@ -80,7 +129,7 @@ UPGRADE:
* For NGINX, use the 2.3.0 images from our [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/tags?page=1&ordering=last_updated&name=2.3.0), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress) or [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress).
* For NGINX Plus, use the 2.3.0 images from the F5 Container registry or the [AWS Marketplace](https://aws.amazon.com/marketplace/search/?CREATOR=741df81b-dfdc-4d36-b8da-945ea66b522c&FULFILLMENT_OPTION_TYPE=CONTAINER&filters=CREATOR%2CFULFILLMENT_OPTION_TYPE) or build your own image using the 2.3.0 source code.
* For Helm, use version 0.14.0 of the chart. If you're using custom resources like VirtualServer and TransportServer (`controller.enableCustomResources` is set to `true`), after you run the `helm upgrade` command, the CRDs will not be upgraded. After running the `helm upgrade` command, run `kubectl apply -f deployments/helm-chart/crds` to upgrade the CRDs.
* When upgrading using the [manifests](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/), make sure to update the [ClusterRole](https://github.com/nginxinc/kubernetes-ingress/blob/v2.3.1/deployments/rbac/rbac.yaml). This is required to enable the ExternalDNS for VirtualServer resources integration.
* When upgrading using the [manifests](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/), make sure to update the [ClusterRole](https://github.com/nginxinc/kubernetes-ingress/blob/v2.4.0/deployments/rbac/rbac.yaml). This is required to enable the ExternalDNS for VirtualServer resources integration.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* When upgrading using the [manifests](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/), make sure to update the [ClusterRole](https://github.com/nginxinc/kubernetes-ingress/blob/v2.4.0/deployments/rbac/rbac.yaml). This is required to enable the ExternalDNS for VirtualServer resources integration.
* When upgrading using the [manifests](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/), make sure to update the [ClusterRole](https://github.com/nginxinc/kubernetes-ingress/blob/v2.3.1/deployments/rbac/rbac.yaml). This is required to enable the ExternalDNS for VirtualServer resources integration.

* NGINX Ingress Controller images including the combined NGINX AppProtect WAF and NGINX AppProtect DoS solutions are now published to our registry. See [Images with NGINX Plus](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#images-with-nginx-plus) for a detailed list of images in our registry
* Added support for watching multiple namespaces using the [-watch-namespace](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-watch-namespace-string) cli argument. This can configured by passing a comma-separated list of namespaces to the `-watch-namespace` CLI argument (e.g. `-watch-namespace=ns-1,ns-2`).
* A new cli argument has been added: [-include-year](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#-include-year). This appends the current year to the log output from the ingress controller. Example output: `I20220512 09:20:42.345457`.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Brian's note above needs to go in here also:

Suggested change
* Post-startup configuration reloads have been optimized to reduce traffic impacts. When many resources are modified at the same time, changes are combined to reduce the number of data plane reloads.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I didn't realise I missed that.

@shaun-nx shaun-nx marked this pull request as ready for review October 4, 2022 09:26
@shaun-nx shaun-nx merged commit 7956665 into release-2.4 Oct 4, 2022
@shaun-nx shaun-nx deleted the r-2.4.0 branch October 4, 2022 09:47
coolbry95 pushed a commit to coolbry95/kubernetes-ingress that referenced this pull request Nov 18, 2022
* Update release docs

* Review changes

* Review changes

* Fix indentation

* Review changes

* Review changes

* Remove duplicate description lines

* Fix link to Helm

* Remove duplicate line

* Update version number of Chart.yaml

* Review changes

* Review changes

Co-authored-by: “shaun-nx” <“s.odonovan@f5.com”>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Pull requests/issues for documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants