From a74d63ec85a25413a67969004ca5e665119765e6 Mon Sep 17 00:00:00 2001 From: Fritz Durchardt Date: Thu, 31 Aug 2023 10:52:59 +0200 Subject: [PATCH] feat: add arm binaries --- Dockerfile | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index bd23b182..5942a129 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ # Stage 1 Build myks -FROM golang:1.21 AS builder - +FROM --platform=$BUILDPLATFORM golang:1.21 AS builder +ARG TARGETOS +ARG TARGETARCH WORKDIR /app COPY . . @@ -9,11 +10,17 @@ RUN go mod download \ && go mod verify RUN CGO_ENABLED=0 \ - go build -trimpath -o myks main.go + GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -trimpath -o myks main.go # Stage 2 Download tools -FROM debian:bookworm AS download-tools +FROM --platform=$BUILDPLATFORM debian:bookworm AS download-tools + +ARG TARGETOS +ARG TARGETARCH +ARG HELM_VERSION=3.11.2 +ARG VENDIR_VERSION=0.33.1 +ARG YTT_VERSION=0.45.0 RUN apt-get update \ && apt-get install --no-install-recommends -y \ @@ -21,28 +28,26 @@ RUN apt-get update \ curl \ unzip -ARG HELM_VERSION=3.11.2 -ARG VENDIR_VERSION=0.33.1 -ARG YTT_VERSION=0.45.0 - WORKDIR /tools SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN curl -fsSL \ - https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz \ - | tar -xzf - --strip-components=1 linux-amd64/helm + https://get.helm.sh/helm-v${HELM_VERSION}-${TARGETOS}-${TARGETARCH}.tar.gz \ + | tar -xzf - --strip-components=1 ${TARGETOS}-${TARGETARCH}/helm RUN curl -fsSL \ - https://github.com/vmware-tanzu/carvel-vendir/releases/download/v${VENDIR_VERSION}/vendir-linux-amd64 \ + https://github.com/vmware-tanzu/carvel-vendir/releases/download/v${VENDIR_VERSION}/vendir-${TARGETOS}-${TARGETARCH} \ > vendir RUN curl -fsSL \ - https://github.com/vmware-tanzu/carvel-ytt/releases/download/v${YTT_VERSION}/ytt-linux-amd64 \ + https://github.com/vmware-tanzu/carvel-ytt/releases/download/v${YTT_VERSION}/ytt-${TARGETOS}-${TARGETARCH} \ > ytt RUN chmod +x * # Stage 3: Bring it all together -FROM debian:bookworm +FROM --platform=$BUILDPLATFORM debian:bookworm + +WORKDIR /app RUN apt-get update \ && apt-get install --no-install-recommends -y \