# Copyright 2020 Google, Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Builds the static Go image to execute in a Kubernetes job FROM golang:1.15 as build_env ARG GOARCH=amd64 RUN echo $GOARCH > /goarch #This arg is passed by docker buildx & contains the platform info in the form linux/amd64, linux/ppc64le etc. ARG TARGETPLATFORM #Capture ARCH has write to /goarch RUN [ ! "x" = "x$TARGETPLATFORM" ] && `echo $TARGETPLATFORM | awk '{split($0,a,"/"); print a[2]}' > /goarch` || echo "$GOARCH" RUN echo "I am runninng $TARGETPLATFORM with $(cat /goarch)" WORKDIR /go/src/github.com/GoogleContainerTools/kaniko COPY . . RUN make GOARCH=$(cat /goarch) # Generate latest ca-certificates FROM debian:buster-slim AS certs RUN \ apt update && \ apt install -y ca-certificates && \ cat /etc/ssl/certs/* > /ca-certificates.crt FROM scratch COPY --from=build_env /go/src/github.com/GoogleContainerTools/kaniko/out/executor /kaniko/executor COPY files/nsswitch.conf /etc/nsswitch.conf COPY --from=certs /ca-certificates.crt /kaniko/ssl/certs/ ENV HOME /root ENV USER root ENV PATH /usr/local/bin:/kaniko ENV SSL_CERT_DIR=/kaniko/ssl/certs ENTRYPOINT ["/kaniko/executor"]