Skip to content

Commit f06f820

Browse files
fix(releasing): make libz.so.1 a consistent dynamic runtime dependency in distroless-libc (#25434)
1 parent ec27f90 commit f06f820

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
run: |
9292
dnf install -y --setopt=install_weak_deps=False \
9393
gcc gcc-c++ make cmake perl perl-IPC-Cmd \
94-
openssl-devel cyrus-sasl-devel \
94+
openssl-devel cyrus-sasl-devel zlib-devel \
9595
pkgconfig clang \
9696
rpm-build sudo \
9797
git tar gzip xz which findutils \

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

distribution/docker/distroless-libc/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ RUN dpkg -i vector_*_"$(dpkg --print-architecture)".deb
77

88
RUN mkdir -p /var/lib/vector
99

10+
# Stage libz at its arch-specific path so it can be copied into the distroless
11+
# runtime. distroless/cc does not include zlib; vector (via rdkafka) links
12+
# against it dynamically and we deliberately keep it as a runtime dependency.
13+
RUN src=$(dpkg -L zlib1g | grep -E '/libz\.so\.1$') && \
14+
install -D "$(realpath "$src")" "/staging${src}"
15+
1016
# distroless doesn't use static tags
1117
# hadolint ignore=DL3007
1218
FROM gcr.io/distroless/cc-debian12:latest@sha256:329e54034ce498f9c6b345044e8f530c6691f99e94a92446f68c0adf9baa8464
@@ -21,6 +27,7 @@ COPY --from=builder /usr/share/doc/vector /usr/share/doc/vector
2127
COPY --from=builder /usr/share/vector /usr/share/vector
2228
COPY --from=builder /etc/vector /etc/vector
2329
COPY --from=builder /var/lib/vector /var/lib/vector
30+
COPY --from=builder /staging/ /
2431

2532
# Smoke test
2633
RUN ["vector", "--version"]

0 commit comments

Comments
 (0)