Skip to content

Commit

Permalink
Stop using ENV ARCH and add --platform in Dockerfile (#2304)
Browse files Browse the repository at this point in the history
* Stop using ENV ARCH

* Update Dockerfile platform specification
  • Loading branch information
ykadowak committed Jan 23, 2024
1 parent f68adfa commit 07570a1
Show file tree
Hide file tree
Showing 16 changed files with 74 additions and 91 deletions.
9 changes: 4 additions & 5 deletions dockers/agent/core/ngt/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -68,8 +67,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -92,8 +91,8 @@ COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN make ngt/install
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
9 changes: 4 additions & 5 deletions dockers/agent/sidecar/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV GOPATH /go
ENV GOROOT /opt/go
Expand Down Expand Up @@ -61,8 +60,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -84,8 +83,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
9 changes: 4 additions & 5 deletions dockers/ci/base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ LABEL maintainer="${MAINTAINER}"

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -74,12 +73,12 @@ COPY apis/proto apis/proto
COPY versions versions
COPY hack/go.mod.default hack/go.mod.default

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make deps ROOTDIR=$ROOTDIR GO_CLEAN_DEPS=false

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make ngt/install \
&& make helm/install \
&& make helm-docs/install \
Expand Down
10 changes: 4 additions & 6 deletions dockers/dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ LABEL maintainer="${MAINTAINER}"

ARG TARGETARCH

ENV ARCH=${TARGETARCH}

# skipcq: DOK-DL3008
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
Expand Down Expand Up @@ -55,8 +53,8 @@ COPY versions versions
COPY hack/go.mod.default hack/go.mod.default

# basic deps
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make deps GO_CLEAN_DEPS=false \
&& make ngt/install \
&& make helm/install \
Expand All @@ -68,8 +66,8 @@ RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
&& make kubectl/install

# additional deps
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make k3d/install \
&& make buf/install \
&& make k9s/install \
Expand Down
9 changes: 4 additions & 5 deletions dockers/discoverer/k8s/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -61,8 +60,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -81,8 +80,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
9 changes: 4 additions & 5 deletions dockers/gateway/filter/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -60,8 +59,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -80,8 +79,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
9 changes: 4 additions & 5 deletions dockers/gateway/lb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -60,8 +59,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -80,8 +79,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
15 changes: 7 additions & 8 deletions dockers/gateway/mirror/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@ ARG DISTROLESS_IMAGE=gcr.io/distroless/static
ARG DISTROLESS_IMAGE_TAG=nonroot
ARG MAINTAINER="vdaas.org vald team <vald@vdaas.org>"

FROM golang:${GO_VERSION} AS golang
FROM --platform=${BUILDPLATFORM} golang:${GO_VERSION} AS golang

FROM ubuntu:devel AS builder
FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -56,8 +55,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
go mod download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -82,12 +81,12 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
COPY Makefile .
COPY .git .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

FROM ${DISTROLESS_IMAGE}:${DISTROLESS_IMAGE_TAG}
FROM --platform=${BUILDPLATFORM} ${DISTROLESS_IMAGE}:${DISTROLESS_IMAGE_TAG}
LABEL maintainer "${MAINTAINER}"

ENV APP_NAME mirror
Expand Down
9 changes: 4 additions & 5 deletions dockers/index/job/correction/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -60,8 +59,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -80,8 +79,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
9 changes: 4 additions & 5 deletions dockers/index/job/creation/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -60,8 +59,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -80,8 +79,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
15 changes: 7 additions & 8 deletions dockers/index/job/readreplica/rotate/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,12 @@ ARG DISTROLESS_IMAGE=gcr.io/distroless/static
ARG DISTROLESS_IMAGE_TAG=nonroot
ARG MAINTAINER="vdaas.org vald team <vald@vdaas.org>"

FROM golang:${GO_VERSION} AS golang
FROM --platform=${BUILDPLATFORM} golang:${GO_VERSION} AS golang

FROM ubuntu:devel AS builder
FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -60,8 +59,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -80,15 +79,15 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/cmd/${PKG}
RUN cp sample.yaml /tmp/config.yaml

FROM ${DISTROLESS_IMAGE}:${DISTROLESS_IMAGE_TAG}
FROM --platform=${BUILDPLATFORM} ${DISTROLESS_IMAGE}:${DISTROLESS_IMAGE_TAG}
LABEL maintainer="${MAINTAINER}"

ENV APP_NAME readreplica-rotate
Expand Down
9 changes: 4 additions & 5 deletions dockers/index/job/save/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FROM --platform=${BUILDPLATFORM} ubuntu:devel AS builder

ARG TARGETARCH

ENV ARCH=${TARGETARCH}
ENV GO111MODULE on
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
Expand Down Expand Up @@ -60,8 +59,8 @@ COPY .git .
COPY go.mod .
COPY go.sum .

RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make go/download

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/internal
Expand All @@ -80,8 +79,8 @@ WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}/versions
COPY versions .

WORKDIR ${GOPATH}/src/github.com/${ORG}/${REPO}
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${ARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${ARCH}" \
RUN --mount=type=cache,target="${GOPATH}/pkg",id="go-build-${TARGETARCH}" \
--mount=type=cache,target="${HOME}/.cache/go-build",id="go-build-${TARGETARCH}" \
make REPO=${ORG} NAME=${REPO} cmd/${PKG}/${APP_NAME} \
&& mv "cmd/${PKG}/${APP_NAME}" "/usr/bin/${APP_NAME}"

Expand Down
Loading

0 comments on commit 07570a1

Please sign in to comment.