FROM golang:1.21-alpine AS builder

WORKDIR /build
COPY go.mod go.sum ./
RUN go mod download

COPY . .

ARG VERSION=dev
ARG COMMIT=none
ARG DATE=unknown

RUN CGO_ENABLED=0 go build \
    -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${COMMIT} -X main.date=${DATE}" \
    -o /speedport-exporter .

# --- Runtime ---
FROM alpine:3.19

RUN apk add --no-cache ca-certificates
COPY --from=builder /speedport-exporter /usr/local/bin/speedport-exporter

EXPOSE 9810

ENTRYPOINT ["speedport-exporter"]
CMD ["serve"]
