# 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"]