|
1 |
| -FROM --platform=$TARGETARCH golang:1.21.3-alpine AS bld |
| 1 | +FROM --platform=$BUILDPLATFORM golang:1.21.3-alpine AS bld |
2 | 2 | ARG TARGETPLATFORM
|
3 | 3 | ARG TARGETARCH
|
4 | 4 | ARG TARGETVARIANT
|
5 | 5 | ARG BUILDPLATFORM
|
6 | 6 | RUN apk add bash git
|
7 | 7 |
|
| 8 | +ENV GOOS linux |
| 9 | +ENV GOARCH $TARGETARCH |
| 10 | +ENV GOARMV $TARGETVARIANT |
8 | 11 | # Get GCR credential helper
|
9 |
| -RUN go install github.com/GoogleCloudPlatform/docker-credential-gcr@latest |
| 12 | +RUN GOARM=${GOARMV#v} go install github.com/GoogleCloudPlatform/docker-credential-gcr@latest |
10 | 13 |
|
11 | 14 | # Get Amazon ECR credential helper
|
12 |
| -RUN go install github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login@latest |
| 15 | +RUN GOARM=${GOARMV#v} go install github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login@latest |
13 | 16 |
|
14 | 17 | # Get ACR docker env credential helper
|
15 |
| -RUN go install github.com/chrismellard/docker-credential-acr-env@latest |
| 18 | +RUN GOARM=${GOARMV#v} go install github.com/chrismellard/docker-credential-acr-env@latest |
16 | 19 |
|
17 | 20 | RUN mkdir /manifest-tool
|
18 | 21 | WORKDIR /manifest-tool
|
19 | 22 | COPY . /manifest-tool
|
20 | 23 | RUN /manifest-tool/hack/makestatic.sh $TARGETARCH ${TARGETVARIANT#v}
|
21 | 24 |
|
22 |
| -FROM alpine:3.17.0 |
| 25 | +FROM --platform=$TARGETPLATFORM alpine:3.17.0 |
| 26 | +ARG TARGETARCH |
23 | 27 | COPY --from=bld /manifest-tool/manifest-tool /manifest-tool
|
24 | 28 | COPY --from=bld /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
25 |
| -COPY --from=bld --chown=0:0 /go/bin/docker-credential-gcr /usr/bin/docker-credential-gcloud |
26 |
| -COPY --from=bld --chown=0:0 /go/bin/docker-credential-ecr-login /usr/bin/docker-credential-ecr-login |
27 |
| -COPY --from=bld --chown=0:0 /go/bin/docker-credential-acr-env /usr/bin/docker-credential-acr-env |
| 29 | +COPY --from=bld --chown=0:0 /go/bin/linux_${TARGETARCH}/docker-credential-gcr /usr/bin/docker-credential-gcloud |
| 30 | +COPY --from=bld --chown=0:0 /go/bin/linux_${TARGETARCH}/docker-credential-ecr-login /usr/bin/docker-credential-ecr-login |
| 31 | +COPY --from=bld --chown=0:0 /go/bin/linux_${TARGETARCH}/docker-credential-acr-env /usr/bin/docker-credential-acr-env |
28 | 32 | ENV PATH="${PATH}:/"
|
29 | 33 | ENTRYPOINT [ "/manifest-tool" ]
|
0 commit comments