Home

Awesome

<p align="center"> <a href="https://imgproxy.net"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.svg?sanitize=true"> <source media="(prefers-color-scheme: light)" srcset="assets/logo-light.svg?sanitize=true"> <img alt="imgproxy logo" src="assets/logo-light.svg?sanitize=true"> </picture> </a> </p> <h4 align="center"> <a href="https://imgproxy.net">Website</a> | <a href="https://imgproxy.net/blog/">Blog</a> | <a href="https://docs.imgproxy.net">Documentation</a> | <a href="https://imgproxy.net/#pro">imgproxy Pro</a> | <a href="https://hub.docker.com/r/darthsim/imgproxy/">Docker</a> | <a href="https://twitter.com/imgproxy_net">Twitter</a> | <a href="https://discord.gg/5GgpXgtC9u">Discord</a> </h4> <p align="center"> <a href="https://github.com/imgproxy/imgproxy-helm/actions"><img alt="GH Check" src="https://img.shields.io/github/actions/workflow/status/imgproxy/imgproxy-helm/check.yml?branch=master&label=Check&style=for-the-badge" /></a> </p>

This repo contains a Helm chart to deploy imgproxy.

imgproxy is a fast and secure standalone server for resizing and converting remote images. The main principles of imgproxy are simplicity, speed, and security.

TL;DR

To install imgproxy to your kubernetes cluster simply run:

helm repo add imgproxy https://helm.imgproxy.net/

# With Helm 3
helm upgrade -i imgproxy imgproxy/imgproxy

# With Helm 2
helm upgrade -i --name imgproxy imgproxy/imgproxy

Introduction

imgproxy can be used to provide a fast and secure way to replace all the image resizing code of your web application (like calling ImageMagick or GraphicsMagick, or using libraries), while also being able to resize everything on the fly, fast and easy. imgproxy is also indispensable when handling lots of image resizing, especially when images come from a remote source.

imgproxy does one thing — resizing remote images — and does it well. It works great when you need to resize multiple images on the fly to make them match your application design without preparing a ton of cached resized images or re-doing it every time the design changes.

imgproxy is a Go application, ready to be installed and used in any Unix environment — also ready to be containerized using Docker.

See this article for a good intro and all the juicy details! imgproxy: Resize your images instantly and securely

See official README for more.

Prerequisites

Installing chart

helm repo add imgproxy https://helm.imgproxy.net/

# With Helm 3
helm upgrade -i imgproxy imgproxy/imgproxy

# With Helm 2
helm upgrade -i --name imgproxy imgproxy/imgproxy

The command deploys imgproxy on the Kubernetes cluster in the default configuration. The configuration section lists various ways to override default configuration during deployment.

Tip: To list all releases use helm list

Uninstalling the Chart

helm delete imgproxy

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

Specify each parameter using the --set key=value[,key=value] argument to helm install or provide your own file via -f values.yaml. For example,

helm upgrade -i imgproxy \
  --namespace imgproxy \
  --set image.tag=v2.10.0 \
  imgproxy/imgproxy

The above command installs a specified version of imgproxy.

Supported Chart values

URL Signature Settings

ValueDescriptionDefault
features.urlSignature.enabledenable URL encodingtrue
features.urlSignature.keyhex-encoded key for URL encodingCHANGE IT!!!
features.urlSignature.salthex-encoded salt for URL encodingCHANGE IT!!!
features.urlSignature.signatureSizenumber of bytes to use for signature before encoding to Base6432

Imgproxy Server Settings

ValueDescriptionDefault
features.server.readTimeoutthe maximum duration (in seconds) for reading the entire image request, including the body10
features.server.writeTimeoutthe maximum duration (in seconds) for writing the response10
features.server.keepAliveTimeoutthe maximum duration (in seconds) to wait for the next request before closing the connection. When set to 0, keep-alive is disabled10
features.server.clientKeepAliveTimeoutthe maximum duration (in seconds) to wait for the next request before closing the HTTP client connection. The HTTP client is used to download source images. When set to 0, keep-alive is disabled.90
features.server.downloadTimeoutthe maximum duration (in seconds) for downloading the source image5
features.server.concurrencythe maximum number of image requests to be processed simultaneouslydouble number of CPU cores
features.server.maxClientsthe maximum number of simultaneous active connectionsconcurrency * 10
features.server.ttlduration in seconds sent in Expires and Cache-Control: max-age headers31536000
features.server.setCanonicalHeaderwhen true and the source image has http or https scheme, set rel="canonical" HTTP header to the value of the source image URL.false
features.server.cacheControlPassthroughwhen true and source image response contains Expires or Cache-Control headers, reuse those headerfalse
features.server.soReuseportwhen true, enables SO_REUSEPORT socket option (currently on linux and darwin only)false
features.server.pathPrefixURL path prefix.
features.server.userAgentUser-Agent header that will be sent with source image requestimgproxy/%current_version
features.server.useEtagwhen true, enables using ETag header for the cache controlfalse
features.server.etagBusterChange this to change ETags for all the images
features.server.customRequestHeadersPRO: list of custom headers that imgproxy will send while requesting the source image, divided by \; (can be redefined by IMGPROXY_CUSTOM_HEADERS_SEPARATOR)
features.server.customResponseHeadersPRO: list of custom response headers, divided by ; (can be redefined by IMGPROXY_CUSTOM_HEADERS_SEPARATOR)
features.server.customHeadersSeparatorPRO: string that will be used as a custom headers separator\;
features.server.requestHeadersPassthroughPRO: A comma separated list of names of incoming request headers``
features.server.requestHeadersPassthroughPRO: A comma-separated list of names of source image response headers``
features.server.enableDebugHeaderswhen true, imgproxy will add X-Origin-Content-Length header with the value is size of the source image.false
features.server.namePRO: The Server header value.imgproxy

Imgproxy Security Settings

ValueDescriptionDefault
features.security.secretthe authorization token. If specified, request should contain the Authorization: Bearer %secret% header
features.security.sourceUrlEncryptionKeyhex-encoded key used for source URL encryption``
features.security.maxSrcResolutionthe maximum resolution of the source image, in megapixels.16.8
features.security.maxSrcFileSizethe maximum size of the source image, in bytes.0 (disabled)
features.security.maxAnimationFramesthe maximum of animated image frames to being processed.1
features.security.maxAnimationFrameResolutionThe maximum resolution of the animated source image frame, in megapixels.0
features.security.maxSvgCheckBytesthe maximum number of bytes imgproxy will read to recognize SVG.32KB
features.security.allowOriginwhen set, enables CORS headers with provided origin. CORS headers are disabled by default.false
features.security.allowedSourceswhitelist of source image URLs prefixes divided by comma. When blank, imgproxy allows all source image URLs.
features.security.allowLoopbackSourceAddresseswhen true, allows connecting to loopback IP addresses when requesting source images.false
features.security.allowLinkSourceAddresseswhen true, allows connecting to link-local multicast and unicast IP addresses when requesting source images.false
features.security.allowPrivateSourceAddresseswhen true, allows connecting to private IP addresses when requesting source images.true
features.security.ignoreSslVerificationWhen true, disables SSL verificationfalse
features.security.allowSecurityOptionswhen true, allows usage of security-related processing options such as max_src_resolution, max_src_file_size, max_animation_frames, and max_animation_frame_resolutionfalse
features.security.developmentErrorsModewhen true, imgproxy will respond with detailed error messages. Not recommended for production because some errors may contain stack tracefalse

Image Compression Settings

ValueDescriptionDefault
features.compression.qualityquality of the resulting image, percentage80
features.compression.formatQualitydefault quality of the resulting image per format, comma divided.avif=65
features.compression.gzipCompressionGZip compression level5
features.compression.jpegProgressivewhen true, enables progressive compression of JPEGfalse
features.compression.jpegNoSubsamplePRO: when true, chrominance subsampling is disabled. This will improve quality at the cost of larger file sizefalse
features.compression.jpegTrellisQuantPRO: when true, enables trellis quantisation for each 8x8 block. Reduces file size but increases compression timefalse
features.compression.jpegOvershootDeringingPRO: when true, enables overshooting of samples with extreme values.
features.compression.jpegOptimizeScansPRO: when true, split the spectrum of DCT coefficients into separate scans. Reduces file size but increases compression time. Requires IMGPROXY_JPEG_PROGRESSIVE to be truefalse
features.compression.jpegQuantTablequantization table to use. Supported values are: 0-80
features.compression.pngInterlacedwhen true, enables interlaced compression of PNGfalse
features.compression.pngQuantizewhen true, enables PNG quantization. libvips should be built with libimagequant supportfalse
features.compression.pngQuantizationColorsmaximum number of quantization palette entries. Should be between 2 and 256256
features.compression.gifOptimizeFramesPRO: when true, enables GIF frames optimization; this may produce a smaller result, but may increase compression timefalse
features.compression.gifOptimizeTransparencyPRO: when true, enables GIF transparency optimization; this may produce a smaller result, but may increase compression timefalse
features.compression.webpCompressionPRO: The compression method to use. Supported values are lossy, near_lossless, and losslesslossy
features.compression.avifSpeedcontrols the CPU effort spent improving compression (0-8).9

Detection of WEBP/Avif Support by Browsers

ValueDescriptionDefault
features.formatsSupportDetection.webp.enabledEnables WebP support detection. When the file extension is omitted in the imgproxy URL and browser supports WebP, imgproxy will use it as the resulting formatfalse
features.formatsSupportDetection.webp.enforcedEnables WebP support detection and enforces WebP usage. If the browser supports WebP, it will be used as resulting format even if another extension is specified in the imgproxy URLfalse
features.formatsSupportDetection.avif.enabledEnables AVIF support detection.false
features.formatsSupportDetection.avif.enforcedEnables AVIF support detection and enforces AVIF usagefalse

Imgproxy Client Hints

ValueDescriptionDefault
features.clientHintsSupport.enabledEnables Client Hints support when the width is ommited for automatic responsive imagesfalse

Video Thumbnails

ValueDescriptionDefault
features.videoThumbnails.enabledPRO: when true, enables video thumbnails generationfalse
features.videoThumbnails.probeSizePRO: the maximum amount of bytes used to determine the format. Lower values can decrease memory usage but can produce inaccurate data or even lead to errors5000000
features.videoThumbnails.maxAnalyzeDurationPRO: the maximum of milliseconds used to get the stream info. Low values can decrease memory usage but can produce inaccurate data or even lead to errors. When set to 0, the heuristic is used0
features.videoThumbnails.secondPRO: the timestamp of the frame in seconds that will be used for a thumbnail1

Watermark

ValueDescriptionDefault
features.watermark.dataBase64-encoded image data
features.watermark.pathPath to the locally stored image
features.watermark.urlWatermark image URL
features.watermark.opacityWatermark base opacity
features.watermark.cacheSizePRO: size of custom watermarks cache. When set to 0, watermarks cache is disabled. By default 256 watermarks are cached256

Unsharpening

ValueDescriptionDefault
features.unsharpening.modePRO: controls when unsharpenning mask should be applied (auto, none, always).auto
features.unsharpening.weightPRO: a floating-point number that defines how neighbor pixels will affect the current pixel.1
features.unsharpening.dividorPRO: a floating-point number that defines the unsharpening strength.24

Smart Crop

ValueDescriptionDefault
features.smartCrop.advancedPRO: Enables usage of the advanced smart crop method. Advanced smart crop may take more time than regular one, yet it produces better results.false
features.smartCrop.faceDetectionPRO: Adds an additional fast face detection step to smart crop.false

Fallback Image

ValueDescriptionDefault
features.fallbackImage.dataBase64-encoded image data. You can easily calculate it with `base64 tmp/fallback.pngtr -d '\n'`
features.fallbackImage.urlfallback image URL.
features.fallbackImage.httpCodeHTTP code for the fallback image response.200
features.fallbackImage.ttlA duration (in seconds) sent via the Expires and Cache-Control:max-age HTTP headers when a fallback image was used.When blank or 0, the value from IMGPROXY_TTL is used.

Formats

ValueDescriptionDefault
features.formats.preferredlist of preferred formats, comma divided.jpeg,png,gif
features.formats.skipProcessinglist of formats that imgproxy shouldn't process, comma-divided.
DEPRECATED:features.skipProcessing.formatslist of formats that imgproxy shouldn't process, comma-divided.

Presets

ValueDescriptionDefault
features.presets.definitionsset of preset definitions, comma-divided
features.presets.onlyPresetsdisable all URL formats and enable presets-only modefalse

AWS support

ValueDescriptionDefault
features.aws.enabledWhen true, enables image fetching from Amazon S3 bucketsfalse
features.aws.accountIdAWS account ID (for authentication via IAM Role)
features.aws.iamRoleNamethe name of IAM Role used for authentication
features.aws.accessKeyIdAWS Access Key ID
features.aws.secretAccessKeyAWS Secret Access Key
features.aws.s3RegionAWS Region
features.aws.s3EndpointCustom S3 endpoint to being used by imgproxy

Google Cloud Storage support

ValueDescriptionDefault
features.gcs.enabledWhen true, enables image fetching from Google Cloud Storagefalse
features.gcs.jsonKeyGoogle Cloud JSON key. When set, enables image fetching from Google Cloud Storage buckets
features.gcs.endpointA custom Google Cloud Storage endpoint to being used by imgproxy.

MS Azure Blob Storage support

ValueDescriptionDefault
features.abs.enabledwhen true, enables image fetching from Azure Blob Storage containersfalse
features.abs.accountNameAzure storage account name
features.abs.accountKeyAzure storage account key
features.abs.endpointcustom Azure Blob Storage endpoint to being used by imgproxy

Integration to the New Relic

ValueDescriptionDefault
features.newRelic.enabledEnables New Relic integrationfalse
features.newRelic.licenseKeyNew Relic license key
features.newRelic.appNameNew Relic application name
features.newRelic.labelsThe list of New Relic labels, semicolon divided.

Integration to Open Telemetry

ValueDescriptionDefault
features.openTelemetry.enabledwhen true, imgproxy will send metrics over OpenTelemetry Metrics APIfalse
features.openTelemetry.collectorEndpointOpenTelemetry collector endpoint (host:port)``
features.openTelemetry.protocopOpenTelemetry collector protocol. Supported protocols are grpc, https, and httpgrpc
features.openTelemetry.serviceNameOpenTelemetry service nameimgproxy
features.openTelemetry.serverCertOpenTelemetry collector TLS certificate, PEM-encoded``
features.openTelemetry.clientCertOpenTelemetry client TLS certificate, PEM-encoded``
features.openTelemetry.clientKeyOpenTelemetry client TLS key, PEM-encoded``
features.openTelemetry.grpcInsecureWhen true, imgproxy will use an insecure GRPC connection unless the collector TLS certificate is not provided.true
features.openTelemetry.propagatorsa list of OpenTelemetry text map propagators, comma divided. Supported propagators are tracecontext, baggage, b3, b3multi, jaeger, xray, and ottrace``
features.openTelemetry.traceIdGeneratorOpenTelemetry trace ID generator. Supported generators are xray and randomxray
features.openTelemetry.connectionTimeoutthe maximum duration (in seconds) for establishing a connection to the OpenTelemetry collector5

Integration to Amazon CloudWatch (v3.12+)

ValueDescriptionDefault
features.amazonCloudWatch.serviceNameThe value of the ServiceName dimension which will be used in the metrics``
features.amazonCloudWatch.namespaceThe CloudWatch namespace for the metrics``
features.amazonCloudWatch.regionThe code of the AWS region to which the metrics should be sent``

Integration to Datadog (v3+)

ValueDescriptionDefault
features.datadog.enabledEnables error reporting to Datadogfalse
features.datadog.agentHostSet the address to connect to for sending metrics to the Datadog Agent.localhost
features.datadog.agentPortSet the Datadog Agent Trace port.8126
features.datadog.dogStatsdPortSet the DogStatsD port.8125
features.datadog.serviceSet desired application name.imgproxy
features.datadog.envSet the environment to which all traces will be submitted.
features.datadog.reportHostnameWhen true, sets hostname with which to mark outgoing traces.false
features.datadog.sourceHostnameAllows specifying the hostname with which to mark outgoing traces.
features.datadog.tagsSet a key/value pair which will be set as a tag on all traces.
features.datadog.analyticsEnabledAllows specifying whether Trace Search & Analytics should be enabled for integrations.false
features.datadog.metricsEnabledEnables automatic collection of runtime metrics every 10 seconds.false
features.datadog.traceStartupLogsCauses various startup info to be written when the tracer starts.true
features.datadog.traceDebugEnables detailed logs.false
features.datadog.enableAdditionalMetricsEnables additional metrhics. Warning: Since the additional metrics are treated by Datadog as custom, Datadog can additionally bill you for their usage.false

Error Reporting

ValueDescriptionDefault
features.errorReporting.bugsnag.enabledEnable integration with Bugsnagfalse
features.errorReporting.bugsnag.keyBugsnag API key. When provided, enables errors reporting to Bugsnag
features.errorReporting.bugsnag.envBugsnag stage to report to
features.errorReporting.honeybadger.enabledEnable integration with Honeybadgerfalse
features.errorReporting.honeybadger.keyHoneybadger API key.
features.errorReporting.honeybadger.envHoneybadger env to report toproduction
features.errorReporting.sentry.enabledEnable integration with Sentryfalse
features.errorReporting.sentry.dsnSentry project DSN.
features.errorReporting.sentry.envSentry environment to report toproduction
features.errorReporting.sentry.releaseSentry release to report toimgproxy/{imgproxy version}
features.errorReporting.reportDownloadingErrorswhen true, imgproxy will report downloading errorstrue

Logging

ValueDescriptionDefault
features.logging.formatthe log format. The following formats are supported: ['pretty', 'structured', 'json', 'gcp']pretty
features.logging.levelthe log level. The following levels are supported error, warn, info and debuginfo
features.logging.syslog.enabledwhen true, enables sending logs to syslogfalse
features.logging.syslog.levelmaximum log level to send to syslog. Known levels are: crit, error, warning and infoinfo
features.logging.syslog.networknetwork that will be used to connect to syslog. When blank, the local syslog server will be used. Known networks are tcp, tcp4, tcp6, udp, udp4, udp6, ip, ip4, ip6, unix, unixgram and unixpacket
features.logging.syslog.addressaddress of the syslog service. Not used if IMGPROXY_SYSLOG_NETWORK is blank.
features.logging.syslog.tagspecific syslog tagimgproxy

Memory Usage Tweaks

ValueDescriptionDefault
features.memoryUsageTweaks.downloadBufferSizethe initial size (in bytes) of a single download buffer. When zero, initializes empty download buffers0
features.memoryUsageTweaks.gzipBufferSizethe initial size (in bytes) of a single GZip buffer. When zero, initializes empty GZip buffers. Makes sense only when GZip compression is enabled0
features.memoryUsageTweaks.freeMemoryIntervalthe interval (in seconds) at which unused memory will be returned to the OS.10
features.memoryUsageTweaks.bufferPoolCalibrationThresholdthe number of buffers that should be returned to a pool before calibration1024

Miscellaneous imgproxy Settings

ValueDescriptionDefault
features.miscellaneous.baseUrlbase URL part which will be added to every requestsd image URL.
features.miscellaneous.urlReplacementsA list of pattern=replacement pairs, semicolon (;) divided.
features.miscellaneous.useLinearColorspacewhen 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
features.miscellaneous.disableShrinkOnLoadwhen 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 imagesfalse
features.miscellaneous.stripMetadatawhen true, imgproxy will strip all metadata (EXIF, IPTC, etc.) from JPEG and WebP output images.true
features.miscellaneous.stripColorProfilewhen true, imgproxy will transform the embedded color profile (ICC) to sRGB and remove it from the image.true
features.miscellaneous.keepCopyrightwhen true, imgproxy will not remove copyright info while stripping metadata.true
features.miscellaneous.stripMetadataDPIThe DPI metadata value that should be set for the image when its metadata is stripped.72.0
features.miscellaneous.autoRotatewhen true, imgproxy will auto rotate images based on the EXIF Orientation parameter (if available in the image meta data).true
features.miscellaneous.enforceThumbnailWhen true and the source image has an embedded thumbnail, imgproxy will always use the embedded thumbnail instead of the main image.false
features.miscellaneous.returnAttachmentwhen true, response header Content-Disposition will include attachment.false
features.miscellaneous.svgFixUnsupportedwhen true, imgproxy will try to replace SVG features unsupported by librsvg to minimize SVG rendering error. This config only takes effect on SVG rasterization.false
features.miscellaneous.stripMetadatawhether to strip all metadata (EXIF, IPTC, etc.) from JPEG and WebP output imagestrue

k8s deployment

Deployment specific options.

ValueDescriptionDefault
image.pullSecrets.passwordPassword to your private registry``
image.pullSecrets.registryURL of a private registry you want to authorize to``
image.pullSecrets.usernameLogin to your private registry``
image.addPullSecretsList of existing image pull secrets[]
resources.deployment.affinityNode and inter-pod affinity configuration
resources.deployment.annotationsCustom annotations for imgproxy deployment{}
resources.pod.annotationsCustom annotations for imgproxy pod{}
resources.pod.labelsCustom labels for imgproxy pods{}
resources.deployment.readinessProbeTimeouts and counters for the readiness probe
resources.deployment.lifecylcleLifecycle hook for the preStart or PreStop commands
resources.deployment.livenessProbeTimeouts and counters for the liveness probe
resources.deployment.minReadySecondsMinimum ready seconds for the statement set
resources.deployment.nodeSelectorA node selector labels
resources.deployment.priority.nameThe name of the priority class
resources.deployment.priority.levelThe level of the pod priority0
resources.deployment.priority.preemptingIf the pod should be preempting (k8s v1.19+)true
resources.podDisruptionBudget.enabledEnable or disable a disruption budget policyfalse
resources.podDisruptionBudget.maxUnavailablemaxUnavailable option for the PodDisruptionBudget0
resources.podDisruptionBudget.minAvailableminAvailable option for the PodDisruptionBudget0
resources.deployment.replicaCountHow many pods with imgproxy should be running simultaneously (DEPRECATED, use replicas.default instead!)1
resources.deployment.replicas.defaultHow many pods with imgproxy should be running after deployment1
resources.deployment.replicas.minCountThe minimal number of pods the imgproxy can be scaled to.1
resources.deployment.replicas.maxCountThe maximum number of pods the imgproxy can be scaled to.1
resources.deployment.replicas.stepCountThe max number of pods to be added/dropped during autoscaling step.1
resources.deployment.replicas.stepSecondsThe period in seconds (1-1800) during which up to stepCount pods can be added or dropped by autoscaler.60
resources.deployment.replicas.stabilizationIntervalThe number of seconds for which past recommendations should be considered while scaling up or scaling down (0 - 3600) to prevent flapping.300
resources.deployment.replicas.cpuUtilizationThe target percentage for the average CPU utilization by pods after which they should be scaled.80
resources.deployment.resourcesHash of resource limits for your pods{}
resources.deployment.securityContextHash of security context settings for your pods{}
resources.deployment.terminationGracePeriodSecondsA custom amount of time to terminate the app30
resources.deployment.tolerationsTolerations for Kubernetes taints
resources.deployment.topologySpreadConstraintstopologySpreadConstraints for distributing pods across zones[]
resources.serviceAccount.existingNameThe name of an existing service account to be used by deployments``
resources.serviceAccount.annotationsAnnotations for the Kubernetes service account for imgproxy``
resources.service.typeKubernetes service type for imgproxyClusterIP
resources.service.loadBalancerIPLoad balancer ip for service type "LoadBalancer"''
resources.service.loadBalancerSourceRangesLoad balancer source ranges for service type "LoadBalancer"`[]
resources.service.externalTrafficPolicyEnable client source IP preservationCluster
resources.service.nodePortSet the initial value when Kubernetes type is NodePort``

Ingress configuration

ValueDescriptionDefault
resources.ingress.acmeEnables the ingress resource annotation which tells cert-manager to issue a Let's Encrypt certificatefalse
resources.ingress.annotationsAdditional annotations for the ingress resource
resources.ingress.enabledWhen true, enables ingress resource for imgproxyfalse
resources.ingress.health.whitelistComma separated string of CIDR addresses that are allowed to access /health url of imgproxy
resources.ingress.hostsHostnames for the ingress resource to use["example.com"]
resources.ingress.pathSuffixSuffix to be added to path prefix, for example wildcard '*' for AWS balancer
resources.ingress.tlsTLS config array
resources.ingress.tls[].hostsHostnames this tls secret is used for["example.com"]
resources.ingress.tls[].secretNameName of the k8s Secret resource which stores crt & key for the ingress resource

Monitoring

Options to configure ServiceMonitor for Prometheus Operator.

ValueDescriptionDefault
features.prometheus.enabledSet IMGPROXY_PROMETHEUS_BIND environment variable to bind metrics to port 8081false
features.prometheus.namespaceSet IMGPROXY_PROMETHEUS_NAMESPACE environment variable to prepend prefix to the names of metrics""
resources.serviceMonitor.enabledUse a ServiceMonitor to collect metricstrue
resources.serviceMonitor.honorLabelsChooses the metric's labels on collisions with target labelstrue
resources.serviceMonitor.intervalInterval at which metrics should be scraped (if it differs from default one)0
resources.serviceMonitor.namespaceNamespace with PrometheusOperatormonitoring
resources.serviceMonitor.selectorSelector to select Podsrelease: prometheus-operator
resources.serviceMonitor.targetLabelsTransfers mentioned labels on the Kubernetes Service onto the target["app","release"]

See values.yaml for some more Kubernetes-specific configuration options.

Persistence

Options to mount a persistent volume.

ValueDescriptionDefault
persistence.enabledEnable persistence for deployment.false
persistence.nameSet name for persistent volume claim.imgproxy-data
persistence.existingClaimReference an existing PVC instead of creating a new one.""
persistence.mountPathMount path for PVC in the imgproxy pod./images
persistence.subPathMount sub path of the persistent volume.""
persistence.accessModesAccess modes for the persistent volume.- ReadWriteOnce
persistence.sizeStorage size of the PV.10Gi
persistence.storageClassSet the storageClass for the persistent volume claim.""
persistence.dataSourceCreate a PV from a data source (e.g. snapshot).""

Other

ValueDescriptionDefault
nameOverrideString to partially override imgproxy.fullname template with a string (will be appended to the release name)nil
fullnameOverrideString to fully override imgproxy.fullname template with a string (will be used as pod name prefix instead of release name)nil

You can also add custom env variables for the latest version of imgproxy:

# values.yml
---
# ...
features:
  # ...
  custom:
    FOO: bar

Notice, that all custom env variables are sent through the secret (encoded to base64 under the hood).