Build correct arch for container image (#817)
Signed-off-by: Lavi Blumberg <lavifb@gmail.com>
This commit is contained in:
parent
75e52d70b5
commit
75092bf0bc
10
Dockerfile
10
Dockerfile
|
|
@ -1,4 +1,4 @@
|
||||||
FROM golang:1.20-alpine as builder
|
FROM --platform=$BUILDPLATFORM golang:1.20-alpine as builder
|
||||||
|
|
||||||
RUN apk add --no-cache make git
|
RUN apk add --no-cache make git
|
||||||
WORKDIR /workspace/helmfile
|
WORKDIR /workspace/helmfile
|
||||||
|
|
@ -7,11 +7,12 @@ COPY go.mod go.sum /workspace/helmfile/
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
COPY . /workspace/helmfile
|
COPY . /workspace/helmfile
|
||||||
RUN make static-linux
|
ARG TARGETARCH
|
||||||
|
RUN make static-linux-${TARGETARCH}
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
FROM alpine:3.16
|
FROM --platform=$BUILDPLATFORM alpine:3.16
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source https://github.com/helmfile/helmfile
|
LABEL org.opencontainers.image.source https://github.com/helmfile/helmfile
|
||||||
|
|
||||||
|
|
@ -89,6 +90,7 @@ RUN helm plugin install https://github.com/databus23/helm-diff --version v3.6.0
|
||||||
# Allow users other than root to use helm plugins located in root home
|
# Allow users other than root to use helm plugins located in root home
|
||||||
RUN chmod 751 ${HOME}
|
RUN chmod 751 ${HOME}
|
||||||
|
|
||||||
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_amd64 /usr/local/bin/helmfile
|
ARG TARGETARCH
|
||||||
|
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_${TARGETARCH} /usr/local/bin/helmfile
|
||||||
|
|
||||||
CMD ["/usr/local/bin/helmfile"]
|
CMD ["/usr/local/bin/helmfile"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
FROM golang:1.20-alpine as builder
|
FROM --platform=$BUILDPLATFORM golang:1.20-alpine as builder
|
||||||
|
|
||||||
RUN apk add --no-cache make git
|
RUN apk add --no-cache make git
|
||||||
WORKDIR /workspace/helmfile
|
WORKDIR /workspace/helmfile
|
||||||
|
|
@ -7,11 +7,12 @@ COPY go.mod go.sum /workspace/helmfile/
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
COPY . /workspace/helmfile
|
COPY . /workspace/helmfile
|
||||||
RUN make static-linux
|
ARG TARGETARCH
|
||||||
|
RUN make static-linux-${TARGETARCH}
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
FROM debian:stable-slim
|
FROM --platform=$BUILDPLATFORM debian:stable-slim
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source https://github.com/helmfile/helmfile
|
LABEL org.opencontainers.image.source https://github.com/helmfile/helmfile
|
||||||
|
|
||||||
|
|
@ -94,6 +95,7 @@ RUN helm plugin install https://github.com/databus23/helm-diff --version v3.6.0
|
||||||
# Allow users other than root to use helm plugins located in root home
|
# Allow users other than root to use helm plugins located in root home
|
||||||
RUN chmod 751 ${HOME}
|
RUN chmod 751 ${HOME}
|
||||||
|
|
||||||
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_amd64 /usr/local/bin/helmfile
|
ARG TARGETARCH
|
||||||
|
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_${TARGETARCH} /usr/local/bin/helmfile
|
||||||
|
|
||||||
CMD ["/usr/local/bin/helmfile"]
|
CMD ["/usr/local/bin/helmfile"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
FROM golang:1.20-alpine as builder
|
FROM --platform=$BUILDPLATFORM golang:1.20-alpine as builder
|
||||||
|
|
||||||
RUN apk add --no-cache make git
|
RUN apk add --no-cache make git
|
||||||
WORKDIR /workspace/helmfile
|
WORKDIR /workspace/helmfile
|
||||||
|
|
@ -7,11 +7,12 @@ COPY go.mod go.sum /workspace/helmfile/
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
COPY . /workspace/helmfile
|
COPY . /workspace/helmfile
|
||||||
RUN make static-linux
|
ARG TARGETARCH
|
||||||
|
RUN make static-linux-${TARGETARCH}
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
FROM ubuntu:20.04
|
FROM --platform=$BUILDPLATFORM ubuntu:20.04
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source https://github.com/helmfile/helmfile
|
LABEL org.opencontainers.image.source https://github.com/helmfile/helmfile
|
||||||
|
|
||||||
|
|
@ -94,6 +95,7 @@ RUN helm plugin install https://github.com/databus23/helm-diff --version v3.6.0
|
||||||
# Allow users other than root to use helm plugins located in root home
|
# Allow users other than root to use helm plugins located in root home
|
||||||
RUN chmod 751 ${HOME}
|
RUN chmod 751 ${HOME}
|
||||||
|
|
||||||
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_amd64 /usr/local/bin/helmfile
|
ARG TARGETARCH
|
||||||
|
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_${TARGETARCH} /usr/local/bin/helmfile
|
||||||
|
|
||||||
CMD ["/usr/local/bin/helmfile"]
|
CMD ["/usr/local/bin/helmfile"]
|
||||||
|
|
|
||||||
8
Makefile
8
Makefile
|
|
@ -73,6 +73,14 @@ static-linux:
|
||||||
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOFLAGS=-mod=readonly go build -o "dist/helmfile_linux_amd64" -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS}
|
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOFLAGS=-mod=readonly go build -o "dist/helmfile_linux_amd64" -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS}
|
||||||
.PHONY: static-linux
|
.PHONY: static-linux
|
||||||
|
|
||||||
|
static-linux-amd64:
|
||||||
|
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOFLAGS=-mod=readonly go build -o "dist/helmfile_linux_amd64" -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS}
|
||||||
|
.PHONY: static-linux-amd64
|
||||||
|
|
||||||
|
static-linux-arm64:
|
||||||
|
env CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GOFLAGS=-mod=readonly go build -o "dist/helmfile_linux_arm64" -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS}
|
||||||
|
.PHONY: static-linux-arm64
|
||||||
|
|
||||||
install:
|
install:
|
||||||
env CGO_ENABLED=0 go install -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS}
|
env CGO_ENABLED=0 go install -ldflags="$(GO_BUILD_VERSION_LDFLAGS)" ${TARGETS}
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue