# 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.20.2-alpine 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 AS app
COPY --from=builder /app/external-secrets /bin/external-secrets

# Run as UID for nobody
USER 65534

ENTRYPOINT ["/bin/external-secrets"]
