porthole/images/calicoctl-utility/Dockerfile.ubuntu_jammy
astebenkova d6135a000c [images] Optimize docker recipes
* remove deprecated 'apt-key add'
* use a more reliable method for updating pip to the latest version
* remove 'apt clean' step since it's included in official Ubuntu images
+ upgrade K8s to v1.29.7
+ align etcdctl with cluster's version

Change-Id: Ic166b8432b3ff529e0281f8af26b680dc614caeb
2024-08-08 17:01:13 +03:00

54 lines
2.0 KiB
Docker

ARG FROM=docker.io/ubuntu:jammy
ARG DOCKER_REGISTRY=quay.io
ARG CALICOCTL_IMAGE_PREFIX=calico/ctl
ARG CALICOCTL_VERSION=v3.27.3
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 \
curl \
locales \
moreutils \
sudo \
socat \
python3.10 \
python3-pip \
&& curl -s https://bootstrap.pypa.io/get-pip.py | python3 \
&& pip3 install --no-cache-dir \
oslo.rootwrap==7.0.1 \
&& 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"]