2
2
3
3
# updateBaseImages.sh can't operate on SHA-based tags as they're not date-based or semver-sequential, and therefore cannot be ordered
4
4
FROM quay.io/devfile/base-developer-image:ubi9-latest
5
+
6
+ ARG TARGETARCH
5
7
LABEL maintainer="Red Hat, Inc."
6
8
7
9
LABEL com.redhat.component="devfile-universal-container"
21
23
22
24
# $PROFILE_EXT contains all additions made to the bash environment
23
25
ENV PROFILE_EXT=/etc/profile.d/udi_environment.sh
24
- RUN touch ${PROFILE_EXT} & chown 10001 ${PROFILE_EXT}
26
+ RUN touch ${PROFILE_EXT} && chown 10001 ${PROFILE_EXT}
25
27
26
28
USER 10001
27
29
@@ -57,7 +59,12 @@ ENV JAVA_HOME_21=/home/tooling/.sdkman/candidates/java/21.0.5-tem
57
59
ENV SDKMAN_CANDIDATES_API="https://api.sdkman.io/2"
58
60
ENV SDKMAN_CANDIDATES_DIR="/home/tooling/.sdkman/candidates"
59
61
ENV SDKMAN_DIR="/home/tooling/.sdkman"
60
- ENV SDKMAN_PLATFORM="linuxx64"
62
+ RUN if [ "$TARGETARCH" = "arm64" ]; then \
63
+ export SDKMAN_PLATFORM="linuxarm64" ; \
64
+ else \
65
+ export SDKMAN_PLATFORM="linuxx64" ; \
66
+ fi
67
+ ENV SDKMAN_PLATFORM=${SDKMAN_PLATFORM}
61
68
ENV SDKMAN_VERSION="5.18.2"
62
69
63
70
ENV GRADLE_HOME="/home/tooling/.sdkman/candidates/gradle/current"
@@ -174,7 +181,7 @@ RUN curl --proto '=https' --tlsv1.2 -sSfo rustup https://sh.rustup.rs && \
174
181
175
182
# camel-k
176
183
ENV KAMEL_VERSION 2.2.0
177
- RUN curl -L https://github.com/apache/camel-k/releases/download/v${KAMEL_VERSION}/camel-k-client-${KAMEL_VERSION}-linux-amd64 .tar.gz | tar -C /usr/local/bin -xz --no-same-owner \
184
+ RUN curl -L https://github.com/apache/camel-k/releases/download/v${KAMEL_VERSION}/camel-k-client-${KAMEL_VERSION}-linux-${TARGETARCH} .tar.gz | tar -C /usr/local/bin -xz --no-same-owner \
178
185
&& chmod +x /usr/local/bin/kamel
179
186
180
187
# Config directories
@@ -192,12 +199,16 @@ RUN mkdir -p /home/tooling/.m2 && \
192
199
193
200
# oc client
194
201
ENV OC_VERSION=4.15
195
- RUN curl -L https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/stable-${OC_VERSION}/openshift-client-linux.tar.gz | tar -C /usr/local/bin -xz --no-same-owner \
196
- && chmod +x /usr/local/bin/oc
202
+ RUN if [ "$TARGETARCH" = "arm64" ]; then \
203
+ curl -L https://mirror.openshift.com/pub/openshift-v4/arm64/clients/ocp/stable-${OC_VERSION}/openshift-client-linux.tar.gz; \
204
+ else \
205
+ curl -L https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/stable-${OC_VERSION}/openshift-client-linux.tar.gz; \
206
+ fi | tar -C /usr/local/bin -xz --no-same-owner && \
207
+ chmod +x /usr/local/bin/oc
197
208
198
209
# OS Pipelines CLI (tkn)
199
210
ENV TKN_VERSION=1.14.0
200
- RUN curl -L https://mirror.openshift.com/pub/openshift-v4/clients/pipelines/${TKN_VERSION}/tkn-linux-amd64 .tar.gz | tar -C /usr/local/bin -xz --no-same-owner \
211
+ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/clients/pipelines/${TKN_VERSION}/tkn-linux-${TARGETARCH} .tar.gz | tar -C /usr/local/bin -xz --no-same-owner \
201
212
&& chmod +x /usr/local/bin/tkn /usr/local/bin/opc /usr/local/bin/tkn-pac
202
213
203
214
RUN echo 'alias docker=podman' >> ${PROFILE_EXT}
@@ -231,7 +242,11 @@ set -euf -o pipefail
231
242
TEMP_DIR="$(mktemp -d)"
232
243
cd "${TEMP_DIR}"
233
244
SHELL_CHECK_VERSION="0.8.0"
234
- SHELL_CHECK_ARCH="x86_64"
245
+ if [ "$TARGETARCH" = "arm64" ]; then
246
+ SHELL_CHECK_ARCH="aarch64"
247
+ else
248
+ SHELL_CHECK_ARCH="x86_64"
249
+ fi
235
250
SHELL_CHECK_TGZ="shellcheck-v${SHELL_CHECK_VERSION}.linux.${SHELL_CHECK_ARCH}.tar.xz"
236
251
SHELL_CHECK_TGZ_URL="https://github.com/koalaman/shellcheck/releases/download/v${SHELL_CHECK_VERSION}/${SHELL_CHECK_TGZ}"
237
252
curl -sSLO "${SHELL_CHECK_TGZ_URL}"
@@ -247,7 +262,7 @@ set -euf -o pipefail
247
262
TEMP_DIR="$(mktemp -d)"
248
263
cd "${TEMP_DIR}"
249
264
KREW_VERSION="0.4.2"
250
- KREW_ARCH="linux_amd64 "
265
+ KREW_ARCH="linux_${TARGETARCH} "
251
266
KREW_TGZ="krew-${KREW_ARCH}.tar.gz"
252
267
KREW_TGZ_URL="https://github.com/kubernetes-sigs/krew/releases/download/v${KREW_VERSION}/${KREW_TGZ}"
253
268
curl -sSLO "${KREW_TGZ_URL}"
@@ -276,7 +291,7 @@ set -euf -o pipefail
276
291
TEMP_DIR="$(mktemp -d)"
277
292
cd "${TEMP_DIR}"
278
293
HELM_VERSION="3.14.3"
279
- HELM_ARCH="linux-amd64 "
294
+ HELM_ARCH="linux-${TARGETARCH} "
280
295
HELM_TGZ="helm-v${HELM_VERSION}-${HELM_ARCH}.tar.gz"
281
296
HELM_TGZ_URL="https://get.helm.sh/${HELM_TGZ}"
282
297
curl -sSLO "${HELM_TGZ_URL}"
@@ -294,7 +309,7 @@ set -euf -o pipefail
294
309
TEMP_DIR="$(mktemp -d)"
295
310
cd "${TEMP_DIR}"
296
311
KUSTOMIZE_VERSION="5.3.0"
297
- KUSTOMIZE_ARCH="linux_amd64 "
312
+ KUSTOMIZE_ARCH="linux_${TARGETARCH} "
298
313
KUSTOMIZE_TGZ="kustomize_v${KUSTOMIZE_VERSION}_${KUSTOMIZE_ARCH}.tar.gz"
299
314
KUSTOMIZE_TGZ_URL="https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/${KUSTOMIZE_TGZ}"
300
315
KUSTOMIZE_CHEKSUMS_URL="https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/checksums.txt"
@@ -313,7 +328,11 @@ set -euf -o pipefail
313
328
TEMP_DIR="$(mktemp -d)"
314
329
cd "${TEMP_DIR}"
315
330
TKN_VERSION="0.20.0"
316
- TKN_ARCH="Linux_x86_64"
331
+ if [ "$TARGETARCH" = "arm64" ]; then
332
+ TKN_ARCH="Linux_arm64"
333
+ else
334
+ TKN_ARCH="Linux_x86_64"
335
+ fi
317
336
TKN_TGZ="tkn_${TKN_VERSION}_${TKN_ARCH}.tar.gz"
318
337
TKN_TGZ_URL="https://github.com/tektoncd/cli/releases/download/v${TKN_VERSION}/${TKN_TGZ}"
319
338
TKN_CHEKSUMS_URL="https://github.com/tektoncd/cli/releases/download/v${TKN_VERSION}/checksums.txt"
@@ -332,7 +351,7 @@ set -euf -o pipefail
332
351
TEMP_DIR="$(mktemp -d)"
333
352
cd "${TEMP_DIR}"
334
353
KN_VERSION="1.13.0"
335
- KN_ARCH="linux-amd64 "
354
+ KN_ARCH="linux-${TARGETARCH} "
336
355
KN_BIN="kn-${KN_ARCH}"
337
356
KN_BIN_URL="https://github.com/knative/client/releases/download/knative-v${KN_VERSION}/${KN_BIN}"
338
357
KN_CHEKSUMS_URL="https://github.com/knative/client/releases/download/knative-v${KN_VERSION}/checksums.txt"
@@ -352,7 +371,7 @@ set -euf -o pipefail
352
371
TEMP_DIR="$(mktemp -d)"
353
372
cd "${TEMP_DIR}"
354
373
TF_VERSION="1.7.5"
355
- TF_ARCH="linux_amd64 "
374
+ TF_ARCH="linux_${TARGETARCH} "
356
375
TF_ZIP="terraform_${TF_VERSION}_${TF_ARCH}.zip"
357
376
TF_ZIP_URL="https://releases.hashicorp.com/terraform/${TF_VERSION}/${TF_ZIP}"
358
377
TF_CHEKSUMS_URL="https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_SHA256SUMS"
@@ -367,7 +386,7 @@ rm -rf "${TEMP_DIR}"
367
386
EOF
368
387
369
388
# # skaffold
370
- RUN curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 && \
389
+ RUN curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-${TARGETARCH} && \
371
390
install skaffold /usr/local/bin/
372
391
373
392
# e2fsprogs setup
0 commit comments