From a432b42814ce181430ccb880cc74e076de101f33 Mon Sep 17 00:00:00 2001 From: Volodymyr Zotov Date: Fri, 30 May 2025 14:52:41 -0500 Subject: [PATCH] Update Docker file to install dependencies and build --- Dockerfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7841744..207ceb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21 as builder +FROM golang:1.22 as builder ARG TARGETOS ARG TARGETARCH @@ -8,13 +8,15 @@ WORKDIR /workspace COPY go.mod go.mod COPY go.sum go.sum +# Download dependencies +RUN go mod download + # Copy the go source COPY cmd/main.go cmd/main.go COPY api/ api/ COPY internal/controller/ internal/controller/ COPY pkg/ pkg/ COPY version/ version/ -COPY vendor/ vendor/ # Build # the GOARCH has not a default value to allow the binary be built according to the host where the command @@ -22,10 +24,9 @@ COPY vendor/ vendor/ # the docker BUILDPLATFORM arg will be linux/arm64 when for Apple x86 it will be linux/amd64. Therefore, # by leaving it empty we can ensure that the container and binary shipped on it will have the same platform. RUN CGO_ENABLED=0 \ - GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} \ + GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} GO111MODULE=on \ go build \ -ldflags "-X \"github.com/1Password/onepassword-operator/version.Version=$operator_version\"" \ - -mod vendor \ -a -o manager cmd/main.go # Use distroless as minimal base image to package the manager binary