-
Notifications
You must be signed in to change notification settings - Fork 94
NGINX Ingress Controller Release 5.1.0 #730
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -175,8 +175,14 @@ condition: | |||||
|Field | Description | Type | Required | | ||||||
| ---| ---| ---| --- | | ||||||
|``jwt`` | defines a JWT condition to rate limit against. | [ratelimit.condition.jwt](#ratelimitconditionjwt) | No | | ||||||
|``default`` | sets the rate limit in this policy to be the default if no conditions are met. In a group of policies with the same JWT condition, only one policy can be the default. | ``bool`` | No | | ||||||
|``variables`` | defines a Variable condition to rate limit against. | [ratelimit.condition.variables](#ratelimitconditionvariables) | No | | ||||||
|``default`` | sets the rate limit in this policy to be the default if no conditions are met. In a group of policies with the same condition, only one policy can be the default. | ``bool`` | No | | ||||||
{{% /table %}} | ||||||
{{< note >}} | ||||||
|
||||||
One condition of type `jwt` or `variables` is required. Only ony condition per Policy is supported. | ||||||
|
||||||
{{< /note >}} | ||||||
|
||||||
The rate limit policy with condition is designed to be used in combination with one or more rate limit policies. For example, multiple rate limit policies with [RateLimit.Condition.JWT](#ratelimitconditionjwt) can be used to apply different tiers of rate limit based on the value of a JWT claim. For a practical example of tiered rate limiting by the value of a JWT claim, see the example in our [GitHub repository](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/rate-limit-tiered-jwt-claim/README.md). | ||||||
|
||||||
|
@@ -213,6 +219,27 @@ The rate limit policy will only apply to requests that contain a JWT with the sp | |||||
|``match`` | the value of the claim to match against. | ``string`` | Yes | | ||||||
{{% /table %}} | ||||||
|
||||||
### RateLimit.Condition.Variables | ||||||
|
||||||
RateLimit.Condition.Variables defines a condition for a rate limit by NGINX variable. For example, here we define a condition for a rate limit policy that only applies to requests with the request method with a value `GET`: | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
```yaml | ||||||
variables: | ||||||
- name: $request_method | ||||||
match: GET | ||||||
``` | ||||||
|
||||||
{{< note >}} | ||||||
Only one variable at a time is supported at present. | ||||||
{{< /note >}} | ||||||
|
||||||
{{% table %}} | ||||||
|Field | Description | Type | Required | | ||||||
| ---| ---| ---| --- | | ||||||
|``name`` | the name of the NGINX variable to be rate limit by. | ``string`` | Yes | | ||||||
|``match`` | the value of the NGINX variable to match against. Values prefixed with the `~` character denote the following is a [regular expression](https://nginx.org/en/docs/http/ngx_http_map_module.html#map). | ``string`` | Yes | | ||||||
{{% /table %}} | ||||||
|
||||||
### APIKey | ||||||
|
||||||
The API Key auth policy configures NGINX to authorize client requests based on the presence of a valid API Key in a header or query param specified in the policy. | ||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -5,6 +5,57 @@ toc: true | |||||
nd-content-type: reference | ||||||
nd-product: NIC | ||||||
nd-docs: DOCS-616 | ||||||
--- | ||||||
## 5.1.0 | ||||||
|
||||||
30 Jun 2025 | ||||||
|
||||||
This release of NGINX Ingress Controller brings with it initial connectivity to the NGINX One Console! With this, you can now manage your NGINX instances that are part of the NGINX Ingress Controller. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
This release also brings with it the ability to perform Rate Limiting to your APIs based on a supplied NGINX variable and its value. With this capability, you now have more finer grained control over how frequently specific users access your resources. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
Lastly, in our previous release of v5.0.0, we removed support for Open Tracing. This release brings back this observability capability through native NGINX Open Telemetry Traces allowing you to monitor the internal traffic of your applications. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
### <i class="fa-solid fa-rocket"></i> Features | ||||||
- [7642](https://github.com/nginx/kubernetes-ingress/pull/7642) Add OpenTelemetry support | ||||||
- [7916](https://github.com/nginx/kubernetes-ingress/pull/7916) Add support for Agent V3 and Connecting to NGINX One Console | ||||||
- [7884](https://github.com/nginx/kubernetes-ingress/pull/7884) Tiered rate limits with variables | ||||||
- [7765](https://github.com/nginx/kubernetes-ingress/pull/7765) Add OIDC PKCE configuration through Policy | ||||||
- [7832](https://github.com/nginx/kubernetes-ingress/pull/7832) Add request_method to rate-limit Policy | ||||||
- [7695](https://github.com/nginx/kubernetes-ingress/pull/7695) Add ConfigMapKeys & MGMTConfigMapKeys to Telemetry | ||||||
- [7705](https://github.com/nginx/kubernetes-ingress/pull/7705) Add Context to logging for JSON and TEXT formats | ||||||
|
||||||
### <i class="fa-solid fa-bug-slash"></i> Fixes | ||||||
|
||||||
- [7651](https://github.com/nginx/kubernetes-ingress/pull/7651) Use pod labels as headless selector labels | ||||||
- [7691](https://github.com/nginx/kubernetes-ingress/pull/7691) Avoid applying updates on Ingress Controller shutdown | ||||||
- [7748](https://github.com/nginx/kubernetes-ingress/pull/7748) Add ; in oidc files | ||||||
- [7786](https://github.com/nginx/kubernetes-ingress/pull/7786) Correct namespace for mgmt secrets | ||||||
- [7853](https://github.com/nginx/kubernetes-ingress/pull/7853) Update template for custom redirect URI | ||||||
- [7865](https://github.com/nginx/kubernetes-ingress/pull/7865) Maintain HeadlessService on upgrade | ||||||
|
||||||
### <i class="fa-solid fa-upload"></i> Dependencies | ||||||
|
||||||
- [7647](https://github.com/nginx/kubernetes-ingress/pull/7647), [7666](https://github.com/nginx/kubernetes-ingress/pull/7666), [7711](https://github.com/nginx/kubernetes-ingress/pull/7711), [7767](https://github.com/nginx/kubernetes-ingress/pull/7767), [7798](https://github.com/nginx/kubernetes-ingress/pull/7798), [7824](https://github.com/nginx/kubernetes-ingress/pull/7824), [7854](https://github.com/nginx/kubernetes-ingress/pull/7854), [7900](https://github.com/nginx/kubernetes-ingress/pull/7900), [7918](https://github.com/nginx/kubernetes-ingress/pull/7918), [7926](https://github.com/nginx/kubernetes-ingress/pull/7926) Bump Go dependancies | ||||||
- [7714](https://github.com/nginx/kubernetes-ingress/pull/7714), [7788](https://github.com/nginx/kubernetes-ingress/pull/7788), [7825](https://github.com/nginx/kubernetes-ingress/pull/7825), [7855](https://github.com/nginx/kubernetes-ingress/pull/7855), [7890](https://github.com/nginx/kubernetes-ingress/pull/7890), [7888](https://github.com/nginx/kubernetes-ingress/pull/7888), [7893](https://github.com/nginx/kubernetes-ingress/pull/7893), [7903](https://github.com/nginx/kubernetes-ingress/pull/7903) Bump Docker dependencies | ||||||
- [7808](https://github.com/nginx/kubernetes-ingress/pull/7808) Update kubernetes version to v1.33.1 in helm schema | ||||||
- [7896](https://github.com/nginx/kubernetes-ingress/pull/7896) Update go version to 1.24.4 | ||||||
|
||||||
### <i class="fa-solid fa-download"></i> Upgrade | ||||||
|
||||||
- For NGINX, use the 5.1.0 images from our | ||||||
[DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/tags?page=1&ordering=last_updated&name=5.1.0), | ||||||
[GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress), | ||||||
[Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress). | ||||||
- For NGINX Plus, use the 5.1.0 images from the F5 Container registry or build your own image using the 5.1.0 source code | ||||||
- For Helm, use version 2.2.0 of the chart. | ||||||
|
||||||
### <i class="fa-solid fa-life-ring"></i> Supported Platforms | ||||||
|
||||||
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.25-1.33. | ||||||
|
||||||
--- | ||||||
## 5.0.0 | ||||||
|
||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2.1.0 | ||
2.2.0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
3.1.0 | ||
3.2.0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
5.0.0 | ||
5.1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.