FROM rust:1.92 AS builder

RUN rustup target add x86_64-unknown-linux-musl && \
    apt-get update && \
    apt-get install -y --no-install-recommends musl-tools musl-dev iputils-ping ca-certificates && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src ./src

RUN cargo build --target x86_64-unknown-linux-musl --release

FROM scratch AS runtime

COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/status-checker /status-checker
COPY --from=builder /usr/bin/ping /usr/bin/ping

ENV ROCKET_ADDRESS=0.0.0.0
ENV ROCKET_PORT=8000

ENTRYPOINT ["/status-checker"]
