Something went wrong. Try again.
jetstream v2 in zig stream.waow.tech
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435# multi-stage: compile inside x86_64 linux (glibc — matches the deploy# target; zstd/xxhash are vendored so no system dev packages are needed)FROM --platform=linux/amd64 debian:bookworm-slim AS builderRUN apt-get update && apt-get install -y --no-install-recommends curl xz-utils ca-certificates git \ && dpkg --compare-versions "$(dpkg-query -W -f='${Version}' ca-certificates)" ge 20250419~deb12u2 \ && rm -rf /var/lib/apt/lists/*RUN curl -fSL https://ziglang.org/download/0.17.0/zig-x86_64-linux-0.17.0.tar.xz | tar xJ -C /optENV PATH=/opt/zig-x86_64-linux-0.17.0:$PATHWORKDIR /build
# fetch dependencies first (cacheable — only changes with build.zig.zon)COPY build.zig build.zig.zon ./RUN zig build --fetch
COPY .git/ .git/COPY src/ src/RUN zig build -Doptimize=ReleaseSafe -Dcpu=baseline -Dtarget=x86_64-linux-gnu
FROM --platform=linux/amd64 debian:bookworm-slimRUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libcurl4 \ && dpkg --compare-versions "$(dpkg-query -W -f='${Version}' ca-certificates)" ge 20250419~deb12u2 \ && rm -rf /var/lib/apt/lists/*COPY --from=builder /build/zig-out/bin/stream /usr/local/bin/streamCOPY --from=builder /build/zig-out/bin/stream-tls-probe /usr/local/bin/stream-tls-probe# glibc arena fragmentation guard (docs/lessons-from-zlay.md #8);# helm values set it too — defense in depthENV MALLOC_ARENA_MAX=4# an explicit trim threshold also pins glibc's mmap threshold at 128 KiB, so# compaction's per-block zstd workspaces are mmapped and returned on free# instead of fragmenting the arenas (zlay runs the same pair)ENV MALLOC_TRIM_THRESHOLD_=131072EXPOSE 6008VOLUME /dataENTRYPOINT ["/usr/local/bin/stream"]