Skip to content

build(docker): Use Debian 13 (trixie) for the build and runtime images - #813

Merged
oioki merged 1 commit into
mainfrom
build/docker-trixie
Oct 13, 2026
Merged

oioki merged 1 commit into
mainfrom
build/docker-trixie

Conversation

@oioki

@oioki oioki commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Switch the runtime image from debian:bookworm-slim (Debian 12) to debian:trixie-slim (Debian 13), and the build image from the mirrored rust:1.96.1-bookworm to the mirrored rust:1.96.1-trixie (added in getsentry/image-mirror#38). Unlike vroom's static Go binary, taskbroker links against the system OpenSSL, zlib and glibc, so the build and runtime stages move together.

trivy on the built images (same source in both, built locally):

Base Critical High Medium Low Size (gzip)
bookworm (12.15) 5 259 2022 460 116.3 MB
trixie (13.7) 1 97 702 224 104.0 MB

The criticals that go away are in libaom3, libsqlite3-0/libsqlite3-dev and zlib1g. The one left is in linux-libc-dev, which comes in with the -dev packages the runtime stage installs. Most of the remaining findings come from those packages too; trimming them is a separate change.

Both images start the same way locally: SQLite opens, the gRPC server listens, and librdkafka initializes before failing to reach a broker.

This also puts the image on the same Debian release as the distroless variant that comes next, so going from Debian 12 slim to static-debian13 happens in two smaller steps. Same change in vroom: getsentry/vroom#714.

Tested the amd64 image on the Sentry devserver, running both taskbrokers on it: regular tasks, retries and deadletters went through, and profiles sent through ingestion were processed by the raw-mode broker. Also ran it on a self-hosted instance with profiles ingested end to end.

Refs SEC-1089

@linear-code

linear-code Bot commented Oct 8, 2026

Copy link
Copy Markdown

SEC-1089

@oioki
oioki marked this pull request as ready for review October 8, 2026 12:44
@oioki
oioki requested a review from a team as a code owner October 8, 2026 12:44
Move the runtime image from debian:bookworm-slim to debian:trixie-slim,
and the build image from the mirrored rust:1.96.1-bookworm to the
mirrored rust:1.96.1-trixie so the binary links against the same OpenSSL
and glibc it runs with.

This drops four of the five critical CVEs in the image and puts it on
the same Debian release as the distroless image that comes next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@oioki
oioki force-pushed the build/docker-trixie branch from 3626356 to 076008e Compare October 13, 2026 16:50
@oioki
oioki merged commit e25ca23 into main Oct 13, 2026
27 checks passed
@oioki
oioki deleted the build/docker-trixie branch October 13, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants