FROM amd64/golang:1.26.4@sha256:f83d23523668b4ea5b644ae7711b2284f35f3bc3369a02655a8bc30d98586c4d as modules
WORKDIR /build
ENV GOPRIVATE=gitea.unbound.se/shiny,gitea.unbound.se/unboundsoftware
ADD go.* /build
RUN go mod download

FROM modules as build
ARG CI_COMMIT
WORKDIR /build
ENV CGO_ENABLED=0
ADD . /build
RUN GOOS=linux GOARCH=amd64 go build \
        -tags prod \
        -a -installsuffix cgo \
        -mod=readonly \
        -o /release/service \
        -ldflags "-w -s -X main.buildVersion=${CI_COMMIT}" \
        ./cmd/service

FROM scratch
ENV TZ Europe/Stockholm
COPY --from=build /usr/share/zoneinfo /usr/share/zoneinfo
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /release/service /
CMD ["/service"]
