# Build the manager binary
FROM golang:1.21 as builder
ARG GOOS
ARG GOARCH

WORKDIR /workspace

COPY . .

# Build
RUN CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) GO111MODULE=on go build -mod=vendor -a -o manager app/config-service/main.go

# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
FROM gcr.io/distroless/static:nonroot
WORKDIR /
COPY --from=builder /workspace/manager .
USER nonroot:nonroot

ENTRYPOINT ["/manager"]
