# syntax=docker/dockerfile:1

# ---- build ----
FROM golang:1.25-alpine AS build
WORKDIR /src

COPY go.mod go.sum* ./
RUN if [ -f go.sum ]; then go mod download; fi

COPY . .
ARG VERSION=dev
# Fallback: sem go.sum, ele é gerado aqui (o go.sum já é versionado; ver README).
RUN if [ ! -f go.sum ]; then go mod tidy; fi \
    && CGO_ENABLED=0 go build -trimpath -ldflags="-s -w -X main.version=${VERSION}" \
       -o /out/botpontos ./cmd/botpontos

# ---- runtime ----
# distroless/static: sem shell, sem gerenciador de pacotes, usuário não-root.
FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=build /out/botpontos /botpontos
USER nonroot:nonroot
ENTRYPOINT ["/botpontos"]
