16 lines
686 B
Docker
16 lines
686 B
Docker
# kuma-sync: reconciles KumaMonitor resources into Uptime Kuma. The unit tests
|
|
# (no tags, so no Docker and no envtest) gate the image: the final stage copies
|
|
# the binary out of this stage, so a failing test fails the build.
|
|
FROM golang:1.27@sha256:820153096fda4de6ac1b7194d12e416b7dd8f4e9a33d17e0345b111b945162d8 AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN go test ./...
|
|
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/kuma-sync ./cmd/kuma-sync
|
|
|
|
FROM gcr.io/distroless/static:nonroot@sha256:e2e927ec666bae08560abb3c55d0659eceabb657f56b6782ab500a9fc7f555e3
|
|
COPY --from=build /out/kuma-sync /kuma-sync
|
|
USER 65532
|
|
ENTRYPOINT ["/kuma-sync"]
|