# ---- Build stage ---- FROM golang:1.22-alpine AS build WORKDIR /src COPY go.mod go.sum* ./ RUN go mod tidy && go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /app . # ---- Runtime stage (distroless) ---- FROM gcr.io/distroless/static-debian12:nonroot COPY --from=build /app /app EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD ["/app", "-health-check"] ENTRYPOINT ["/app"]