# Versions d'images épinglées (mêmes bases que Logstream) : à mettre à jour volontairement.

# ---- Build ----
FROM golang:1.27.1-alpine3.24 AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY cmd ./cmd
COPY internal ./internal
ARG VERSION=dev
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w -X main.version=${VERSION}" \
    -o /out/pve-confsync ./cmd/pve-confsync

# ---- Image finale ----
FROM alpine:3.24.2
RUN apk add --no-cache ca-certificates \
 && adduser -D -H -u 10001 confsync \
 && mkdir /data /config && chown confsync /data
COPY --from=build /out/pve-confsync /usr/local/bin/pve-confsync
USER confsync
WORKDIR /data
VOLUME /data
ENV CONFSYNC_CONFIG=/config/confsync.yaml
ENTRYPOINT ["/usr/local/bin/pve-confsync"]
CMD ["check"]
