Skip to content

Commit 1fbff2d

Browse files
feat(hub): migrate hub container build to UBI10/RHEL10 (RHIDP-14879) (#5250)
Move Konflux hub builds from ubi9/nodejs-24 to ubi10/nodejs-24 (+ minimal runner), refresh rpms.lock.yaml for UBI10 repos, and switch techdocs Python to 3.12. RPM notes for UBI10: - Enable codeready-builder repos (python3-setuptools-wheel moved there). - Drop el9-only packages not published on UBI10 CDN: libdb, libsigsegv, pcre (keep pcre2), libreport-filesystem, yajl, slirp4netns, python3-chardet, python3-pysocks. - Drop nodejs:24 module stream (not used on UBI10 nodejs-24 image). Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent dccf048 commit 1fbff2d

3 files changed

Lines changed: 9253 additions & 8970 deletions

File tree

build/containerfiles/Containerfile

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
# limitations under the License.
1515

1616
# Stage 1 - Build nodejs skeleton
17-
# https://registry.access.redhat.com/ubi9/nodejs-24
18-
FROM registry.access.redhat.com/ubi9/nodejs-24:9.8-1788244366@sha256:7998bfd2352c45c24c7ac830c61dae9074279eeab32dc1a04482be1718e10246 AS skeleton
17+
# https://registry.access.redhat.com/ubi10/nodejs-24
18+
FROM registry.access.redhat.com/ubi10/nodejs-24:10.2-1786427351@sha256:a35d0e62639a3b678cd1b8dcb027b046fb5493cc4d295648af64cbda61bc697e AS skeleton
1919
# hadolint ignore=DL3002
2020
USER 0
2121

@@ -28,23 +28,23 @@ RUN dnf install -q -y --allowerasing --nobest \
2828
findutils fonts-filesystem fuse-common fuse-overlayfs fuse3 fuse3-libs gawk gcc gcc-c++ gdb-gdbserver gdbm-libs gettext gettext-libs git git-core git-core-doc glib2 glibc \
2929
glibc-common glibc-devel glibc-headers glibc-langpack-en glibc-locale-source glibc-minimal-langpack gmp gnupg2 gnutls gobject-introspection gpgme grep groff-base gzip \
3030
ima-evm-utils iproute json-c json-glib kernel-headers keyutils keyutils-libs kmod kmod-libs krb5-libs langpacks-core-en langpacks-core-font-en langpacks-en less \
31-
libacl libarchive libassuan libattr libblkid libbpf libcap libcap-ng libcbor libcom_err libcomps libcurl-minimal libdb libdnf libdnf-plugin-subscription-manager \
31+
libacl libarchive libassuan libattr libblkid libbpf libcap libcap-ng libcbor libcom_err libcomps libcurl-minimal libdnf libdnf-plugin-subscription-manager \
3232
libeconf libedit libevent libfdisk libffi libfido2 libgcc libgcrypt libgomp libgpg-error libidn2 libksba libmnl libmodulemd libmount libmpc libnet libnghttp2 libnl3 \
33-
libpipeline libpkgconf libpwquality librepo libreport-filesystem librhsm libseccomp libselinux libsemanage libsepol libsigsegv libslirp libsmartcols libsolv libstdc++ libstdc++-devel \
33+
libpipeline libpkgconf libpwquality librepo librhsm libseccomp libselinux libsemanage libsepol libslirp libsmartcols libsolv libstdc++ libstdc++-devel \
3434
libtasn1 libunistring libuser libutempter libuuid libverto libxcrypt libxcrypt-compat libxcrypt-devel libxml2 libyaml libzstd lua-libs lz4-libs make man mpfr \
3535
ncurses ncurses-base ncurses-libs nettle npth nss_wrapper-libs openldap \
36-
openssh openssh-clients openssl openssl-devel openssl-fips-provider openssl-fips-provider-so openssl-libs p11-kit p11-kit-trust pam passwd pcre pcre2 pcre2-syntax \
36+
openssh openssh-clients openssl openssl-devel openssl-fips-provider openssl-fips-provider-so openssl-libs p11-kit p11-kit-trust pam passwd pcre2 pcre2-syntax \
3737
perl perl-AutoLoader perl-B perl-base perl-Carp perl-Class-Struct perl-constant perl-Data-Dumper perl-Digest perl-Digest-MD5 perl-DynaLoader perl-Encode perl-Errno perl-Error \
3838
perl-Exporter perl-Fcntl perl-File-Basename perl-File-Find perl-File-Path perl-File-stat perl-File-Temp perl-FileHandle perl-Getopt-Long perl-Getopt-Std perl-Git perl-HTTP-Tiny \
3939
perl-interpreter perl-IO perl-IO-Socket-IP perl-IO-Socket-SSL perl-IPC-Open3 perl-lib perl-libnet perl-libs perl-MIME-Base64 perl-Mozilla-CA perl-mro perl-NDBM_File perl-Net-SSLeay \
4040
perl-overload perl-overloading perl-parent perl-PathTools perl-Pod-Escapes perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-podlators perl-POSIX perl-Scalar-List-Utils perl-SelectSaver \
4141
perl-Socket perl-Storable perl-subs perl-Symbol perl-Term-ANSIColor perl-Term-Cap perl-TermReadKey perl-Text-ParseWords perl-Text-Tabs+Wrap perl-Time-Local perl-URI perl-vars pkgconf \
42-
pkgconf-m4 pkgconf-pkg-config popt procps-ng protobuf-c psmisc python-unversioned-command python3 python3-chardet python3-cloud-what python3-dateutil python3-dbus python3-decorator \
42+
pkgconf-m4 pkgconf-pkg-config popt procps-ng protobuf-c psmisc python-unversioned-command python3 python3-cloud-what python3-dateutil python3-dbus python3-decorator \
4343
python3-dnf python3-dnf-plugins-core python3-gobject-base python3-gobject-base-noarch python3-gpg python3-hawkey python3-idna python3-iniparse python3-inotify python3-libcomps \
44-
python3-libdnf python3-librepo python3-libs python3-pip python3-pip-wheel python3-pysocks python3-requests python3-rpm python3-setuptools python3-setuptools-wheel python3-six \
44+
python3-libdnf python3-librepo python3-libs python3-pip python3-pip-wheel python3-requests python3-rpm python3-setuptools python3-setuptools-wheel python3-six \
4545
python3-subscription-manager-rhsm python3-systemd python3-urllib3 readline redhat-release rootfiles rpm rpm-build-libs rpm-libs rpm-plugin-selinux rpm-sign-libs rsync scl-utils \
46-
sed selinux-policy selinux-policy-targeted setup shadow-utils skopeo slirp4netns sqlite-libs subscription-manager subscription-manager-rhsm-certificates systemd systemd-libs \
47-
systemd-pam systemd-rpm-macros tar tcl tpm2-tss tzdata unzip usermode util-linux util-linux-core vim-filesystem vim-minimal virt-what which xz xz-libs yajl yum zlib zlib-devel && \
46+
sed selinux-policy selinux-policy-targeted setup shadow-utils skopeo sqlite-libs subscription-manager subscription-manager-rhsm-certificates systemd systemd-libs \
47+
systemd-pam systemd-rpm-macros tar tcl tpm2-tss tzdata unzip usermode util-linux util-linux-core vim-filesystem vim-minimal virt-what which xz xz-libs yum zlib zlib-devel && \
4848
\
4949
# '(micro)dnf update -y' not allowed in Konflux+Cachi2: instead use renovate or https://github.com/konflux-ci/rpm-lockfile-prototype to update the rpms.lock.yaml file
5050
dnf clean all
@@ -233,8 +233,8 @@ RUN hadFail=0; for d in $(find /tmp -name "yarn*log*" || true) $(find /tmp/xfs-*
233233
# Prevents duplicating the same dependencies in the final minimal image.
234234
# hadolint ignore=DL3013,DL3041,SC2086
235235
COPY $EXTERNAL_SOURCE_NESTED/python/ ./python/
236-
RUN dnf install -y python3.11 python3.11-pip python3.11-devel 1>/dev/null 2>&1 && \
237-
python3.11 -m venv /opt/techdocs-venv && \
236+
RUN dnf install -y python3.12 python3.12-pip python3.12-devel 1>/dev/null 2>&1 && \
237+
python3.12 -m venv /opt/techdocs-venv && \
238238
/opt/techdocs-venv/bin/pip install --no-cache-dir --upgrade pip setuptools pyyaml && \
239239
/opt/techdocs-venv/bin/pip install --no-cache-dir -r python/requirements.txt -r python/requirements-build.txt && \
240240
/opt/techdocs-venv/bin/mkdocs --version && \
@@ -248,8 +248,8 @@ RUN rm -rf \
248248
dist-types packages/app/.webpack-cache
249249

250250
# Stage 5 - Build the runner image
251-
# https://registry.access.redhat.com/ubi9/nodejs-24-minimal
252-
FROM registry.access.redhat.com/ubi9/nodejs-24-minimal:9.8-1788215621@sha256:c7b8cb436feace96ca0b43eab7326394893e0ac9c2c6b46895727e3b9202fb9d AS runner
251+
# https://registry.access.redhat.com/ubi10/nodejs-24-minimal
252+
FROM registry.access.redhat.com/ubi10/nodejs-24-minimal:10.2-1786428684@sha256:679472268ade9e0438fb09afa7a958e9747b0019727bf203a5c9dc07b7ac7161 AS runner
253253
USER 0
254254

255255
ENV EXTERNAL_SOURCE_NESTED=.
@@ -261,9 +261,9 @@ WORKDIR $CONTAINER_SOURCE/
261261
# export PIP_NO_INDEX=true
262262

263263
# Runtime Python for techdocs (interpreter + skopeo only; mkdocs lives in the pre-built venv from techdocs stage)
264-
RUN microdnf install -y python3.11 skopeo 1>/dev/null 2>&1; \
265-
alternatives --install /usr/bin/python python /usr/bin/python3.11 1 && \
266-
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 && \
264+
RUN microdnf install -y python3.12 skopeo 1>/dev/null 2>&1; \
265+
alternatives --install /usr/bin/python python /usr/bin/python3.12 1 && \
266+
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 && \
267267
microdnf clean all
268268

269269
# Copy openssl binary from build stage (needed for dynamic plugin integrity verification)

rpms.in.yaml

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,21 @@ arches:
99
allowerasing: true
1010
contentOrigin:
1111
repos:
12-
- repoid: ubi-9-for-$basearch-appstream-rpms
13-
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/$basearch/appstream/os/
14-
- repoid: ubi-9-for-$basearch-appstream-source-rpms
15-
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/$basearch/appstream/source/SRPMS
16-
- repoid: ubi-9-for-$basearch-baseos-rpms
17-
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/$basearch/baseos/os/
18-
- repoid: ubi-9-for-$basearch-baseos-source-rpms
19-
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/$basearch/baseos/source/SRPMS
20-
# - repoid: codeready-builder-for-ubi-9-$basearch-rpms
21-
# baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/$basearch/codeready-builder/os/
22-
# # gpgcheck: 0
23-
# - repoid: codeready-builder-for-ubi-9-$basearch-source-rpms
24-
# baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi9/9/$basearch/codeready-builder/source/SRPMS
25-
# # gpgcheck: 0
12+
- repoid: ubi-10-for-$basearch-appstream-rpms
13+
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi10/10/$basearch/appstream/os/
14+
- repoid: ubi-10-for-$basearch-appstream-source-rpms
15+
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi10/10/$basearch/appstream/source/SRPMS
16+
- repoid: ubi-10-for-$basearch-baseos-rpms
17+
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi10/10/$basearch/baseos/os/
18+
- repoid: ubi-10-for-$basearch-baseos-source-rpms
19+
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi10/10/$basearch/baseos/source/SRPMS
20+
- repoid: codeready-builder-for-ubi-10-$basearch-rpms
21+
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi10/10/$basearch/codeready-builder/os/
22+
# gpgcheck: 0
23+
- repoid: codeready-builder-for-ubi-10-$basearch-source-rpms
24+
baseurl: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi10/10/$basearch/codeready-builder/source/SRPMS
25+
# gpgcheck: 0
2626

27-
moduleEnable:
28-
- nodejs:24
2927
packages:
3028
- acl
3129
- alsa-lib
@@ -132,7 +130,6 @@ packages:
132130
- libcom_err
133131
- libcomps
134132
- libcurl-minimal
135-
- libdb
136133
- libdnf
137134
- libdnf-plugin-subscription-manager
138135
- libdrm
@@ -159,13 +156,11 @@ packages:
159156
- libpkgconf
160157
- libpwquality
161158
- librepo
162-
- libreport-filesystem
163159
- librhsm
164160
- libseccomp
165161
- libselinux
166162
- libsemanage
167163
- libsepol
168-
- libsigsegv
169164
- libslirp
170165
- libsmartcols
171166
- libsolv
@@ -218,7 +213,6 @@ packages:
218213
- pam
219214
- pango
220215
- passwd
221-
- pcre
222216
- pcre2
223217
- pcre2-syntax
224218
- perl
@@ -291,7 +285,6 @@ packages:
291285
- procps-ng
292286
- protobuf-c
293287
- psmisc
294-
- python3-chardet
295288
- python3-cloud-what
296289
- python3-dateutil
297290
- python3-dbus
@@ -309,18 +302,17 @@ packages:
309302
- python3-librepo
310303
- python3-pip
311304
- python3-rpm
305+
- python3-setuptools-wheel
312306
- python3-subscription-manager-rhsm
313307
- python3-systemd
314-
- python3.11
315-
- python3.11-devel
316-
- python3.11-idna
317-
- python3.11-pip
318-
- python3.11-pip-wheel
319-
- python3.11-pysocks
320-
- python3.11-requests
321-
- python3.11-setuptools
322-
- python3.11-setuptools-wheel
323-
- python3.11-urllib3
308+
- python3.12
309+
- python3.12-devel
310+
- python3.12-idna
311+
- python3.12-pip
312+
- python3.12-pip-wheel
313+
- python3.12-requests
314+
- python3.12-setuptools
315+
- python3.12-urllib3
324316
- readline
325317
- redhat-release
326318
- rootfiles
@@ -337,7 +329,6 @@ packages:
337329
- setup
338330
- shadow-utils
339331
- skopeo
340-
- slirp4netns
341332
- sqlite-libs
342333
- subscription-manager
343334
- subscription-manager-rhsm-certificates
@@ -359,7 +350,6 @@ packages:
359350
- which
360351
- xz
361352
- xz-libs
362-
- yajl
363353
- yum
364354
- zlib
365355
- zlib-devel

0 commit comments

Comments
 (0)