pg_replica 0.5.0

Consensus-driven failover for PostgreSQL (Raft control plane)
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"]