FROM golang:1.27-alpine@sha256:8a5910f31396cd4d89662f56c68b3ae31d374308270a1c3bd96672ee5ed43414 AS build
WORKDIR /src
COPY go.mod main.go ./
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/probe .
RUN echo 'app:x:10001:10001:app:/nonexistent:/sbin/nologin' > /out/passwd

FROM scratch AS scratch-bare
COPY --from=build /out/probe /probe
USER 10001:10001
ENTRYPOINT ["/probe"]

FROM scratch AS scratch-full
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /usr/local/go/lib/time/zoneinfo.zip /usr/share/zoneinfo.zip
ENV ZONEINFO=/usr/share/zoneinfo.zip
COPY --from=build /out/passwd /etc/passwd
COPY --from=build /out/probe /probe
USER 10001:10001
ENTRYPOINT ["/probe"]

FROM gcr.io/distroless/static-debian13:nonroot@sha256:e2e927ec666bae08560abb3c55d0659eceabb657f56b6782ab500a9fc7f555e3 AS distroless
COPY --from=build /out/probe /probe
ENTRYPOINT ["/probe"]
