# Build the manager and daemon binaries ARG BASE_IMAGE=alpine ARG BASE_IMAGE_VERION=3.17 FROM --platform=$BUILDPLATFORM golang:1.18-alpine3.17 as builder WORKDIR /workspace # Copy the Go Modules manifests COPY go.mod go.mod COPY go.sum go.sum # Copy the go source COPY main.go main.go COPY internal/ internal/ COPY pkg/ pkg/ # Build ARG TARGETOS ARG TARGETARCH RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 GO111MODULE=on go build -a -o kruise-state-metrics main.go ARG BASE_IMAGE ARG BASE_IMAGE_VERION FROM ${BASE_IMAGE}:${BASE_IMAGE_VERION} RUN apk --no-cache add ca-certificates && update-ca-certificates \ && rm -rf /var/cache/apk/* WORKDIR / COPY --from=builder /workspace/kruise-state-metrics . ENTRYPOINT ["/kruise-state-metrics"]