FROM rust:alpine AS build

ARG TARGETARCH

ENV RUSTFLAGS="-C target-feature=+crt-static"

RUN apk add --no-cache build-base musl-dev pkgconf git

RUN case "$TARGETARCH" in \
      amd64) cargo_target=x86_64-unknown-linux-musl ;; \
      arm64) cargo_target=aarch64-unknown-linux-musl ;; \
      *) exit 1 ;; \
    esac && \
    rustup target add "$cargo_target" && \
    cargo install \
      --git https://codeberg.org/gigirassy/the-pit \
      --root /out \
      --target "$cargo_target"

FROM scratch

USER 60000:60000

COPY --from=build --chown=60000:60000 /out/bin/the-pit /the-pit

ENV TARPIT_BIND=0.0.0.0:22

ENTRYPOINT ["/the-pit"]