chore(deps): update docker.io/gotenberg/gotenberg docker tag to v9 #507
Open
botaniker
wants to merge 1 commit from
renovate/docker.io-gotenberg-gotenberg-9.x into main
pull from: renovate/docker.io-gotenberg-gotenberg-9.x
merge into: shivering-isles:main
shivering-isles:main
shivering-isles:renovate/registry.shivering-isles.com-dockerhub-golangci-golangci-lint-v2.13.2
shivering-isles:renovate/anomalyco-opencode-2.x
shivering-isles:renovate/postgres-0.x
shivering-isles:renovate/traefik-42.x
shivering-isles:renovate/renovate-46.x
shivering-isles:renovate/kube-state-metrics-8.x
shivering-isles:renovate/kube-prometheus-stack-92.x
shivering-isles:renovate/siderolabs-talos-1.x
shivering-isles:renovate/piped-8.x
shivering-isles:renovate/oauth2-proxy-10.x
shivering-isles:renovate/crowdsec-0.x
shivering-isles:renovate/ghcr.io-unpoller-unpoller-5.x
shivering-isles:renovate/mikefarah-yq-4.x
shivering-isles:renovate/docker.io-library-caddy-2.11.9-alpine
shivering-isles:renovate/docker.io-alpine-kubectl-1.37.2
shivering-isles:renovate/ghcr.io-peaceiris-mdbook-v0.5.0
shivering-isles:renovate/loki-21.x
shivering-isles:renovate/kube-state-metrics-9.x
shivering-isles:renovate/rancher-system-upgrade-controller-0.x
shivering-isles:renovate/ghcr.io-tektoncd-triggers-webhook-dd1edc925ee1772a9f76e2c1bc291ef6-0.x
shivering-isles:renovate/ghcr.io-tektoncd-triggers-interceptors-3176d6a3f314c3655b30bfd36e421dd5-0.x
shivering-isles:renovate/ghcr.io-tektoncd-triggers-controller-f656ca31de179ab913fa76abc255c315-0.x
shivering-isles:renovate/kubernetes-sigs-cluster-api-1.x
shivering-isles:renovate/caarlos0-svu-3.x
shivering-isles:renovate/errata-ai-vale-3.x
shivering-isles:renovate/cloudflare-5.x
shivering-isles:renovate/kubernetes-monorepo
shivering-isles:renovate/anomalyco-opencode-1.x
shivering-isles:renovate/gohugoio-hugo-0.x
shivering-isles:renovate/valkey-0.x
shivering-isles:renovate/kubernetes-kubernetes-1.x
shivering-isles:renovate/go-golang.org-x-net-vulnerability
shivering-isles:renovate/docker.io-library-python-3.x
shivering-isles:renovate/prometheus-json-exporter-0.x
shivering-isles:renovate/registry.k8s.io-autoscaling-vpa-updater-1.x
shivering-isles:renovate/registry.k8s.io-autoscaling-vpa-recommender-1.x
shivering-isles:renovate/registry.k8s.io-autoscaling-vpa-admission-controller-1.x
shivering-isles:renovate/gcr.io-projectsigstore-cosign-3.x
shivering-isles:renovate/docker.io-alpine-helm-3.x
shivering-isles:renovate/helm-helm-4.x
shivering-isles:renovate/docker.io-alpine-helm-4.x
shivering-isles:feat/si-tube
shivering-isles:renovate/longhorn-1.x
shivering-isles:feat/nametag
shivering-isles:feat/android-emulator
shivering-isles:feat/piped
shivering-isles:renovate/docker.io-helmunittest-helm-unittest-4.x
shivering-isles:renovate/tigera-operator-3.x
shivering-isles:fix/velero-schedule
shivering-isles:feat/sparkyfitness
shivering-isles:feat/playground
shivering-isles:fix/crowdsec-upload-size
shivering-isles:renovate/quay.io-shivering-isles-dovecot-2.x
shivering-isles:renovate/quay.io-shivering-isles-koolbox-2026.x
shivering-isles:feat/k8smultiarcher
shivering-isles:feat/libravatar
shivering-isles:feat/immich-velero-backup
shivering-isles:feat/forgejo-releases
shivering-isles:feat/tekton-pull-policy
shivering-isles:feat/tekton-ko
shivering-isles:feat/open-webui
shivering-isles:feat/ko-build
shivering-isles:feat/registry-mirror
shivering-isles:feat/generic-tasks
shivering-isles:feat/crowdsec-exceptions
shivering-isles:feat/tekton-earthly
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
shivering-isles/infrastructure-gitops!507
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/docker.io-gotenberg-gotenberg-9.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
8.40.0→9.1.0Release Notes
gotenberg/gotenberg (docker.io/gotenberg/gotenberg)
v9.1.0: 9.1.0Compare Source
New Features
extract-attachments(#1718)./forms/pdf/extract-attachmentsreturns the files a PDF embeds, every one or the onenamegives, as<pdf>_<attachment>:invoice.pdfgivesinvoice_factur-x.xml. Several files come back in a ZIP. A PDF without attachments, or without the named one, answers400. Thanks @Betelgeuse1.extract-text./forms/pdf/extract-textreturns the text of each PDF as a.txtfile, pages joined by a form feed.pagesselects pages;invisible,artifactsandannotationsadd invisible text, artifacts such as headers and stamps, and annotation text. Gotenberg does no OCR: a scanned page reads as empty.Both are stages too: they come last in a
stageslist, afterencrypt,signortimestampif any, and the response holds the PDFs and the extracted files.Bug Fixes
backdrop-filter: blur()rendered blank on linux/ppc64le (#1491). The ppc64le image pinned Chromium 146, which has the bug; it now installs the same Chromium as the other platforms. Thanks @florianaiautomation.splitorrenderon several PDFs, could register their output names concurrently.Chore
v9.0.0: 9.0.0Compare Source
Gotenberg 9 is out 🎉
One PDF engine
pdfcpu, QPDF, pdftk and ExifTool are replaced by litho, a PDF engine written in Go for Gotenberg, running in-process.
remediaterepairs a PDF until it conforms to one of the eleven PDF/A levels, to PDF/UA-1 or PDF/UA-2, to both together, or to Factur-X, then checks its own result:Gotenberg-Remediation-Residualcounts the violations left,Gotenberg-Remediation-Rolled-Backthe fixes undone to keep pages, text and images./forms/pdf/validateruns the same checks on any PDF.litho also signs and timestamps, redacts from the file rather than from view, infers a structure tree, renders pages as images, fills and flattens forms in the scripts the image's fonts cover, and shrinks a PDF without touching image quality. A stage that would drop the signatures of a signed PDF answers
400, as does text no font can draw.Stages, in your order
Post-processing is no longer flat fields in a fixed order. A
stageslist runs as written, on every route that makes a PDF and on/forms/pdf/pipefor PDFs you already have:26 stages, each also a
/forms/pdf/<op>route with form fields, plus six JSON read routes: info, validation, metadata, bookmarks, attachments and form fields. A broken order answers400before anything runs.LibreOffice through lok
unoconverter, Python and the
sofficelistener are replaced by lok, a long-running LibreOfficeKit process that Gotenberg supervises and restarts after a crash. Macros stay off;--libreoffice-enable-macrosruns them.Fewer dependencies, less CVE surface
Java, Python, unoconverter, pdfcpu, QPDF, pdftk and ExifTool leave the image: fewer packages to patch, and no more CVE reports about tools Gotenberg does not ship. Variants, architectures, user, port and command don't change.
Upgrading
Start from the upgrade guide.
/forms/pdfenginesroutes become/forms/pdfroutes, post-processing fields become stages, and a field with a stage twin now starts withnative. A removed route answers404naming its replacement, a Gotenberg 8 field400saying where it went:Custom builds import
github.com/gotenberg/gotenberg/v9. ThePdfEngine,PdfEngineProviderandMetricsProviderinterfaces and the Prometheus module are gone:OTEL_METRICS_EXPORTER=prometheusserves the same.Everything else
PDF
set-formselects several list items, refuses a value a field cannot hold, and lists the PDF's fields when you name a missing one.flatten-formdraws a value without appearance over the field's own background and border.400naming the characters.optimizepacks objects into compressed streams, stores identical streams once, recompresses images losslessly and subsets fonts. Every pass runs unless turned off. An encrypted input needs adecryptorencryptstage first.mergekeeps each file's bookmarks, remapped, and names the result after the first file in alphanumeric order.renderdraws pages as PNG or JPEG at the resolution you ask.--pdf-max-stream-bytes,--pdf-max-embedded-file-bytesand--pdf-max-image-pixelsbound what litho reads.--pdf-allow-list,--pdf-deny-listand their siblings filter the timestamp authorities it calls.LibreOffice
nativePdfatakesPDF/A-1b,PDF/A-2b,PDF/A-3borPDF/A-4;nativePdfuatakesPDF/UA-1. The PDF/A export is no longer redone after the other steps: end the stages withremediatewhen they may break conformance.initialView,magnificationandpageLayouttake names such asoutlineorfitWidth, not numbers.firstPageOnLeft, which LibreOffice ignored, andnativePdfFormatsare gone.nativeWatermarkColortakes#rrggbb,nativeWatermarkRotationdegrees counter-clockwise,0being horizontal. A plain and a tiled watermark together answer400..epubis no longer accepted.report.docx.pdf, even for a single one.Gotenberg-Output-Filenamestill overrides.Chromium
paperSizenames a format, for LibreOffice too:A3,A4,A5,B4,B5,Letter,LegalorTabloid.waitForWindowStatus, renamed fromwaitWindowStatus, now waits as documented.skipNetworkAlmostIdleEvent=falsenow really waits fornetworkAlmostIdle.400: ascaleout of range, a negative length, awaitDelaylonger than the API timeout. A wait that outlasts the request answers503naming the field and its value.failOnHttpStatusCodesjudges the main page by its frame, not its URL. Screenshotqualitygoes from 1 to 100.--chromium-debug-protocolis set. URL queries and extra header values stay out too.API
archivesunpacks uploaded ZIPs, bounded by--api-archive-max-entriesand--api-archive-max-ratio.NaNand infinities are refused.downloadFromURLs must be absolutehttporhttpsURLs with a host.Gotenberg-Webhook-Events-Urlis required withGotenberg-Webhook-Urland receives errors aswebhook.errorevents: the error URL, method and lists are gone. A failed upload says what the webhook answered, or why it was unreachable.Gotenberg-Output-Filenameis encoded per RFC 6266. Every answer carries the trace header, 404 and 405 included; the version header too, without authentication.--api-bind-iptakes IPv6,--api-start-timeoutbounds module readiness,/debugreports the lok and litho versions.Telemetry
gotenberg.chromium.requests,gotenberg.<engine>.queue.size,chromium.pdf,webhook.send. A failed request carrieserror.type; thestatusattribute and the errors counter are gone.server.addressand aurl.fullstripped of credentials, query and fragment. Outbound URLs lose their query in errors and logs too.4xx, and sets Error on5xxwith the status code aserror.type.OTEL_PROPAGATORSselects the propagators. Each written document is traced, its editing stages as child spans.Security
*_DENY_PRIVATE_IPSchecks, Chromium distrusts the compromised eMudhra roots from the first request, and the pinning proxy stays on with--chromium-host-resolver-rules.500at once.Removed
--log-format,--log-enable-gcp-fields,--api-trace-header,--api-disable-health-check-logging,--chromium-incognito,--webhook-error-allow-listand--webhook-error-deny-listflags, and the--pdfengines-*and--prometheus-*ones.UNOCONVERTER_BIN_PATH, replaced byLOK_BIN_PATH, and the pdfcpu, QPDF, pdftk and ExifTool paths.downloadFrom[].embedded,facturxVersionand the merge bookmark options: the guide names their replacements.Chore
mainand tests the Chromium and LibreOffice variants.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.
6b189ff7ba8988db67d2View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.