blob: b66cbebb9a84af17e4673c7e6084f1c2aeba217c [file] [log] [blame]
Giorgi Lekveishvilie7746c62023-07-20 10:07:06 +04001# # Build the manager binary
2# FROM golang:1.18 as builder
3
4# WORKDIR /workspace
5# # Copy the Go Modules manifests
6# COPY go.mod go.mod
7# COPY go.sum go.sum
8# # cache deps before building and copying source so that we don't need to re-download as much
9# # and so that source changes don't invalidate our downloaded layer
10# RUN go mod download
11
12# # Copy the go source
13# COPY main.go main.go
14# COPY api/ api/
15# COPY controllers/ controllers/
16
17# # Build
18# RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go
19
20# Use distroless as minimal base image to package the manager binary
21# Refer to https://github.com/GoogleContainerTools/distroless for more details
22FROM gcr.io/distroless/static:nonroot
23ARG TARGETARCH
24WORKDIR /
25COPY manager_${TARGETARCH} manager
26USER 65532:65532
27
28ENTRYPOINT ["/manager"]