Dockerfile.standalone 865 B

123456789101112131415161718192021
  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.22.5-alpine@sha256:0d3653dd6f35159ec6e3d10263a42372f6f194c3dea0b35235d72aabde86486e AS builder
  4. ARG TARGETOS
  5. ARG TARGETARCH
  6. ENV CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH}
  7. WORKDIR /app
  8. # Avoid invalidating the `go mod download` cache when only code has changed.
  9. COPY go.mod go.sum /app/
  10. RUN go mod download
  11. COPY . /app/
  12. RUN go build -o external-secrets main.go
  13. FROM gcr.io/distroless/static@sha256:ce46866b3a5170db3b49364900fb3168dc0833dfb46c26da5c77f22abb01d8c3 AS app
  14. COPY --from=builder /app/external-secrets /bin/external-secrets
  15. # Run as UID for nobody
  16. USER 65534
  17. ENTRYPOINT ["/bin/external-secrets"]