FROM golang:1.24-alpine AS builder
RUN apk add --no-cache git ca-certificates

ARG SOURCE_VERSION
ARG SOURCE_COMMIT
ARG GOPROXY
ARG GONOSUMDB
ENV GOPROXY=${GOPROXY}
ENV GONOSUMDB=${GONOSUMDB}

RUN go env GOPROXY
RUN test -n "$GOPROXY" || (echo "GOPROXY not set" && exit 1)

WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o service ./src

FROM gcr.io/distroless/static
WORKDIR /app
COPY --from=builder /app/service /app/service
ENTRYPOINT ["/app/service"]
