Something went wrong. Try again.
A knot based on walgit / s3 compare and swap that supports HA and Kubernetes
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334# syntax=docker/dockerfile:1.7# walknot: knot-server (and the knot2 migration tool) on distroless.# docker build -t walknot . # release (fat LTO)# docker build --build-arg PROFILE=container -t walknot . # faster, for test clustersFROM docker.io/library/rust:1.96-slim-trixie AS builderRUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates build-essential cmake perl pkg-config clang mold git \ && rm -rf /var/lib/apt/lists/*ENV RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=mold" \ CARGO_INCREMENTAL=0 \ CARGO_NET_GIT_FETCH_WITH_CLI=trueARG PROFILE=releaseWORKDIR /srcCOPY Cargo.toml Cargo.lock rust-toolchain.toml example.toml ./COPY crates ./cratesCOPY third_party ./third_partyCOPY lexicons ./lexiconsRUN --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git \ --mount=type=cache,target=/src/target \ cargo build --locked --profile "$PROFILE" --package knot-server --package knot-migrate \ && dir="$([ "$PROFILE" = dev ] && echo debug || echo "$PROFILE")" \ && mkdir -p /out \ && cp "target/$dir/knot-server" "target/$dir/knot-migrate" /out/ \ && strip /out/knot-server /out/knot-migrate
FROM gcr.io/distroless/cc-debian13:latest@sha256:d74d144baa124dd9defd01d71872bb56c49d4441dba6153ccf790364f97e64b1COPY --from=builder /out/knot-server /usr/local/bin/knot-serverCOPY --from=builder /out/knot-migrate /usr/local/bin/knot-migrateEXPOSE 5555 2222USER 65532:65532ENTRYPOINT ["/usr/local/bin/knot-server"]CMD ["--config", "/etc/knot/config.toml"]