ARG FROM=docker.io/ubuntu:focal ARG DOCKER_REGISTRY=quay.io ARG CALICOCTL_IMAGE_PREFIX=calico/ctl ARG CALICOCTL_VERSION=v3.27.2 ARG CALICOCTL_IMAGE="${DOCKER_REGISTRY}/${CALICOCTL_IMAGE_PREFIX}:${CALICOCTL_VERSION}" FROM ${CALICOCTL_IMAGE} as stage_calicoctl FROM ${FROM} ARG CALICOCTL_VERSION LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode' \ org.opencontainers.image.url='https://airshipit.org' \ org.opencontainers.image.documentation='https://opendev.org/airship/porthole' \ org.opencontainers.image.source='https://opendev.org/airship/porthole' \ org.opencontainers.image.vendor='The Airship Authors' \ org.opencontainers.image.licenses='Apache-2.0' \ org.projectcalico.calicoctl.version="${CALICOCTL_VERSION}" RUN set -xe \ && sed -i '/nobody/d' /etc/passwd \ && echo "nobody:x:65534:65534:nobody:/nonexistent:/bin/bash" >> /etc/passwd \ && apt-get update && apt-get upgrade -y \ && apt-get install -y --no-install-recommends \ bash \ locales \ moreutils \ sudo \ socat \ python3.8 \ python3-pip \ && pip3 install --no-cache-dir --upgrade pip \ && pip3 install --no-cache-dir \ oslo.rootwrap==7.0.1 \ && apt-get clean -y \ && rm -rf /var/lib/apt/lists/* RUN PYTHON_LOCATION=$(pip3 show oslo.rootwrap|grep Location|awk '{print $2}') \ && sed -i "/rootwrap_logger.setLevel/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py \ && sed -i "/handler.setFormatter/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py \ && sed -i "/os.path.basename/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py \ && sed -i "/rootwrap_logger.addHandler/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py COPY --from=stage_calicoctl /calicoctl /usr/local/bin/calicoctl RUN set -xe \ && chmod 0754 /usr/local/bin/calicoctl \ && chmod 0754 /usr/bin/socat WORKDIR /tmp CMD ["/bin/bash"]