1# Default values for gotenberg.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
5# -- Specifies that chart can be used as a condition when it is a dependency.
6# See https://helm.sh/docs/chart_best_practices/dependencies/#conditions-and-tags for more info.
11 repository: cgr.dev/chainguard-private/gotenberg
12 pullPolicy: IfNotPresent
13 # -- Overrides the image tag whose default is the chart appVersion.
14 tag: latest@sha256:79d0ea033b0dd16762dc6e91ff0b28575826c50e069e8b0f123ecc8a5fe9302a
19 # -- Specifies whether a service account should be created
21 # -- Annotations to add to the service account
23 # -- The name of the service account to use.
24 ## If not set and create is true, a name is generated using the fullname template
27# -- Set annotations for the helm test pods (for example to disable certain kube-score checks)
29# -- Image configuration for the helm test pod
31 # -- Repository for the test image
33 # -- Tag for the test image
35# -- List of additional pod labels
40# -- Define the security context for the container. By default will use upstream recommended values.
41# @default -- `{ privileged: false, runAsUser: 1001 }`, except in OpenShift where `runAsUser` is not set.
46 # -- Annotations to add to the service
48 # -- (DEPRECATED) Static IP address for LoadBalancer type service. Deprecated in Kubernetes 1.24, use provider-specific annotations instead.
50# Strategy is utilized to configure the desired upgrade approach and
51# configuration for the deployment.
53progressDeadlineSeconds: 120
55# We usually recommend not to specify default resources and to leave this as a conscious
56# choice for the user. This also increases chances charts run on environments with little
57# resources, such as Minikube. If you do want to specify resources, uncomment the following
58# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
66# -- Define the liveness probe object for the container.
73# -- Define the readiness probe object for the container.
80# -- Define the startup probe object for the container.
95 targetCPUUtilizationPercentage: 80
97 # targetMemoryUtilizationPercentage: 80
99 # -- Create a VerticalPodAutoscaler resource for right-sizing pod resources.
100 # Requires the VPA controller to be installed in the cluster.
101 # See also: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
103 # -- Update mode for VPA: Auto (resize in-place or restart), Recreate (restart to resize), Initial (set at creation only), Off (recommendations only)
105 # -- Resource policy for VPA to control which containers and resources are autoscaled, see values.yaml for an example.
108 # - containerName: gotenberg
119 # -- Unhealthy pod eviction policy for the PDB (e.g., AlwaysAllow)
120 unhealthyPodEvictionPolicy:
124topologySpreadConstraints: []
135# -- List of extra environment variables for gotenberg container.
136# Gotenberg 8.29.0+ supports OpenTelemetry via standard OTEL_* environment variables.
137# See https://gotenberg.dev/docs/configuration for details.
139# - name: OTEL_EXPORTER_OTLP_ENDPOINT
140# value: "http://otel-collector:4317"
141# - name: OTEL_TRACES_EXPORTER
143# - name: OTEL_METRICS_EXPORTER
145# - name: OTEL_LOGS_EXPORTER
148# -- List of init containers for the gotenberg pod
150# - name: init-myservice
152# command: ['sh', '-c', 'echo init container']
155 # -- Set to true to enable ingress record generation. WARNING: Gotenberg shouldn't be exposed to the internet.
157 # -- Set the class name of the ingress
159 # -- Set the annotations of the ingress
161 # kubernetes.io/ingress.class: nginx
162 # kubernetes.io/tls-acme: "true"
164 # -- Set the labels of the ingress
166 # -- Set the hostnames of the ingress, see values.yaml for an example.
168 # - host: chart-example.local
171 # pathType: ImplementationSpecific
173 # -- Set the TLS configuration for the ingress, see values.yaml for an example.
175 # - secretName: chart-example-tls
177 # - chart-example.local
178# Gateway API HTTPRoute configuration.
179# WARNING: Gotenberg shouldn't be exposed to the internet.
180# See also: https://gateway-api.sigs.k8s.io/
182 # -- Set to true to create an HTTPRoute resource
184 # -- Annotations to add to the HTTPRoute
186 # -- Labels to add to the HTTPRoute
188 # -- Parent Gateway references, see values.yaml for an example.
193 # -- Hostnames to match for routing, see values.yaml for an example.
195 # - gotenberg.example.local
196# The API module is an HTTP/1 and HTTP/2 (H2C) server. Other modules may add routes, middlewares, and health checks.
197# https://gotenberg.dev/docs/configuration#api
199 # -- Set the port on which the API should listen (default 3000)
201 # -- Enables TLS on the API server: K8S TLS secret name containing the TLS certificate and key (tls.crt, tls.key)
203 # -- Set the time limit for requests (default 30s)
205 # -- Set the request body limit for multipart/form-data (e.g., "100MB")
207 # -- Set the root path of the API - for service discovery via URL paths (default "/")
209 # -- (DEPRECATED) Set the header name to use for identifying requests. Use correlationIdHeader instead.
211 # -- Set the header name to use for identifying requests (default "Gotenberg-Trace")
212 correlationIdHeader: ""
213 # -- (DEPRECATED) Disable health check route telemetry. Use disableHealthCheckRouteTelemetry instead.
214 disableHealthCheckLogging: false
215 # -- Disable health check route telemetry. Note: upstream default changed to true in Gotenberg 8.29.0 (health check telemetry is disabled by default even without this flag).
216 disableHealthCheckRouteTelemetry: false
217 # -- Enable debug route for debugging purposes
218 enableDebugRoute: false
219 # -- Set the maximum duration to wait for the API to start
221 # -- Enable basic authentication, see also the basicAuthUsername and basicAuthPassword values
222 enableBasicAuth: false
223 # -- Name of an existing secret containing basic auth credentials (keys: username, password)
225 # -- Key in existingSecret for the username (default: username)
226 existingSecretUsernameKey: ""
227 # -- Key in existingSecret for the password (default: password)
228 existingSecretPasswordKey: ""
229 # -- Set the basic authentication username (ignored if existingSecret is set)
231 # -- Set the basic authentication password (ignored if existingSecret is set)
233 # -- Set the allowed URLs for the download from feature using a regular expression
234 downloadFromAllowList: ""
235 # -- Set the denied URLs for the download from feature using a regular expression
236 downloadFromDenyList: ""
237 # -- Reject `downloadFrom` URLs resolving to a non-public IP (loopback, RFC1918, link-local, IPv6 unique-local). A URL matching `downloadFromAllowList` skips the IP-class check; a URL matching `downloadFromDenyList` is always rejected. Added in Gotenberg 8.32.0.
238 downloadFromDenyPrivateIps: false
239 # -- Reject `downloadFrom` URLs resolving to a public IP. Setting both `downloadFromDenyPrivateIps` and `downloadFromDenyPublicIps` to true rejects every URL unless the allow-list matches. Added in Gotenberg 8.32.0.
240 downloadFromDenyPublicIps: false
241 # -- Set the maximum number of retries for the download from feature (default 4)
242 downloadFromMaxRetry: 4
243 # -- Disable the download from feature
244 disableDownloadFrom: false
245 # -- Disable telemetry on the root route
246 disableRootRouteTelemetry: false
247 # -- Disable telemetry on the debug route
248 disableDebugRouteTelemetry: false
249 # -- Disable telemetry on the version route
250 disableVersionRouteTelemetry: false
251# The Chromium module interacts with the Chromium browser to convert HTML documents to PDF.
252# https://gotenberg.dev/docs/configuration#chromium
254 # -- Number of conversions after which Chromium will automatically restart. Set to 0 to disable this feature (default 100)
256 # -- Maximum number of concurrent Chromium conversions (default 6)
258 # -- Automatically launch Chromium upon initialization if set to true; otherwise, Chromium will start at the time of the first conversion
260 # -- Maximum duration to wait for Chromium to start or restart
262 # -- Allow file:// URIs to read other file:// URIs
263 allowFileAccessFromFiles: false
264 # -- Ignore TLS/SSL errors on localhost
265 allowInsecureLocalhost: false
266 # -- Set the allowed URLs for Chromium using a regular expression
268 # -- Set the denied URLs for Chromium using a regular expression (default "^file:///[^tmp].*")
270 # -- Reject Chromium navigations and sub-resources resolving to a non-public IP (loopback, RFC1918, link-local, IPv6 unique-local). A URL matching `allowList` skips the IP-class check; a URL matching `denyList` is always rejected. Added in Gotenberg 8.32.0. Skipped when `proxyServer` or `hostResolverRules` is set.
271 denyPrivateIps: false
272 # -- Reject Chromium navigations and sub-resources resolving to a public IP. Setting both `denyPrivateIps` and `denyPublicIps` to true rejects every URL unless the allow-list matches. Added in Gotenberg 8.32.0.
274 # -- Ignore the certificate errors
275 ignoreCertificateErrors: false
276 # -- Don't enforce the same-origin policy
277 disableWebSecurity: false
278 # -- (DEPRECATED) Start Chromium with incognito mode. This flag is deprecated as of Gotenberg 8.25.0 and its value is ignored.
280 # -- Set custom mappings to the host resolver
281 hostResolverRules: ""
282 # -- Set the outbound proxy server; this switch only affects HTTP and HTTPS requests
284 # -- Disable JavaScript
285 disableJavaScript: false
286 # -- Disable the routes
288 # -- Clear Chromium cache between each conversion.
290 # -- Clear Chromium cookies between each conversion.
292 # -- Maximum request queue size for Chromium. Set to 0 to disable this feature.
294 # -- Duration after which idle Chromium browser processes are shut down (e.g., "30s"). Set to 0s or leave empty to disable (default 0s, disabled).
295 idleShutdownTimeout: ""
296# The LibreOffice module interacts with LibreOffice to convert documents to PDF, thanks to unoconv.
297# https://gotenberg.dev/docs/configuration#libreoffice
299 # -- Number of conversions after which LibreOffice will automatically restart. Set to 0 to disable this feature (default 10)
301 # -- Automatically launch LibreOffce upon initialization if set to true; otherwise, LibreOffice will start at the time of the first conversion (default false)
303 # -- Maximum duration to wait for LibreOffice to start or restart (default 10s)
305 # -- Disable the routes
307 # -- Maximum request queue size for LibreOffice. Set to 0 to disable this feature.
309 # -- Duration after which idle LibreOffice processes are shut down (e.g., "30s"). Set to 0s or leave empty to disable (default 0s, disabled).
310 idleShutdownTimeout: ""
311 # -- Set the allowed URLs for LibreOffice outbound fetches (embedded external content in OOXML/RTF/ODF) using a regular expression. Added in Gotenberg 8.32.0.
313 # -- Set the denied URLs for LibreOffice outbound fetches using a regular expression. Added in Gotenberg 8.32.0.
315 # -- Reject LibreOffice outbound fetches resolving to a non-public IP (loopback, RFC1918, link-local, IPv6 unique-local). A URL matching `allowList` skips the IP-class check; a URL matching `denyList` is always rejected. Added in Gotenberg 8.32.0.
316 denyPrivateIps: false
317 # -- Reject LibreOffice outbound fetches resolving to a public IP. Setting both `denyPrivateIps` and `denyPublicIps` to true rejects every URL unless the allow-list matches. Added in Gotenberg 8.32.0.
319# The PDF Engines module gathers all engines that can manipulate PDF files.
320# https://gotenberg.dev/docs/configuration#pdf-engines
322 # -- (DEPRECATED) Set the PDF engines and their order. This flag was deprecated in Gotenberg 8.13.0 and its value is ignored. Use the per-feature engine flags instead (mergeEngines, splitEngines, flattenEngines, convertEngines, readMetadataEngines, writeMetadataEngines, encryptEngines, embedEngines).
324 # -- Set the PDF engines and their order for the merge feature (default qpdf,pdfcpu,pdftk)
326 # -- Set the PDF engines and their order for the split feature (default pdfcpu,qpdf,pdftk)
328 # -- Set the PDF engines and their order for the flatten feature (default qpdf)
330 # -- Set the PDF engines and their order for the convert feature (default libreoffice-pdfengine)
332 # -- Set the PDF engines and their order for the read metadata feature (default exiftool)
333 readMetadataEngines: ""
334 # -- Set the PDF engines and their order for the write metadata feature (default exiftool)
335 writeMetadataEngines: ""
336 # -- Set the PDF engines and their order for the password protection feature (default qpdf,pdftk,pdfcpu)
338 # -- Set the PDF engines and their order for the file embedding feature (default pdfcpu)
340 # -- Set the PDF engines and their order for the watermark feature (default pdfcpu,pdftk)
342 # -- Set the PDF engines and their order for the stamp feature (default pdfcpu,pdftk)
344 # -- Set the PDF engines and their order for the rotate feature (default pdfcpu,pdftk)
346 # -- Set the PDF engines and their order for the read bookmarks feature (default pdfcpu)
347 readBookmarksEngines: ""
348 # -- Set the PDF engines and their order for the write bookmarks feature (default pdfcpu,pdftk)
349 writeBookmarksEngines: ""
350 # -- Disable the routes
352# The Webhook module provides a middleware that allows you to upload the output file
353# from multipart/form-data routes to the destination of your choice.
354# https://gotenberg.dev/docs/configuration#webhook
356 # -- Enable synchronous mode for the webhook feature
357 enableSyncMode: false
358 # -- Set the allowed URLs for the webhook feature using a regular expression. In Gotenberg 8.31.0+ this applies to both regular and error webhooks.
360 # -- Set the denied URLs for the webhook feature using a regular expression. In Gotenberg 8.31.0+ this applies to both regular and error webhooks. Note: 8.31.0's permissive-by-default revert means this defaults to empty again in 8.32.0+; opt into IP-class filtering via `denyPrivateIps` / `denyPublicIps`.
362 # -- Reject webhook URLs (success, error, events) resolving to a non-public IP (loopback, RFC1918, link-local, IPv6 unique-local). A URL matching `allowList` skips the IP-class check; a URL matching `denyList` is always rejected. Added in Gotenberg 8.32.0.
363 denyPrivateIps: false
364 # -- Reject webhook URLs resolving to a public IP. Setting both `denyPrivateIps` and `denyPublicIps` to true rejects every URL unless the allow-list matches. Added in Gotenberg 8.32.0.
366 # -- (DEPRECATED) Set the allowed URLs in case of an error for the webhook feature using a regular expression. Use `allowList` instead in Gotenberg 8.31.0+ — it now covers both regular and error webhooks.
368 # -- (DEPRECATED) Set the denied URLs in case of an error for the webhook feature using a regular expression. Use `denyList` instead in Gotenberg 8.31.0+ — it now covers both regular and error webhooks.
370 # -- Set the maximum number of retries for the webhook feature (default 4)
372 # -- Set the minimum duration to wait before trying to call the webhook again (default 1s)
374 # -- Set the maximum duration to wait before trying to call the webhook again (default 30s)
376 # -- Set the time limit for requests to the webhook (default 30s)
378 # -- Disable the webhook feature
380# The Prometheus module collects metrics from other modules.
381# https://gotenberg.dev/docs/configuration#prometheus
383 # -- Set the interval for collecting modules' metrics (default 1s)
385 # -- Set the namespace of modules' metrics (default "gotenberg")
387 # -- Set the metrics endpoint path (default "/prometheus/metrics")
389 # -- Disable the collect of metrics
390 disableCollect: false
391 # -- (DEPRECATED) Disable the route logging. Use disableRouteTelemetry instead.
392 disableRouterLogging: false
393 # -- Disable route telemetry for the Prometheus metrics endpoint
394 disableRouteTelemetry: false
395# The Logging module provides a logger to Gotenberg.
396# https://gotenberg.dev/docs/configuration#logging
398 # -- (DEPRECATED) Set log format. Use stdFormat instead.
400 # -- Set log standard output format - auto, json, or text (default "auto")
402 # -- Set the log level - error, warn, info, or debug (default "info")
404 # -- Prepend a specified prefix to each field in the logs
406 # -- (DEPRECATED) Enable GCP log field mapping for Cloud Run. Use stdEnableGcpFields instead.
407 enableGcpFields: false
408 # -- Enable GCP log standard output field mapping for Cloud Run
409 stdEnableGcpFields: false
410 # -- Enable GCP severity field mapping
411 enableGcpSeverity: false
413# https://gotenberg.dev/docs/configuration#graceful-shutdown
415 # -- Set the graceful shutdown duration (default 30s)
416 gracefulShutdownDurationSec: 30
417 # -- Hide the Gotenberg banner on startup
421 # -- Enable ServiceMonitor
423 # -- (string) Namespace for ServiceMonitor, defaults to release namespace
425 # -- (string) Optional job label for the target service in Prometheus
427 # -- (string) Interval at which metrics should be scraped
429 # -- (string) Timeout after which the scrape is ended
431 # -- HonorLabels chooses the metric’s labels on collisions with target labels
433 # -- List of metric relabel configs to apply to samples before ingestion
434 metricRelabelings: []
435 # -- List of relabel configs to apply to samples before scraping
437 # -- Additional annotations for the service monitor
439 # -- Additional labels for the service monitor
441# Enable or Disable Network Policy.
442# See also: https://kubernetes.io/docs/concepts/services-networking/network-policies/
445 # Allow all connections from any source. To be set to false if extraIngress is used.
447 # Allow all connections to any destinations. To be set to false if extraEgress is used.
449 # Config custom ingress rules to the NetworkPolicy.
459 # Config custom egress rules to the NetworkPolicy.