FROM golang:1.23 AS build
WORKDIR /src
COPY go.mod ./
COPY cmd ./cmd
COPY internal ./internal
ARG VERSION=dev
RUN CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=${VERSION}" -o /gpulock ./cmd/gpulock

FROM gcr.io/distroless/static:nonroot
COPY --from=build /gpulock /gpulock
EXPOSE 8189 11435
USER nonroot
ENTRYPOINT ["/gpulock"]
