Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .semaphore/cp_dockerfile_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ global_job_config:
commands:
- checkout
- if [[ $SEMAPHORE_GIT_BRANCH =~ ^7\..* ]]; then sem-version java 8; else sem-version java 17; fi
- sem-version python 3.9
- sem-version python 3.14
- . vault-setup
- . cache-maven restore
- pip install tox==3.28.0
Expand Down
2 changes: 1 addition & 1 deletion .semaphore/semaphore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ global_job_config:
commands:
- checkout
- if [[ $SEMAPHORE_GIT_BRANCH =~ ^7\..* ]]; then sem-version java 8; else sem-version java 17; fi
- sem-version python 3.9
- sem-version python 3.14
- . vault-setup
- . cache-maven restore
- pip install tox==3.28.0
Expand Down
46 changes: 38 additions & 8 deletions base/Dockerfile.ubi8
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ ENV CUB_CLASSPATH='"/usr/share/java/cp-base-new/*"'
ARG OPENSSL_VERSION=""
ARG WGET_VERSION=""
ARG NETCAT_VERSION=""
ARG PYTHON39_VERSION=""
ARG TAR_VERSION=""
ARG PROCPS_VERSION=""
ARG KRB5_WORKSTATION_VERSION=""
Expand All @@ -66,8 +65,10 @@ ARG CURL_VERSION=""
# Temurin JDK version
ARG TEMURIN_JDK_VERSION=""

# Python 3.14 Version (installed from source)
ARG PYTHON314_VERSION="3.14.3"

# Python Module Versions
ARG PYTHON_PIP_VERSION=""
ARG PYTHON_SETUPTOOLS_VERSION=""

# Confluent Docker Utils Version (Namely the tag or branch to grab from git to install)
Expand All @@ -84,15 +85,25 @@ gpgcheck=1 \n\
gpgkey=https://adoptium.jfrog.io/artifactory/api/gpg/key/public \n\
" > /etc/yum.repos.d/adoptium.repo

# Install system packages and build dependencies for Python
RUN microdnf --nodocs install yum \
&& yum --nodocs update -y \
&& yum --nodocs install -y --setopt=install_weak_deps=False \
git \
gcc \
gcc-c++ \
make \
perl-IPC-Cmd \
openssl-devel \
openssl-libs \
ca-certificates \
bzip2-devel \
libffi-devel \
zlib-devel \
sqlite-devel \
"openssl${OPENSSL_VERSION}" \
"wget${WGET_VERSION}" \
"nmap-ncat${NETCAT_VERSION}" \
"python39${PYTHON39_VERSION}" \
"python39-pip${PYTHON_PIP_VERSION}" \
"tar${TAR_VERSION}" \
"procps-ng${PROCPS_VERSION}" \
"krb5-workstation${KRB5_WORKSTATION_VERSION}" \
Expand All @@ -106,11 +117,30 @@ RUN microdnf --nodocs install yum \
"libcurl${CURL_VERSION}" \
"findutils${FINDUTILS_VERSION}" \
"crypto-policies-scripts${CRYPTO_POLICIES_SCRIPTS_VERSION}" \
"temurin-17-jdk${TEMURIN_JDK_VERSION}" "temurin-17-jre${TEMURIN_JDK_VERSION}" \
&& alternatives --set python /usr/bin/python3 \
&& python3 -m pip install --upgrade "setuptools${PYTHON_SETUPTOOLS_VERSION}" \
"temurin-17-jdk${TEMURIN_JDK_VERSION}" "temurin-17-jre${TEMURIN_JDK_VERSION}"

# Install Python 3.14 from source with SSL support
RUN curl -O https://www.python.org/ftp/python/${PYTHON314_VERSION}/Python-${PYTHON314_VERSION}.tgz \
&& tar -xzf Python-${PYTHON314_VERSION}.tgz \
&& cd Python-${PYTHON314_VERSION} \
&& ./configure --enable-optimizations \
--with-ensurepip=install \
--with-openssl=/usr \
--with-openssl-rpath=auto \
&& make -j$(nproc) \
&& make altinstall \
&& cd .. \
&& rm -rf Python-${PYTHON314_VERSION}* \
&& ln -sf /usr/local/bin/python3.14 /usr/bin/python3 \
&& ln -sf /usr/local/bin/python3.14 /usr/bin/python \
&& ln -sf /usr/local/bin/pip3.14 /usr/bin/pip3 \
&& ln -sf /usr/local/bin/pip3.14 /usr/bin/pip \
&& python3 -c "import ssl; print('SSL module loaded successfully')"

# Install Python packages and cleanup
RUN python3 -m pip install --upgrade "setuptools${PYTHON_SETUPTOOLS_VERSION}" \
&& python3 -m pip install --prefer-binary --prefix=/usr/local --upgrade "${PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC}" \
&& yum remove -y git \
&& yum remove -y git gcc gcc-c++ make perl-IPC-Cmd openssl-devel bzip2-devel libffi-devel zlib-devel sqlite-devel \
&& yum clean all \
&& rm -rf /tmp/* \
&& mkdir -p /etc/confluent/docker /usr/logs \
Expand Down
8 changes: 3 additions & 5 deletions base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@
<OPENSSL_VERSION>-${ubi8-minimal.openssl.version}</OPENSSL_VERSION>
<WGET_VERSION>-${ubi8-minimal.wget.version}</WGET_VERSION>
<NETCAT_VERSION>-${ubi8-minimal.nmap-ncat.version}</NETCAT_VERSION>
<PYTHON39_VERSION>-${ubi8-minimal.python39.version}</PYTHON39_VERSION>
<PYTHON314_VERSION>${python314.version}</PYTHON314_VERSION>
<TAR_VERSION>-${ubi8-minimal.tar.version}</TAR_VERSION>
<PROCPS_VERSION>-${ubi8-minimal.procps-ng.version}</PROCPS_VERSION>
<KRB5_WORKSTATION_VERSION>-${ubi8-minimal.krb5-workstation.version}</KRB5_WORKSTATION_VERSION>
Expand All @@ -138,7 +138,6 @@
<TEMURIN_JDK_VERSION>-${ubi8-minimal.temurin-17-jdk.version}</TEMURIN_JDK_VERSION>
<FINDUTILS_VERSION>-${ubi8-minimal.findutils.version}</FINDUTILS_VERSION>
<CRYPTO_POLICIES_SCRIPTS_VERSION>-${ubi8-minimal.crypto-policies-scripts.version}</CRYPTO_POLICIES_SCRIPTS_VERSION>
<PYTHON_PIP_VERSION>-${ubi8-minimal.python39-pip.version}</PYTHON_PIP_VERSION>
<PYTHON_SETUPTOOLS_VERSION>==${python.setuptools.version}</PYTHON_SETUPTOOLS_VERSION>
<PYTHON_CONFLUENT_DOCKER_UTILS_VERSION>${git-repo.confluent-docker-utils.tag}</PYTHON_CONFLUENT_DOCKER_UTILS_VERSION>
<SKIP_SECURITY_UPDATE_CHECK>${docker.skip-security-update-check}</SKIP_SECURITY_UPDATE_CHECK>
Expand All @@ -158,7 +157,7 @@
<OPENSSL_VERSION>-${ubi8-minimal.openssl.version}</OPENSSL_VERSION>
<WGET_VERSION>-${ubi8-minimal.wget.version}</WGET_VERSION>
<NETCAT_VERSION>-${ubi8-minimal.nmap-ncat.version}</NETCAT_VERSION>
<PYTHON39_VERSION>-${ubi8-minimal.python39.version}</PYTHON39_VERSION>
<PYTHON314_VERSION>${python314.version}</PYTHON314_VERSION>
<TAR_VERSION>-${ubi8-minimal.tar.version}</TAR_VERSION>
<PROCPS_VERSION>-${ubi8-minimal.procps-ng.version}</PROCPS_VERSION>
<KRB5_WORKSTATION_VERSION>-${ubi8-minimal.krb5-workstation.version}</KRB5_WORKSTATION_VERSION>
Expand All @@ -170,7 +169,6 @@
<FINDUTILS_VERSION>-${ubi8-minimal.findutils.version}</FINDUTILS_VERSION>
<CRYPTO_POLICIES_SCRIPTS_VERSION>-${ubi8-minimal.crypto-policies-scripts.version}</CRYPTO_POLICIES_SCRIPTS_VERSION>
<TEMURIN_JDK_VERSION>-${ubi8-minimal.temurin-17-jdk.version}</TEMURIN_JDK_VERSION>
<PYTHON_PIP_VERSION>-${ubi8-minimal.python39-pip.version}</PYTHON_PIP_VERSION>
<PYTHON_SETUPTOOLS_VERSION>==${python.setuptools.version}</PYTHON_SETUPTOOLS_VERSION>
<PYTHON_CONFLUENT_DOCKER_UTILS_VERSION>${git-repo.confluent-docker-utils.tag}</PYTHON_CONFLUENT_DOCKER_UTILS_VERSION>
<SKIP_SECURITY_UPDATE_CHECK>${docker.skip-security-update-check}</SKIP_SECURITY_UPDATE_CHECK>
Expand All @@ -182,4 +180,4 @@
</plugin>
</plugins>
</build>
</project>
</project>
2 changes: 1 addition & 1 deletion base/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
git+https://github.com/confluentinc/confluent-docker-utils@v0.0.162
git+https://github.com/confluentinc/confluent-docker-utils@replace-docker-compose-with-sdk
8 changes: 4 additions & 4 deletions base/tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ toxworkdir = /var/tmp
deps =
-rrequirements.txt
flake8
pytest == 4.6.4
pytest-xdist == 1.29.0
pytest-cov == 2.7.1
sphinx!=1.2b2,<2.0.0
pytest >= 8.0.0
pytest-xdist >= 3.0.0
pytest-cov >= 4.0.0
sphinx >= 7.0.0
install_command = pip install -U {packages}
recreate = True
skipsdist = True
Expand Down
5 changes: 2 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
<ubi8-minimal.openssl.version>1.1.1k-14.el8_10</ubi8-minimal.openssl.version>
<ubi8-minimal.wget.version>1.19.5-12.el8_10</ubi8-minimal.wget.version>
<ubi8-minimal.nmap-ncat.version>7.92-2.el8_10</ubi8-minimal.nmap-ncat.version>
<ubi8-minimal.python39.version>3.9.25-2.module+el8.10.0+23718+1842ae33</ubi8-minimal.python39.version>
<python314.version>3.14.3</python314.version>
<ubi8-minimal.tar.version>1.30-11.el8_10</ubi8-minimal.tar.version>
<ubi8-minimal.procps-ng.version>3.3.15-14.el8</ubi8-minimal.procps-ng.version>
<ubi8-minimal.krb5-workstation.version>1.18.2-32.el8_10</ubi8-minimal.krb5-workstation.version>
Expand All @@ -83,13 +83,12 @@
<ubi8-minimal.findutils.version>4.6.0-24.el8_10</ubi8-minimal.findutils.version>
<ubi8-minimal.crypto-policies-scripts.version>20230731-1.git3177e06.el8</ubi8-minimal.crypto-policies-scripts.version>
<ubi8-minimal.temurin-17-jdk.version>17.0.18.0.0.8-0</ubi8-minimal.temurin-17-jdk.version>
<ubi8-minimal.python39-pip.version>20.2.4-9.module+el8.10.0+21329+8d76b841</ubi8-minimal.python39-pip.version>

<!-- Python Package Versions -->
<python.setuptools.version>80.9.0</python.setuptools.version>

<!-- GitHub Repository Tags -->
<git-repo.confluent-docker-utils.tag>v0.0.165</git-repo.confluent-docker-utils.tag>
<git-repo.confluent-docker-utils.tag>replace-docker-compose-with-sdk</git-repo.confluent-docker-utils.tag>

<!-- Docker Hub Image Versions -->
<golang.image.version>1.25.7-trixie</golang.image.version>
Expand Down