# syntax=docker/dockerfile:1.7
FROM golang:1.24-alpine AS build
WORKDIR /src
RUN apk add --no-cache git
COPY go.mod go.sum ./
RUN --mount=type=secret,id=gitea_credentials \
    credentials="$(cat /run/secrets/gitea_credentials)" && \
    git config --global url."https://${credentials}@cloud.campbellwireless.net/git/".insteadOf "https://cloud.campbellwireless.net/git/" && \
    GOPRIVATE=cloud.campbellwireless.net go mod download && \
    git config --global --unset-all url."https://${credentials}@cloud.campbellwireless.net/git/".insteadOf
COPY cmd ./cmd
COPY internal ./internal
RUN CGO_ENABLED=0 go build -trimpath -ldflags='-s -w' -o /pawsql ./cmd/pawsql

FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=build /pawsql /usr/local/bin/pawsql
ENTRYPOINT ["/usr/local/bin/pawsql"]
CMD ["--config", "/etc/pawsql/Barkfile"]
