Libyaml install from apt

This PS is to install libyaml from apt instead of
building it from source. Also we upgrade the Helm
version to 3.17.3 because of CVE.

In order to decrease the image size *-dev libs are
installed only when needed to build/install Python
packages.

Change-Id: Ie9d2f82eba1285d2b6956bc46c437b84f1e95ed4
This commit is contained in:
Sergiy Markin
2025-04-24 16:22:59 +00:00
parent 951670b45f
commit 238b1d4f2f
5 changed files with 33 additions and 42 deletions

View File

@@ -146,7 +146,7 @@
flannel_version: v0.25.4 flannel_version: v0.25.4
metallb_setup: false metallb_setup: false
metallb_version: "0.13.12" metallb_version: "0.13.12"
helm_version: "v3.14.0" helm_version: "v3.17.3"
crictl_version: "v1.30.1" crictl_version: "v1.30.1"
zuul_osh_infra_relative_path: ../openstack-helm zuul_osh_infra_relative_path: ../openstack-helm
gate_scripts_relative_path: ../openstack-helm gate_scripts_relative_path: ../openstack-helm
@@ -160,7 +160,7 @@
parent: armada-base parent: armada-base
vars: vars:
site: airskiff site: airskiff
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.17.3-linux-amd64.tar.gz
HTK_COMMIT: 49c117443391cec75e0bd52bb4a9d033325927ad HTK_COMMIT: 49c117443391cec75e0bd52bb4a9d033325927ad
OSH_COMMIT: 49c117443391cec75e0bd52bb4a9d033325927ad OSH_COMMIT: 49c117443391cec75e0bd52bb4a9d033325927ad
CLONE_ARMADA: false CLONE_ARMADA: false

View File

@@ -35,7 +35,7 @@ IMAGE_ALIAS := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${I
UBUNTU_BASE_IMAGE ?= UBUNTU_BASE_IMAGE ?=
# Helm binary download url # Helm binary download url
HELM_ARTIFACT_URL ?= https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz HELM_ARTIFACT_URL ?= https://get.helm.sh/helm-v3.17.3-linux-amd64.tar.gz
# VERSION INFO # VERSION INFO
GIT_COMMIT = $(shell git rev-parse HEAD) GIT_COMMIT = $(shell git rev-parse HEAD)

View File

@@ -7,4 +7,5 @@ libpq-dev [platform:dpkg]
libsasl2-dev [platform:dpkg] libsasl2-dev [platform:dpkg]
libssl-dev [platform:dpkg] libssl-dev [platform:dpkg]
libre2-dev [platform:dpkg] libre2-dev [platform:dpkg]
libyaml-dev [platform:dpkg]
ethtool [platform:dpkg] ethtool [platform:dpkg]

View File

@@ -27,7 +27,6 @@ RUN set -ex && \
apt-get -y install \ apt-get -y install \
ca-certificates \ ca-certificates \
curl \ curl \
git \
netbase \ netbase \
python3-dev \ python3-dev \
python3-setuptools \ python3-setuptools \
@@ -55,45 +54,36 @@ COPY requirements-frozen.txt ./
ENV LD_LIBRARY_PATH=/usr/local/lib ENV LD_LIBRARY_PATH=/usr/local/lib
ARG HELM_ARTIFACT_URL ARG HELM_ARTIFACT_URL
ARG LIBYAML_VERSION=0.2.5
# Build
RUN set -ex \ RUN set -ex \
&& buildDeps=' \ && buildDeps=' \
automake \ automake \
gcc \ gcc \
libssl-dev \ libssl-dev \
libtool \ libyaml-dev \
make \ libtool \
python3-pip \ make \
' \ python3-pip \
&& apt-get -qq update \ ' \
# Keep git separate so it's not removed below && apt-get -qq update \
&& apt-get install -y $buildDeps git --no-install-recommends \ # Keep git separate so it's not removed below
&& git clone https://github.com/yaml/libyaml.git \ && apt-get install -y $buildDeps git --no-install-recommends \
&& cd libyaml \ && python3 -m pip install -U pip \
&& git checkout $LIBYAML_VERSION \ && pip3 install -r requirements-frozen.txt --no-cache-dir \
&& ./bootstrap \ && curl -fSSL -O ${HELM_ARTIFACT_URL} \
&& ./configure \ && tar -xvf $(basename ${HELM_ARTIFACT_URL}) \
&& make \ && mv linux-amd64/helm /usr/local/bin \
&& make install \ && apt-get purge -y --auto-remove $buildDeps \
&& cd .. \ && apt-get autoremove -yqq --purge \
&& rm -fr libyaml \ && apt-get clean \
&& python3 -m pip install -U pip \ && rm -rf \
&& pip3 install -r requirements-frozen.txt --no-cache-dir \ /var/lib/apt/lists/* \
&& curl -fSSL -O ${HELM_ARTIFACT_URL} \ /tmp/* \
&& tar -xvf $(basename ${HELM_ARTIFACT_URL}) \ /var/tmp/* \
&& mv linux-amd64/helm /usr/local/bin \ /usr/share/man \
&& apt-get purge -y --auto-remove $buildDeps \ /usr/share/doc \
&& apt-get autoremove -yqq --purge \ /usr/share/doc-base
&& apt-get clean \
&& rm -rf \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/* \
/usr/share/man \
/usr/share/doc \
/usr/share/doc-base
COPY . ./ COPY . ./
COPY --from=armada_go /usr/local/bin/armada /usr/local/bin/armada-go COPY --from=armada_go /usr/local/bin/armada /usr/local/bin/armada-go

View File

@@ -17,7 +17,7 @@
set -x set -x
HELM=$1 HELM=$1
HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz"} HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://get.helm.sh/helm-v3.17.3-linux-amd64.tar.gz"}
function install_helm_binary { function install_helm_binary {