blob: 5649873e0c803cee95ec343ea39786cd3f55feb2 [file] [log] [blame]
Giorgi Lekveishvilie8b2f012023-11-30 19:05:03 +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"]