Skip to content

Commit fbd093b

Browse files
authored
Merge branch 'main' into test/change-foreign-upstream-resource-create-order
2 parents 8f91e9a + 99024b0 commit fbd093b

File tree

24 files changed

+1640
-65
lines changed

24 files changed

+1640
-65
lines changed

.github/workflows/build-base-images.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100

101101
- name: Docker meta
102102
id: meta
103-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
103+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
104104
with:
105105
images: |
106106
name=gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-base/oss
@@ -195,7 +195,7 @@ jobs:
195195

196196
- name: Docker meta
197197
id: meta
198-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
198+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
199199
with:
200200
images: |
201201
name=gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-base/plus
@@ -305,7 +305,7 @@ jobs:
305305

306306
- name: Docker meta
307307
id: meta
308-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
308+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
309309
with:
310310
images: |
311311
name=gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-base/plus

.github/workflows/build-oss.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ jobs:
126126

127127
- name: Docker meta
128128
id: meta
129-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
129+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
130130
with:
131131
context: workflow
132132
images: |

.github/workflows/build-plus.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ jobs:
155155

156156
- name: Docker meta
157157
id: meta
158-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
158+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
159159
with:
160160
images: |
161161
name=gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic${{ contains(inputs.nap-modules, 'dos') && '-dos' || '' }}${{ contains(inputs.nap-modules, 'waf') && '-nap' || '' }}${{ contains(inputs.image, 'v5') && '-v5' || '' }}/nginx-plus-ingress

.github/workflows/build-ubi-dependency.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252

5353
- name: Docker meta
5454
id: meta
55-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
55+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
5656
with:
5757
images: |
5858
name=${{ env.IMAGE_NAME }},enable=true

.github/workflows/image-promotion.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ jobs:
349349
350350
- name: Docker meta
351351
id: meta
352-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
352+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
353353
with:
354354
context: workflow
355355
images: |
@@ -465,7 +465,7 @@ jobs:
465465
466466
- name: Docker meta
467467
id: meta
468-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
468+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
469469
with:
470470
context: workflow
471471
images: |
@@ -588,7 +588,7 @@ jobs:
588588
589589
- name: Docker meta
590590
id: meta
591-
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0
591+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
592592
with:
593593
context: workflow
594594
images: |
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
NGINX Ingress Controller {{ .Chart.AppVersion }} has been installed.
22

3-
For release notes for this version please see: https://docs.nginx.com/nginx-ingress-controller/releases/
3+
For release notes, see: https://docs.nginx.com/nginx-ingress-controller/changelog/
44

5-
Installation and upgrade instructions: https://docs.nginx.com/nginx-ingress-controller/install/helm/
5+
For Helm installation instructions, see: https://docs.nginx.com/nginx-ingress-controller/install/helm/
66

77
{{ if .Release.IsUpgrade -}}
88
If you are upgrading from a version of the chart that uses older Custom Resource Definitions (CRD) it is necessary to manually upgrade the CRDs as this is not managed by Helm.
99
To update to the latest version of the CRDs:
1010
$ kubectl apply -f https://raw.githubusercontent.com/nginx/kubernetes-ingress/v{{ .Chart.AppVersion }}/deploy/crds.yaml
1111

12-
More details on upgrading the CRDs: https://docs.nginx.com/nginx-ingress-controller/install/helm#upgrading-the-crds
12+
For more details on upgrading the CRDs, see: https://docs.nginx.com/nginx-ingress-controller/install/upgrade/#upgrade-nginx-ingress-controller-crds
1313
{{- end -}}

config/crd/bases/k8s.nginx.org_policies.yaml

Lines changed: 132 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,29 @@ spec:
140140
x-kubernetes-validations:
141141
- message: 'allowed methods must be one of: GET, HEAD, POST'
142142
rule: self.all(method, method in ['GET', 'HEAD', 'POST'])
143+
cacheBackgroundUpdate:
144+
default: false
145+
description: |-
146+
CacheBackgroundUpdate allows starting a background subrequest to update an expired cache item (proxy_cache_background_update).
147+
A stale cached response is returned to the client while the cache is being updated.
148+
type: boolean
149+
cacheKey:
150+
description: |-
151+
CacheKey defines a key for caching (proxy_cache_key).
152+
By default, close to "$scheme$proxy_host$uri$is_args$args".
153+
Must not contain command execution patterns: $(, `, ;, &&, ||
154+
maxLength: 1024
155+
type: string
156+
x-kubernetes-validations:
157+
- message: 'cache key must not contain command execution patterns:
158+
$(, `, ;, &&, ||'
159+
rule: '!self.contains(''$('') && !self.contains(''`'') && !self.contains('';'')
160+
&& !self.contains(''&&'') && !self.contains(''||'')'
161+
cacheMinUses:
162+
description: CacheMinUses sets the number of requests after which
163+
the response will be cached (proxy_cache_min_uses).
164+
minimum: 1
165+
type: integer
143166
cachePurgeAllow:
144167
description: |-
145168
CachePurgeAllow defines IP addresses or CIDR blocks allowed to purge cache.
@@ -149,6 +172,20 @@ spec:
149172
items:
150173
type: string
151174
type: array
175+
cacheRevalidate:
176+
default: false
177+
description: |-
178+
CacheRevalidate enables revalidation of expired cache items using conditional requests (proxy_cache_revalidate).
179+
Uses "If-Modified-Since" and "If-None-Match" header fields.
180+
type: boolean
181+
cacheUseStale:
182+
description: |-
183+
CacheUseStale determines in which cases a stale cached response can be used (proxy_cache_use_stale).
184+
Valid parameters: error, timeout, invalid_header, updating, http_500, http_502, http_503, http_504, http_403, http_404, http_429, off.
185+
items:
186+
type: string
187+
maxItems: 11
188+
type: array
152189
cacheZoneName:
153190
description: |-
154191
CacheZoneName defines the name of the cache zone. Must start with a lowercase letter,
@@ -159,9 +196,34 @@ spec:
159196
cacheZoneSize:
160197
description: |-
161198
CacheZoneSize defines the size of the cache zone. Must be a number followed by a size unit:
162-
'k' for kilobytes, 'm' for megabytes, or 'g' for gigabytes.
199+
'k' or 'K' for kilobytes, 'm' or 'M' for megabytes, or 'g' or 'G' for gigabytes.
163200
Examples: "10m", "1g", "512k".
164-
pattern: ^[0-9]+[kmg]$
201+
pattern: ^[0-9]+[kmgKMG]$
202+
type: string
203+
conditions:
204+
description: Conditions defines when responses should not be cached
205+
or taken from cache.
206+
properties:
207+
bypass:
208+
description: |-
209+
Bypass defines conditions under which the response will not be taken from a cache (proxy_cache_bypass).
210+
If at least one value of the string parameters is not empty and is not equal to "0" then the response will not be taken from the cache.
211+
items:
212+
type: string
213+
type: array
214+
noCache:
215+
description: |-
216+
NoCache defines conditions under which the response will not be saved to a cache (proxy_no_cache).
217+
If at least one value of the string parameters is not empty and is not equal to "0" then the response will not be saved.
218+
items:
219+
type: string
220+
type: array
221+
type: object
222+
inactive:
223+
description: |-
224+
Inactive sets the time after which cached data that are not accessed get removed from the cache (inactive parameter).
225+
By default, inactive is set to 10 minutes.
226+
pattern: ^[0-9]+[smhd]$
165227
type: string
166228
levels:
167229
description: |-
@@ -172,6 +234,67 @@ spec:
172234
Invalid: "3:1", "1:3", "1:2:3".
173235
pattern: ^[12](?::[12]){0,2}$
174236
type: string
237+
lock:
238+
description: Lock configures cache locking to prevent multiple
239+
identical requests from populating the same cache element simultaneously.
240+
properties:
241+
age:
242+
description: |-
243+
Age sets the maximum time a cache lock can be held (proxy_cache_lock_age).
244+
If the last request passed to the proxied server for populating a new cache element has not completed for the specified time, one more request may be passed.
245+
pattern: ^[0-9]+[smhd]$
246+
type: string
247+
enable:
248+
default: false
249+
description: |-
250+
Enable sets whether cache locking is enabled (proxy_cache_lock).
251+
When enabled, only one request at a time will be allowed to populate a new cache element according to the proxy_cache_key.
252+
type: boolean
253+
timeout:
254+
description: |-
255+
Timeout sets a timeout for proxy_cache_lock.
256+
When the time expires, the request will be passed to the proxied server, however, the response will not be cached.
257+
pattern: ^[0-9]+[smhd]$
258+
type: string
259+
type: object
260+
x-kubernetes-validations:
261+
- message: timeout or age require enable=true
262+
rule: (!has(self.timeout) && !has(self.age)) || self.enable
263+
manager:
264+
description: Manager configures the cache manager process parameters
265+
(manager_files, manager_sleep, manager_threshold).
266+
properties:
267+
files:
268+
description: |-
269+
Files sets the maximum number of files that will be deleted in one iteration by the cache manager.
270+
During one iteration no more than manager_files items are deleted (by default, 100).
271+
minimum: 1
272+
type: integer
273+
sleep:
274+
description: |-
275+
Sleep sets the pause between cache manager iterations.
276+
Between iterations, a pause configured by manager_sleep (by default, 50 milliseconds) is made.
277+
pattern: ^[0-9]+[mu]?s$
278+
type: string
279+
threshold:
280+
description: |-
281+
Threshold sets the maximum duration of one cache manager iteration.
282+
The duration of one iteration is limited by manager_threshold (by default, 200 milliseconds).
283+
pattern: ^[0-9]+[mu]?s$
284+
type: string
285+
type: object
286+
maxSize:
287+
description: |-
288+
MaxSize sets the maximum cache size (max_size parameter).
289+
When the size is exceeded, the cache manager removes the least recently used data.
290+
pattern: ^[0-9]+[kmgKMG]$
291+
type: string
292+
minFree:
293+
description: |-
294+
MinFree sets the minimum amount of free space required on the file system with cache (min_free parameter).
295+
When there is not enough free space, the cache manager removes the least recently used data.
296+
pattern: ^[0-9]+[kmgKMG]$
297+
type: string
175298
overrideUpstreamCache:
176299
default: false
177300
description: |-
@@ -188,6 +311,13 @@ spec:
188311
Examples: "30s", "5m", "1h", "2d".
189312
pattern: ^[0-9]+[smhd]$
190313
type: string
314+
useTempPath:
315+
default: false
316+
description: |-
317+
UseTempPath controls whether temporary files and the cache are put on different file systems (use_temp_path parameter).
318+
If set to false, temporary files will be put directly in the cache directory (use_temp_path=off).
319+
Default: false (use_temp_path=off, which puts temp files directly in cache directory for better performance).
320+
type: boolean
191321
required:
192322
- cacheZoneName
193323
- cacheZoneSize

0 commit comments

Comments
 (0)