# This version of Dockerfile is for building without external dependencies. # Build a multi-platform image e.g. `docker buildx build --push --platform linux/arm64,linux/amd64 --tag external-secrets:dev --file Dockerfile.standalone .` FROM golang:1.22.5-alpine@sha256:8c9183f715b0b4eca05b8b3dbf59766aaedb41ec07477b132ee2891ac0110a07 AS builder ARG TARGETOS ARG TARGETARCH ENV CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} WORKDIR /app # Avoid invalidating the `go mod download` cache when only code has changed. COPY go.mod go.sum /app/ RUN go mod download COPY . /app/ RUN go build -o external-secrets main.go FROM gcr.io/distroless/static@sha256:41972110a1c1a5c0b6adb283e8aa092c43c31f7c5d79b8656fbffff2c3e61f05 AS app COPY --from=builder /app/external-secrets /bin/external-secrets # Run as UID for nobody USER 65534 ENTRYPOINT ["/bin/external-secrets"]