# 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.17 # This arg is passed by docker buildx & contains the target CPU architecture (e.g., amd64, arm64, etc.) ARG TARGETARCH WORKDIR /src COPY . . RUN \ --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg \ make GOARCH=$TARGETARCH # 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=0 /src/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"]