Skip to content

Commit 24629df

Browse files
committed
Support imgproxy v3.18+
1 parent e837abc commit 24629df

6 files changed

Lines changed: 59 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.8.31 Not released
2+
3+
* Support imgproxy v3.18.0
4+
15
## 0.8.30 (2023-04-11)
26

37
* Add value to configure the service's node port

Readme.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ The above command installs a specified version of imgproxy.
104104
| **features.server.customRequestHeaders** |`PRO:` list of custom headers that imgproxy will send while requesting the source image, divided by `\;` (can be redefined by IMGPROXY_CUSTOM_HEADERS_SEPARATOR)||
105105
| **features.server.customResponseHeaders** |`PRO:` list of custom response headers, divided by \; (can be redefined by IMGPROXY_CUSTOM_HEADERS_SEPARATOR)||
106106
| **features.server.customHeadersSeparator** |`PRO:` string that will be used as a custom headers separator|`\;`|
107+
|**features.server.requestHeadersPassthrough**|`PRO:` A comma separated list of names of incoming request headers|``|
108+
|**features.server.requestHeadersPassthrough**|`PRO:` A comma-separated list of names of source image response headers|``|
107109
| **features.server.enableDebugHeaders** |when true, imgproxy will add X-Origin-Content-Length header with the value is size of the source image.|`false`|
108110
| **features.server.name** |`PRO:` The Server header value.|`imgproxy`|
109111

@@ -146,7 +148,7 @@ The above command installs a specified version of imgproxy.
146148
|**features.compression.gifOptimizeFrames**|`PRO:` when true, enables GIF frames optimization; this may produce a smaller result, but may increase compression time|`false`|
147149
|**features.compression.gifOptimizeTransparency**|`PRO:` when true, enables GIF transparency optimization; this may produce a smaller result, but may increase compression time|`false`|
148150
|**features.compression.webpCompression**|`PRO:` The compression method to use. Supported values are lossy, near_lossless, and lossless|`lossy`|
149-
|**features.compression.avifSpeed**|controls the CPU effort spent improving compression (0-8).|`8`|
151+
|**features.compression.avifSpeed**|controls the CPU effort spent improving compression (0-8).|`9`|
150152

151153
### Detection of WEBP/Avif Support by Browsers
152154

@@ -344,11 +346,13 @@ The above command installs a specified version of imgproxy.
344346
|Value|Description|Default|
345347
|-----|-----------|-------|
346348
|**features.miscellaneous.baseUrl**|base URL part which will be added to every requestsd image URL.||
349+
|**features.miscellaneous.urlReplacements**|A list of pattern=replacement pairs, semicolon (;) divided.||
347350
|**features.miscellaneous.useLinearColorspace**|when true, imgproxy will process images in linear colorspace. This will slow down processing. Note that images won’t be fully processed in linear colorspace while shrink-on-load is enabled (see below)|`false`|
348351
|**features.miscellaneous.disableShrinkOnLoad**|when true, disables shrink-on-load for JPEG and WebP. Allows to process the whole image in linear colorspace but dramatically slows down resizing and increases memory usage when working with large images|`false`|
349352
|**features.miscellaneous.stripMetadata**|when true, imgproxy will strip all metadata (EXIF, IPTC, etc.) from JPEG and WebP output images.|`true`|
350353
|**features.miscellaneous.stripColorProfile**|when `true`, imgproxy will transform the embedded color profile (ICC) to sRGB and remove it from the image.|`true`|
351354
|**features.miscellaneous.keepCopyright**|when true, imgproxy will not remove copyright info while stripping metadata.|`true`|
355+
|**features.miscellaneous.stripMetadataDPI**|The DPI metadata value that should be set for the image when its metadata is stripped.|`72.0`|
352356
|**features.miscellaneous.autoRotate**|when `true`, imgproxy will auto rotate images based on the EXIF Orientation parameter (if available in the image meta data).|`true`|
353357
|**features.miscellaneous.enforceThumbnail**|When `true` and the source image has an embedded thumbnail, imgproxy will always use the embedded thumbnail instead of the main image.|`false`|
354358
|**features.miscellaneous.returnAttachment**|when true, response header Content-Disposition will include attachment.|`false`|

imgproxy/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: A fast and secure standalone server for resizing and converting rem
33
name: imgproxy
44
icon: https://cdn.rawgit.com/imgproxy/imgproxy/master/logo.svg
55
version: 0.8.30
6-
appVersion: 3.15.0
6+
appVersion: 3.18.0
77
keywords:
88
- imgproxy
99
- image
@@ -25,7 +25,7 @@ annotations:
2525
artifacthub.io/containsSecurityUpdates: "false"
2626
artifacthub.io/images: |
2727
- name: impgroxy
28-
image: darthsim/imgproxy:v3.15.0
28+
image: darthsim/imgproxy:v3.18.0
2929
artifacthub.io/license: MIT-open-group
3030
artifacthub.io/links: |
3131
- name: imgproxy-helm chart on Github

imgproxy/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ The above command installs a specified version of imgproxy.
107107
|**features.server.customRequestHeaders**|`PRO:` list of custom headers that imgproxy will send while requesting the source image, divided by `\;` (can be redefined by IMGPROXY_CUSTOM_HEADERS_SEPARATOR)||
108108
|**features.server.customResponseHeaders**|`PRO:` list of custom response headers, divided by \; (can be redefined by IMGPROXY_CUSTOM_HEADERS_SEPARATOR)||
109109
|**features.server.customHeadersSeparator**|`PRO:` string that will be used as a custom headers separator|`\;`|
110+
|**features.server.requestHeadersPassthrough**|`PRO:` A comma separated list of names of incoming request headers|``|
111+
|**features.server.requestHeadersPassthrough**|`PRO:` A comma-separated list of names of source image response headers|``|
110112
|**features.server.enableDebugHeaders**|when true, imgproxy will add X-Origin-Content-Length header with the value is size of the source image.|`false`|
111113

112114
### Imgproxy Security Settings
@@ -156,7 +158,7 @@ The above command installs a specified version of imgproxy.
156158
|**features.compression.gifOptimizeFrames**|`PRO:` when true, enables GIF frames optimization; this may produce a smaller result, but may increase compression time|`false`|
157159
|**features.compression.gifOptimizeTransparency**|`PRO:` when true, enables GIF transparency optimization; this may produce a smaller result, but may increase compression time|`false`|
158160
|**features.compression.webpCompression**|`PRO:` The compression method to use. Supported values are lossy, near_lossless, and lossless|`lossy`|
159-
|**features.compression.avifSpeed**|controls the CPU effort spent improving compression (0-8).|`8`|
161+
|**features.compression.avifSpeed**|controls the CPU effort spent improving compression (0-8).|`9`|
160162

161163
### `PRO:` Resulting images quality calculation (v3+)
162164

@@ -381,11 +383,13 @@ The above command installs a specified version of imgproxy.
381383
|Value|Description|Default|
382384
|-----|-----------|-------|
383385
|**features.miscellaneous.baseUrl**|base URL part which will be added to every requestsd image URL.||
386+
|**features.miscellaneous.urlReplacements**|A list of pattern=replacement pairs, semicolon (;) divided.||
384387
|**features.miscellaneous.useLinearColorspace**|when true, imgproxy will process images in linear colorspace. This will slow down processing. Note that images won’t be fully processed in linear colorspace while shrink-on-load is enabled (see below)|`false`|
385388
|**features.miscellaneous.disableShrinkOnLoad**|when true, disables shrink-on-load for JPEG and WebP. Allows to process the whole image in linear colorspace but dramatically slows down resizing and increases memory usage when working with large images|`false`|
386389
|**features.miscellaneous.stripMetadata**|when true, imgproxy will strip all metadata (EXIF, IPTC, etc.) from JPEG and WebP output images.|`true`|
387390
|**features.miscellaneous.stripColorProfile**|when `true`, imgproxy will transform the embedded color profile (ICC) to sRGB and remove it from the image.|`true`|
388391
|**features.miscellaneous.keepCopyright**|when true, imgproxy will not remove copyright info while stripping metadata.|`true`|
392+
|**features.miscellaneous.stripMetadataDPI**|The DPI metadata value that should be set for the image when its metadata is stripped.|`72.0`|
389393
|**features.miscellaneous.autoRotate**|when `true`, imgproxy will auto rotate images based on the EXIF Orientation parameter (if available in the image meta data).|`true`|
390394
|**features.miscellaneous.enforceThumbnail**|When `true` and the source image has an embedded thumbnail, imgproxy will always use the embedded thumbnail instead of the main image.|`false`|
391395
|**features.miscellaneous.returnAttachment**|when true, response header Content-Disposition will include attachment.|`false`|

imgproxy/templates/env-secret.yaml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ data:
8383
{{- if .customHeadersSeparator }}
8484
IMGPROXY_CUSTOM_HEADERS_SEPARATOR: {{ .customHeadersSeparator | toString | b64enc | quote }} # {{ .customHeadersSeparator }}
8585
{{- end }}
86+
{{- if .requestHeadersPassthrough }}
87+
IMGPROXY_REQUEST_HEADERS_PASSTHROUGH: {{ .requestHeadersPassthrough | toString | b64enc | quote }} # {{ .requestHeadersPassthrough }}
88+
{{- end }}
89+
{{- if .responseHeadersPassthrough }}
90+
IMGPROXY_RESPONSE_HEADERS_PASSTHROUGH: {{ .responseHeadersPassthrough | toString | b64enc | quote }} # {{ .responseHeadersPassthrough }}
91+
{{- end }}
8692
IMGPROXY_ENABLE_DEBUG_HEADERS: {{ .enableDebugHeaders | empty | not | toString | b64enc | quote }} # {{ .enableDebugHeaders | empty | not }}
8793
{{- end }}
8894

@@ -222,8 +228,8 @@ data:
222228
{{- end }}
223229
{{- if .avifSpeed }}
224230
{{- with atoi (toString .avifSpeed) }}
225-
{{- if or (lt . 2) (gt . 8) }}
226-
{{- fail "CPU effort spent improving compression supports values 0-8 at features.compression.avifSpeed" }}
231+
{{- if or (lt . 2) (gt . 9) }}
232+
{{- fail "CPU effort spent improving compression supports values 0-9 at features.compression.avifSpeed" }}
227233
{{- end }}
228234
{{- end }}
229235
IMGPROXY_AVIF_SPEED: {{ .avifSpeed | toString | b64enc | quote }} # {{ .avifSpeed }}
@@ -369,6 +375,8 @@ data:
369375
{{- if .secretAccessKey }}
370376
AWS_SECRET_ACCESS_KEY: {{ .secretAccessKey | toString | b64enc | quote }} # {{ .secretAccessKey }}
371377
{{- end }}
378+
{{- else }}
379+
IMGPROXY_ASSUME_ROLE_NAME_ARN: {{ .iamRoleName | toString | b64enc | quote }} # {{ .iamRoleName }}
372380
{{- end }}
373381
{{- if .s3Region }}
374382
IMGPROXY_S3_REGION: {{ .s3Region | toString | b64enc | quote }} # {{ .s3Region }}
@@ -603,13 +611,19 @@ data:
603611
{{- if .baseUrl }}
604612
IMGPROXY_BASE_URL: {{ .baseUrl | toString | b64enc | quote }} # {{ .baseUrl }}
605613
{{- end }}
614+
{{- if .urlReplacements }}
615+
IMGPROXY_URL_REPLACEMENTS: {{ .urlReplacements | toString | b64enc | quote }} # {{ .urlReplacements }}
616+
{{- end }}
606617
IMGPROXY_USE_LINEAR_COLORSPACE: {{ .useLinearColorspace | empty | not | toString | b64enc | quote }} # {{ .useLinearColorspace | empty | not }}
607618
IMGPROXY_DISABLE_SHRINK_ON_LOAD: {{ .disableShrinkOnLoad | toString | eq "false" | not | toString | b64enc | quote }} # {{ .disableShrinkOnLoad | toString | eq "false" | not }}
608619
IMGPROXY_STRIP_METADATA: {{ .stripMetadata | toString | eq "false" | not | toString | b64enc | quote }} # {{ .stripMetadata | toString | eq "false" | not }}
609620
IMGPROXY_STRIP_COLOR_PROFILE: {{ .stripColorProfile | toString | eq "false" | not | toString | b64enc | quote }} # {{ .stripColorProfile | toString | eq "false" | not }}
610621
{{- if (.keepCopyright | toString | eq "false") }}
611622
IMGPROXY_KEEP_COPYRIGHT: {{ "false" | b64enc | quote }} # false
612623
{{- end }}
624+
{{- if .stripMetadataDPI }}
625+
IMGPROXY_STRIP_METADATA_DPI: {{ .stripMetadataDPI | toString | b64enc | quote }} # {{ .stripMetadataDPI }}
626+
{{- end }}
613627
IMGPROXY_AUTO_ROTATE: {{ .autoRotate | empty | not | toString | b64enc | quote }} # {{ .autoRotate | empty | not }}
614628
IMGPROXY_ENFORCE_THUMBNAIL: {{ .enforceThumbnail | toString | b64enc | quote }} # {{ .enforceThumbnail }}
615629
{{- if .returnAttachment }}

imgproxy/values.yaml

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Docker image repository, tag, policy and secrets for Kubernetes to pull it.
33
image:
44
repo: darthsim/imgproxy
5-
tag: v3.15.0
5+
tag: v3.18.0
66
pullPolicy: IfNotPresent
77
# create new image-pull-secret if enabled: true
88
pullSecrets:
@@ -370,6 +370,16 @@ features:
370370
# PRO: string that will be used as a custom headers separator;
371371
customHeadersSeparator: ";"
372372

373+
# ENV['IMGPROXY_REQUEST_HEADERS_PASSTHROUGH']
374+
# (3.16+, Pro) A comma separated list of names of incoming request headers
375+
# that should be passed through to the source image request.
376+
requestHeadersPassthrough: ""
377+
378+
# ENV['IMGPROXY_RESPONSE_HEADERS_PASSTHROUGH']
379+
# (3.16+, Pro) A comma-separated list of names of source image response headers
380+
# that should be passed through to the imgproxy response.
381+
responseHeadersPassthrough: ""
382+
373383
# ENV['IMGPROXY_ENABLE_DEBUG_HEADERS']
374384
# when true, imgproxy will add X-Origin-Content-Length header with the value is size of the source image.
375385
enableDebugHeaders: false
@@ -560,8 +570,8 @@ features:
560570
webpCompression: ~
561571

562572
# ENV['IMGPROXY_AVIF_SPEED']
563-
# controls the CPU effort spent improving compression. 0 slowest - 8 fastest.
564-
avifSpeed: "8"
573+
# controls the CPU effort spent improving compression. 0 slowest - 9 fastest.
574+
avifSpeed: "9"
565575

566576
# PRO, v3+: calculate quality for your resulting images so they fit the selected metric the best.
567577
# https://docs.imgproxy.net/autoquality?id=autoquality
@@ -849,7 +859,8 @@ features:
849859
# AWS secret
850860
secretAccessKey: ""
851861

852-
# If enabled then the IAM Role is used for the authentication
862+
# ENV['IMGPROXY_S3_ASSUME_ROLE_ARN']
863+
# (3.17+) The AWS IAM Role to Assume
853864
iamRoleName: ""
854865

855866
# ENV['IMGPROXY_S3_REGION']
@@ -1174,6 +1185,14 @@ features:
11741185
# base URL prefix that will be added to every requested image URL. For example, if the base URL is `http://example.com/images` and `/path/to/image.png` is requested, imgproxy will download the source image from `http://example.com/images/path/to/image.png`.
11751186
baseUrl: ""
11761187

1188+
# ENV['IMGPROXY_URL_REPLACEMENTS']
1189+
# (3.17+) A list of pattern=replacement pairs, semicolon (;) divided.
1190+
# imgproxy will replace source URL prefixes matching the pattern with the corresponding replacement.
1191+
# Wildcards can be included in patterns with * to match all characters except /.
1192+
# ${N} in replacement strings will be replaced with wildcard values, where N is the number of the wildcard.
1193+
# See examples at https://docs.imgproxy.net/configuration?id=source-image-urls
1194+
urlReplacements: ""
1195+
11771196
# ENV['IMGPROXY_USE_LINEAR_COLORSPACE']
11781197
# when `true`, imgproxy will process images in linear colorspace. This will slow down processing. Note that images won't be fully processed in linear colorspace while shrink-on-load is enabled (see below).
11791198
useLinearColorspace: false
@@ -1190,6 +1209,10 @@ features:
11901209
# (v3.5+) When `true`, imgproxy will not remove copyright info while stripping metadata. Default: `true`
11911210
keepCopyright: true
11921211

1212+
# ENV['IMGPROXY_STRIP_METADATA_DPI']
1213+
# (v3.18+, Pro) The DPI metadata value that should be set for the image when its metadata is stripped. Default: 72.0
1214+
stripMetadataDPI: 72.0
1215+
11931216
# ENV['IMGPROXY_STRIP_COLOR_PROFILE']
11941217
# when `true`, imgproxy will transform the embedded color profile (ICC) to sRGB and remove it from the image. Otherwise, imgproxy will try to keep it as is.
11951218
stripColorProfile: true

0 commit comments

Comments
 (0)