anchor.diff:  
   FROM golang:1.14.2
   
  +##------------------------------------------------------------
  +# global ARGs & ENVs
  +
  +ARG DEBIAN_FRONTEND=noninteractive
  +
   ENV GOARM 7
   ENV KUBE_DYNAMIC_CROSSPLATFORMS \
     armhf \
  
positive.code:   darwin/amd64 darwin/386 \
    windows/amd64 windows/386
  
  # Pre-compile the standard go library when cross-compiling. This is much easier now when we have go1.5+
  RUN for platform in ${KUBE_CROSSPLATFORMS}; do GOOS=${platform%/*} GOARCH=${platform##*/} go install std; done \
      && go clean -cache
  
  # Install g++, then download and install protoc for generating protobuf output
  RUN apt-get update \
    && apt-get install -y \
        apt-utils \
        file \
        jq \
        patch \
        rsync \
        unzip
  
  # Use dynamic cgo linking for architectures other than amd64 for the server platforms
  # To install crossbuild essential for other architectures add the following repository.
  
negative.code:   && curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xz \
    && ln -s ../src/etcd/etcd-${ETCD_VERSION}-linux-amd64/etcd /usr/local/bin/
  
  # We want to get rid of python2, we want only python3
  #
  # Right now, the image chain looks like this:
  #  k8s-cloud-builder <- k8s.gcr.io/kube-cross:v1.13.4-1 <- golang:1.13.4 <- buildpack-deps:buster-scm <- debian:buster
  # python2 comes in with buildpack-deps:buster-scm, because that image installs
  # mercurial which in turn has a hard dependency on python2
  RUN apt-get -qqy purge ".*python2.*" \
      && apt-get -qqy install \
          python3-minimal \
          python3-pip \
      && update-alternatives --install /usr/bin/python python /usr/bin/python3 90 \
      && update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 90
  
  # Install Pip packages
  RUN pip3 install --no-cache-dir \
        # for gcloud https://cloud.google.com/storage/docs/gsutil/addlhelp/CRC32CandInstallingcrcmod
        crcmod \
        yq
  
  # common::set_cloud_binaries() looks for it in this path
  ARG GOOGLE_DIR='/opt/google'
  
  # Install gcloud
  RUN bash -c \
        'bash <(curl -sSL https://sdk.cloud.google.com) \
          --install-dir="${GOOGLE_DIR}" \
          --disable-prompts \
          >/dev/null'
  
  ENV PATH="${GOOGLE_DIR}/google-cloud-sdk/bin:${PATH}"
  
  # Install docker cli
  # https://docs.docker.com/install/linux/docker-ce/debian/
  RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
      && apt-key fingerprint 0EBFCD88 \
      && add-apt-repository \
          "deb [arch=amd64] https://download.docker.com/linux/debian \
          $(lsb_release -cs) \
          stable" \
      && apt-get -y update \
      && apt-get -qqy install \
          docker-ce-cli
  
  ARG SKOPEO_VERSION=v0.1.41
  RUN git clone https://github.com/containers/skopeo $GOPATH/src/github.com/containers/skopeo
  RUN cd $GOPATH/src/github.com/containers/skopeo \
      && git checkout ${SKOPEO_VERSION} \
      && make binary-local \
      && cp skopeo /usr/local/bin \
      && rm -rf $GOPATH/src/github.com/containers/skopeo
  
  # Cleanup a bit
  RUN apt-get -qqy remove \
        wget \
      && apt-get clean \
      && rm -rf -- \
          /var/lib/apt/lists/* \
          ~/.config/gcloud
  
  ENTRYPOINT []
  