Skip to content

Commit

Permalink
Add support for building on ARM64 (and Apple Silicon).
Browse files Browse the repository at this point in the history
* Update Zulu version to multiarch (ARM supported one)
* Remove dockerfile-maven-plugin building -- there is an upstream issue
  with building on ARM (FFI issue
  spotify/dockerfile-maven#367)
  • Loading branch information
chrismoos committed Mar 5, 2022
1 parent baad48c commit 49e4d0f
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 31 deletions.
22 changes: 11 additions & 11 deletions base/Dockerfile.ubi8
Original file line number Diff line number Diff line change
Expand Up @@ -78,18 +78,18 @@ RUN microdnf --nodocs install yum \
&& yum --nodocs -y install https://cdn.azul.com/zulu/bin/zulu-repo-1.0.0-1.noarch.rpm \
&& yum --nodocs install -y --setopt=install_weak_deps=False \
git \
"openssl${OPENSSL_VERSION}" \
"wget${WGET_VERSION}" \
"nmap-ncat${NETCAT_VERSION}" \
"python36${PYTHON36_VERSION}" \
"tar${TAR_VERSION}" \
"procps-ng${PROCPS_VERSION}" \
"krb5-workstation${KRB5_WORKSTATION_VERSION}" \
"iputils${IPUTILS_VERSION}" \
"hostname${HOSTNAME_VERSION}" \
"zulu11-ca-jdk-headless${ZULU_OPENJDK_VERSION}" "zulu11-ca-jre-headless${ZULU_OPENJDK_VERSION}" \
"openssl-${OPENSSL_VERSION}" \
"wget-${WGET_VERSION}" \
"nmap-ncat-${NETCAT_VERSION}" \
"python36-${PYTHON36_VERSION}" \
"tar-${TAR_VERSION}" \
"procps-ng-${PROCPS_VERSION}" \
"krb5-workstation-${KRB5_WORKSTATION_VERSION}" \
"iputils-${IPUTILS_VERSION}" \
"hostname-${HOSTNAME_VERSION}" \
"zulu11-ca-jdk-headless-${ZULU_OPENJDK_VERSION}" "zulu11-ca-jre-headless-${ZULU_OPENJDK_VERSION}" \
&& alternatives --set python /usr/bin/python3 \
&& python3 -m pip install --upgrade "pip${PYTHON_PIP_VERSION}" "setuptools${PYTHON_SETUPTOOLS_VERSION}" \
&& python3 -m pip install --upgrade "pip==${PYTHON_PIP_VERSION}" "setuptools==${PYTHON_SETUPTOOLS_VERSION}" \
&& python3 -m pip install --prefer-binary --prefix=/usr/local --upgrade "${PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC}" \
&& yum remove -y git \
# Work around until Redhat releases updated base image
Expand Down
84 changes: 67 additions & 17 deletions base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,27 +108,77 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>docker-build</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>docker</executable>
<workingDirectory>${project.basedir}</workingDirectory>
<arguments>
<argument>build</argument>
<argument>-f</argument>
<argument>Dockerfile.ubi8</argument>
<argument>--build-arg</argument>
<argument>UBI_MINIMAL_VERSION=${ubi.image.version}</argument>
<argument>--build-arg</argument>
<argument>OPENSSL_VERSION=${ubi.openssl.version}</argument>
<argument>--build-arg</argument>
<argument>WGET_VERSION=${ubi.wget.version}</argument>
<argument>--build-arg</argument>
<argument>NETCAT_VERSION=${ubi.netcat.version}</argument>
<argument>--build-arg</argument>
<argument>PYTHON36_VERSION=${ubi.python36.version}</argument>
<argument>--build-arg</argument>
<argument>TAR_VERSION=${ubi.tar.version}</argument>
<argument>--build-arg</argument>
<argument>PROCPS_VERSION=${ubi.procps.version}</argument>
<argument>--build-arg</argument>
<argument>KRB5_WORKSTATION_VERSION=${ubi.krb5.workstation.version}</argument>
<argument>--build-arg</argument>
<argument>IPUTILS_VERSION=${ubi.iputils.version}</argument>
<argument>--build-arg</argument>
<argument>HOSTNAME_VERSION=${ubi.hostname.version}</argument>
<argument>--build-arg</argument>
<argument>ZULU_OPENJDK_VERSION=${ubi.zulu.openjdk.version}</argument>
<argument>--build-arg</argument>
<argument>PYTHON_PIP_VERSION=${ubi.python.pip.version}</argument>
<argument>--build-arg</argument>
<argument>PYTHON_SETUPTOOLS_VERSION=${ubi.python.setuptools.version}</argument>
<argument>--build-arg</argument>
<argument>PYTHON_CONFLUENT_DOCKER_UTILS_VERSION=${ubi.python.confluent.docker.utils.version}</argument>
<argument>--build-arg</argument>
<argument>SKIP_SECURITY_UPDATE_CHECK=${docker.skip-security-update-check}</argument>
<argument>--build-arg</argument>
<argument>ARTIFACT_ID=${project.artifactId}</argument>
<argument>--build-arg</argument>
<argument>PROJECT_VERSION=${project.version}</argument>
<argument>-t</argument>
<argument>${docker.registry}confluentinc/${project.artifactId}:${docker.tag}</argument>
<argument>.</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<executions>
<execution>
<id>package</id>
<phase>none</phase>
</execution>
</executions>
<configuration>
<buildArgs>
<UBI_MINIMAL_VERSION>${ubi.image.version}</UBI_MINIMAL_VERSION>
<OPENSSL_VERSION>-${ubi.openssl.version}</OPENSSL_VERSION>
<WGET_VERSION>-${ubi.wget.version}</WGET_VERSION>
<NETCAT_VERSION>-${ubi.netcat.version}</NETCAT_VERSION>
<PYTHON36_VERSION>-${ubi.python36.version}</PYTHON36_VERSION>
<TAR_VERSION>-${ubi.tar.version}</TAR_VERSION>
<PROCPS_VERSION>-${ubi.procps.version}</PROCPS_VERSION>
<KRB5_WORKSTATION_VERSION>-${ubi.krb5.workstation.version}</KRB5_WORKSTATION_VERSION>
<IPUTILS_VERSION>-${ubi.iputils.version}</IPUTILS_VERSION>
<HOSTNAME_VERSION>-${ubi.hostname.version}</HOSTNAME_VERSION>
<ZULU_OPENJDK_VERSION>-${ubi.zulu.openjdk.version}</ZULU_OPENJDK_VERSION>
<PYTHON_PIP_VERSION>==${ubi.python.pip.version}</PYTHON_PIP_VERSION>
<PYTHON_SETUPTOOLS_VERSION>==${ubi.python.setuptools.version}</PYTHON_SETUPTOOLS_VERSION>
<PYTHON_CONFLUENT_DOCKER_UTILS_VERSION>${ubi.python.confluent.docker.utils.version}</PYTHON_CONFLUENT_DOCKER_UTILS_VERSION>
<SKIP_SECURITY_UPDATE_CHECK>${docker.skip-security-update-check}</SKIP_SECURITY_UPDATE_CHECK>
</buildArgs>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
Expand Down
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@
<docker.tag>${io.confluent.common-docker.version}-${docker.os_type}</docker.tag>
<io.confluent.common-docker.version>7.0.1</io.confluent.common-docker.version>
<!-- Versions-->
<ubi.image.version>8.5-204</ubi.image.version>
<ubi.image.version>8.5-230.1645809059</ubi.image.version>
<!-- Redhat Package Versions -->
<ubi.openssl.version>1.1.1k-4.el8</ubi.openssl.version>
<ubi.openssl.version>1.1.1k-5.el8_5</ubi.openssl.version>
<ubi.wget.version>1.19.5-10.el8</ubi.wget.version>
<ubi.netcat.version>7.70-6.el8</ubi.netcat.version>
<ubi.python36.version>3.6.8-38.module+el8.5.0+12207+5c5719bc</ubi.python36.version>
Expand All @@ -44,7 +44,7 @@
<ubi.iputils.version>20180629-7.el8</ubi.iputils.version>
<ubi.hostname.version>3.20-6.el8</ubi.hostname.version>
<!-- ZULU OpenJDK Package Version -->
<ubi.zulu.openjdk.version>11.0.13</ubi.zulu.openjdk.version>
<ubi.zulu.openjdk.version>11.0.14.1</ubi.zulu.openjdk.version>
<!-- Python Module Versions -->
<ubi.python.pip.version>21.*</ubi.python.pip.version>
<ubi.python.setuptools.version>54.*</ubi.python.setuptools.version>
Expand Down

0 comments on commit 49e4d0f

Please sign in to comment.