Dockerfile.standalone 1.0 KB

123456789101112131415161718192021222324
  1. # This version of Dockerfile is for building without external dependencies.
  2. # Build a multi-platform image e.g. `docker buildx build --push --platform linux/arm64,linux/amd64 --tag external-secrets:dev --file Dockerfile.standalone .`
  3. FROM golang:1.25.4-alpine@sha256:d3f0cf7723f3429e3f9ed846243970b20a2de7bae6a5b66fc5914e228d831bbb AS builder
  4. # Add metadata
  5. LABEL maintainer="cncf-externalsecretsop-maintainers@lists.cncf.io" \
  6. description="External Secrets Operator is a Kubernetes operator that integrates external secret management systems"
  7. ARG TARGETOS
  8. ARG TARGETARCH
  9. ENV CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH}
  10. WORKDIR /app
  11. # Avoid invalidating the `go mod download` cache when only code has changed.
  12. COPY go.mod go.sum /app/
  13. RUN go mod download
  14. COPY . /app/
  15. RUN go build -o external-secrets main.go
  16. FROM gcr.io/distroless/static@sha256:87bce11be0af225e4ca761c40babb06d6d559f5767fbf7dc3c47f0f1a466b92c AS app
  17. COPY --from=builder /app/external-secrets /bin/external-secrets
  18. # Run as UID for nobody
  19. USER 65534
  20. ENTRYPOINT ["/bin/external-secrets"]