FROM golang:1.25.3 AS build-stage WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY *.go ./ RUN CGO_ENABLED=0 GOOS=linux go build -o /srv.bin from build-stage AS run-tests-stage RUN go test -v ./ FROM gcr.io/distroless/base-debian11 AS build-release-stage WORKDIR / COPY --from=build-stage /srv.bin /srv.bin EXPOSE 8080/tcp USER nonroot:nonroot ENTRYPOINT ["/srv.bin"]