FROM rust:1-bookworm AS build
WORKDIR /src
COPY packages/failover-probe ./failover-probe
COPY packages/chaos-writer ./chaos-writer
COPY packages/consensus-model ./consensus-model
RUN set -eux; \
cargo build --release --manifest-path failover-probe/Cargo.toml; \
cargo build --release --manifest-path chaos-writer/Cargo.toml; \
cargo build --release --manifest-path consensus-model/Cargo.toml
FROM debian:bookworm-slim
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends bash jq ca-certificates procps coreutils; \
rm -rf /var/lib/apt/lists/*
COPY --from=docker:27-cli /usr/local/bin/docker /usr/local/bin/docker
COPY --from=build /src/failover-probe/target/release/failover-probe /usr/local/bin/failover-probe
COPY --from=build /src/chaos-writer/target/release/chaos-writer /usr/local/bin/chaos-writer
COPY --from=build /src/consensus-model/target/release/consensus-model /usr/local/bin/consensus-model
WORKDIR /work
CMD ["bash"]