# syntax=docker/dockerfile:1

FROM rust:alpine as builder

RUN apk add --no-cache openssl-dev musl-dev openssl-libs-static lld git ca-certificates

WORKDIR /app
COPY . .

RUN OPENSSL_LIB_DIR=/usr/lib \
    OPENSSL_INCLUDE_DIR=/usr/include/openssl \
    OPENSSL_STATIC=1 \
    cargo build --release --target x86_64-unknown-linux-musl

FROM scratch as final

COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

WORKDIR /app
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/cache-mii ./cache-mii

ENTRYPOINT ["./cache-mii"]