Skip to content
Merged
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
26 changes: 17 additions & 9 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

FROM python:3.12.11-alpine3.22 AS builder-aws
ARG AWS_CLI_VERSION
ENV AWS_CLI_VERSION=${AWS_CLI_VERSION:-"2.27.31"}
ENV AWS_CLI_VERSION=${AWS_CLI_VERSION:-"2.28.11"}

# Install build dependencies
RUN apk add --no-cache \
Expand All @@ -36,7 +36,7 @@ RUN apk add --no-cache \

FROM python:3.12.11-alpine3.22 AS builder-azure
ARG AZURE_CLI_VERSION
ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION:-"2.74.0"}
ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION:-"2.76.0"}
WORKDIR /azure
RUN apk add --no-cache --update python3 py3-pip && \
apk add --no-cache --update --virtual=build gcc musl-dev python3-dev libffi-dev openssl-dev cargo make && \
Expand Down Expand Up @@ -68,7 +68,7 @@ RUN ln -s /opt/aws-cli/bin/aws /usr/local/bin/aws && \

# eksctl https://github.com/eksctl-io/eksctl/releases
ARG EKSCTL_VERSION
ENV EKSCTL_VERSION=${EKSCTL_VERSION:-"v0.210.0"}
ENV EKSCTL_VERSION=${EKSCTL_VERSION:-"v0.212.0"}
RUN CMD_NAME=eksctl && \
curl --silent --location "https://github.com/eksctl-io/eksctl/releases/download/${EKSCTL_VERSION}/${CMD_NAME}_$(uname -s)_${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${EKSCTL_VERSION} && \
Expand All @@ -92,7 +92,7 @@ RUN ln -s /usr/bin/python3 /usr/local/bin/python && ln -s /azure/.venv/bin/az /u

# Azure CLI Bicep https://github.com/Azure/bicep/releases
ARG AZURE_CLI_BICEP_VERSION
ENV AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION:-"v0.36.1"}
ENV AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION:-"v0.37.4"}
RUN echo "AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION}" && \
az --version && \
az bicep install --version ${AZURE_CLI_BICEP_VERSION} && \
Expand All @@ -101,7 +101,7 @@ RUN echo "AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION}" && \

# gcloud cli https://cloud.google.com/sdk/docs/release-notes
ARG CLOUD_SDK_VERSION
ENV CLOUD_SDK_VERSION=${CLOUD_SDK_VERSION:-"510.0.0"}
ENV CLOUD_SDK_VERSION=${CLOUD_SDK_VERSION:-"534.0.0"}
ENV PATH=/google-cloud-sdk/bin:$PATH
RUN if [ `uname -m` = 'x86_64' ]; then echo -n "x86_64" > /tmp/arch; else echo -n "arm" > /tmp/arch; fi;
RUN ARCH=`cat /tmp/arch` && \
Expand All @@ -117,7 +117,7 @@ RUN ARCH=`cat /tmp/arch` && \

# cue for yaml validation https://github.com/cue-lang/cue/releases
ARG CUE_VERSION
ENV CUE_VERSION=${CUE_VERSION:-"v0.13.1"}
ENV CUE_VERSION=${CUE_VERSION:-"v0.14.1"}
RUN CMD_NAME=cue && \
curl --silent --location "https://github.com/cue-lang/cue/releases/download/${CUE_VERSION}/${CMD_NAME}_${CUE_VERSION}_${TARGETOS}_${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${CUE_VERSION} && \
Expand All @@ -130,13 +130,13 @@ RUN ln -sf /usr/bin/yq /usr/local/bin/yq4
# The following are for recipe meta.tools compatibility
# yq 4 utility https://github.com/mikefarah/yq/releases
ARG YQ_VERSION_440
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.45.4"}
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.47.1"}
RUN CMD_NAME=yq && \
curl -sSLo /usr/local/bin/${CMD_NAME}-4.40 "https://github.com/mikefarah/${CMD_NAME}/releases/download/${YQ_VERSION_440}/${CMD_NAME}_${TARGETOS}_${TARGETARCH}" && \
chmod +x /usr/local/bin/${CMD_NAME}-4.40

# vcluster for vcluster https://github.com/loft-sh/vcluster/releases
ARG VCLUSTER_VERSION=v0.25.1
ARG VCLUSTER_VERSION=v0.27.0
RUN export CMD_NAME=vcluster && \
curl --silent --location -o /tmp/${CMD_NAME} "https://github.com/loft-sh/vcluster/releases/download/${VCLUSTER_VERSION}/${CMD_NAME}-${TARGETOS}-${TARGETARCH}" && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${VCLUSTER_VERSION} && \
Expand All @@ -151,6 +151,14 @@ RUN CMD_NAME=helm && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.17 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.17 /usr/local/bin/helm

# helm https://github.com/helm/helm/releases
ARG HELM_VERSION_318
ENV HELM_VERSION_318=${HELM_VERSION_318:-"v3.18.5"}
RUN CMD_NAME=helm && \
curl -k --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_318}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.18 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.18 /usr/local/bin/helm

# kubectl https://kubernetes.io/releases/
ARG KUBECTL_VERSION_132
ENV KUBECTL_VERSION_132=${KUBECTL_VERSION_132:-"v1.32.5"}
Expand All @@ -161,7 +169,7 @@ RUN CMD_NAME=kubectl && \

# kubectl https://kubernetes.io/releases/
ARG KUBECTL_VERSION_133
ENV KUBECTL_VERSION_133=${KUBECTL_VERSION_133:-"v1.33.1"}
ENV KUBECTL_VERSION_133=${KUBECTL_VERSION_133:-"v1.33.4"}
RUN CMD_NAME=kubectl && \
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_133}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.33
Expand Down
24 changes: 12 additions & 12 deletions docker/Dockerfile-on-prem
Original file line number Diff line number Diff line change
Expand Up @@ -25,33 +25,33 @@ RUN ln -sf /usr/bin/yq /usr/local/bin/yq4
# The following are for recipe meta.tools compatibility
# yq 4 utility https://github.com/mikefarah/yq/releases
ARG YQ_VERSION_440
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.45.1"}
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.47.1"}
RUN CMD_NAME=yq && \
curl -sSLo /usr/local/bin/${CMD_NAME}-4.40 "https://github.com/mikefarah/${CMD_NAME}/releases/download/${YQ_VERSION_440}/${CMD_NAME}_${TARGETOS}_${TARGETARCH}" && \
chmod +x /usr/local/bin/${CMD_NAME}-4.40

# vcluster for vcluster https://github.com/loft-sh/vcluster/releases
ARG VCLUSTER_VERSION=v0.22.4
ARG VCLUSTER_VERSION=v0.27.0
RUN export CMD_NAME=vcluster && \
curl --silent --location -o /tmp/${CMD_NAME} "https://github.com/loft-sh/vcluster/releases/download/${VCLUSTER_VERSION}/${CMD_NAME}-${TARGETOS}-${TARGETARCH}" && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${VCLUSTER_VERSION} && \
ln -sf /usr/local/bin/${CMD_NAME}-${VCLUSTER_VERSION} /usr/local/bin/${CMD_NAME} && \
${CMD_NAME} version

# helm https://github.com/helm/helm/releases
ARG HELM_VERSION_317
ENV HELM_VERSION_317=${HELM_VERSION_317:-"v3.17.0"}
ARG HELM_VERSION_318
ENV HELM_VERSION_318=${HELM_VERSION_318:-"v3.18.5"}
RUN CMD_NAME=helm && \
curl --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_317}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.17 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.17 /usr/local/bin/helm
curl -k --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_318}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.18 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.18 /usr/local/bin/helm

# kubectl https://kubernetes.io/releases/
ARG KUBECTL_VERSION_132
ENV KUBECTL_VERSION_132=${KUBECTL_VERSION_132:-"v1.32.1"}
ARG KUBECTL_VERSION_133
ENV KUBECTL_VERSION_133=${KUBECTL_VERSION_133:-"v1.33.4"}
RUN CMD_NAME=kubectl && \
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_132}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.32 && \
ln -sf /usr/local/bin/${CMD_NAME}-1.32 /usr/local/bin/kubectl
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_133}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.33 && \
ln -sf /usr/local/bin/${CMD_NAME}-1.33 /usr/local/bin/kubectl

CMD ["/bin/bash"]
47 changes: 19 additions & 28 deletions docker/Dockerfile-tester
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

# Ubuntu 24 and 25 has strict glibc which will effect compbility between curl and coredns (star CNAME)
# Microsoft artifact is not multi-arch build. see: https://mcr.microsoft.com/en-us/artifact/mar/playwright/tags
FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/playwright/python:v1.49.1-noble-${TARGETARCH}
FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/playwright/python:v1.54.0-noble-${TARGETARCH}
# Ubuntu 22.04 playwright release
#FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/playwright/python:v1.49.1-jammy-${TARGETARCH}

Expand All @@ -26,7 +26,7 @@ RUN apt-get update && apt-get install -y \
# installation: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-version.html
# AWS use x86_64 and aarch64 but docker use amd64 and arm64
ARG AWS_CLI_VERSION
ENV AWS_CLI_VERSION=${AWS_CLI_VERSION:-"2.24.2"}
ENV AWS_CLI_VERSION=${AWS_CLI_VERSION:-"2.28.11"}
RUN AWS_ARCH=${TARGETARCH}; [ "${TARGETARCH}" = "arm64" ] && AWS_ARCH="aarch64" || true && \
[ "${TARGETARCH}" = "amd64" ] && AWS_ARCH="x86_64" || true && \
curl "https://awscli.amazonaws.com/awscli-exe-${TARGETOS}-${AWS_ARCH}-${AWS_CLI_VERSION}.zip" -o "awscliv2.zip" \
Expand All @@ -36,7 +36,7 @@ RUN AWS_ARCH=${TARGETARCH}; [ "${TARGETARCH}" = "arm64" ] && AWS_ARCH="aarch64"

# eksctl https://github.com/eksctl-io/eksctl/releases
ARG EKSCTL_VERSION
ENV EKSCTL_VERSION=${EKSCTL_VERSION:-"v0.203.0"}
ENV EKSCTL_VERSION=${EKSCTL_VERSION:-"v0.212.0"}
RUN CMD_NAME=eksctl && \
curl --silent --location "https://github.com/eksctl-io/eksctl/releases/download/${EKSCTL_VERSION}/${CMD_NAME}_$(uname -s)_${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${EKSCTL_VERSION} && \
Expand All @@ -59,7 +59,7 @@ RUN CMD_NAME=docker-credential-ecr-login && \
# Must use -4 for curl othewise get error like: curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to packages.microsoft.com:443
# ubuntu bug must add -k for curl or use wget: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/2073448
ARG AZURE_CLI_VERSION
ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION:-"2.69.0"}
ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION:-"2.74.0"}
RUN mkdir -p /etc/apt/keyrings && \
curl -4ksLS https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/keyrings/microsoft.gpg > /dev/null && \
chmod go+r /etc/apt/keyrings/microsoft.gpg && \
Expand All @@ -77,7 +77,7 @@ RUN mkdir -p /etc/apt/keyrings && \

# Azure CLI Bicep https://github.com/Azure/bicep/releases
ARG AZURE_CLI_BICEP_VERSION
ENV AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION:-"v0.33.93"}
ENV AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION:-"v0.37.4"}
RUN echo "AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION}" && \
az --version && \
az bicep install --version ${AZURE_CLI_BICEP_VERSION} && \
Expand All @@ -88,7 +88,7 @@ RUN echo "AZURE_CLI_BICEP_VERSION=${AZURE_CLI_BICEP_VERSION}" && \
# check new version: apt-cache policy google-cloud-cli
# installation: https://cloud.google.com/sdk/docs/install#deb
ARG CLOUD_SDK_VERSION
ENV CLOUD_SDK_VERSION=${CLOUD_SDK_VERSION:-"510.0.0"}
ENV CLOUD_SDK_VERSION=${CLOUD_SDK_VERSION:-"534.0.0"}
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && \
apt-get update -y && apt-get install -y google-cloud-cli=${CLOUD_SDK_VERSION}-0 google-cloud-cli-gke-gcloud-auth-plugin=${CLOUD_SDK_VERSION}-0 && \
Expand All @@ -100,7 +100,7 @@ RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.

# cue for yaml validation https://github.com/cue-lang/cue/releases
ARG CUE_VERSION
ENV CUE_VERSION=${CUE_VERSION:-"v0.12.0"}
ENV CUE_VERSION=${CUE_VERSION:-"v0.14.1"}
RUN CMD_NAME=cue && \
curl --silent --location "https://github.com/cue-lang/cue/releases/download/${CUE_VERSION}/${CMD_NAME}_${CUE_VERSION}_${TARGETOS}_${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${CUE_VERSION} && \
Expand All @@ -109,7 +109,7 @@ RUN CMD_NAME=cue && \

# yq 4 utility https://github.com/mikefarah/yq/releases
ARG YQ_VERSION_440
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.45.1"}
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.47.1"}
RUN CMD_NAME=yq && \
curl -sSLo /usr/local/bin/${CMD_NAME}-4.40 "https://github.com/mikefarah/${CMD_NAME}/releases/download/${YQ_VERSION_440}/${CMD_NAME}_${TARGETOS}_${TARGETARCH}" && \
chmod +x /usr/local/bin/${CMD_NAME}-4.40 && \
Expand All @@ -119,34 +119,25 @@ RUN CMD_NAME=yq && \
RUN ln -sf /usr/local/bin/yq /usr/local/bin/yq4

# vcluster for vcluster https://github.com/loft-sh/vcluster/releases
ARG VCLUSTER_VERSION=v0.22.4
ARG VCLUSTER_VERSION=v0.27.0
RUN export CMD_NAME=vcluster && \
curl --silent --location -o /tmp/${CMD_NAME} "https://github.com/loft-sh/vcluster/releases/download/${VCLUSTER_VERSION}/${CMD_NAME}-${TARGETOS}-${TARGETARCH}" && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${VCLUSTER_VERSION} && \
ln -sf /usr/local/bin/${CMD_NAME}-${VCLUSTER_VERSION} /usr/local/bin/${CMD_NAME} && \
${CMD_NAME} version

# helm https://github.com/helm/helm/releases
ARG HELM_VERSION_317
ENV HELM_VERSION_317=${HELM_VERSION_317:-"v3.17.1"}
ARG HELM_VERSION_318
ENV HELM_VERSION_318=${HELM_VERSION_318:-"v3.18.5"}
RUN CMD_NAME=helm && \
curl -k --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_317}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
# wget -q "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_317}-${TARGETOS}-${TARGETARCH}.tar.gz" -O /tmp/helm.tar.gz && \
# tar xz -f /tmp/helm.tar.gz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.17 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.17 /usr/local/bin/helm
curl -k --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_318}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.18 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.18 /usr/local/bin/helm

# kubectl https://kubernetes.io/releases/
ARG KUBECTL_VERSION_132
ENV KUBECTL_VERSION_132=${KUBECTL_VERSION_132:-"v1.32.1"}
ARG KUBECTL_VERSION_133
ENV KUBECTL_VERSION_133=${KUBECTL_VERSION_133:-"v1.33.4"}
RUN CMD_NAME=kubectl && \
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_132}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.32 && \
ln -sf /usr/local/bin/${CMD_NAME}-1.32 /usr/local/bin/kubectl

ARG TIBCOP_VERSION
ENV TIBCOP_VERSION=${TIBCOP_VERSION:-"0.9.0"}
RUN CMD_NAME=tibcop && \
curl -sSLo ${CMD_NAME}.tar.gz "https://github.com/TIBCOSoftware/platform-provisioner/releases/download/tibcop-cli-0.9.0/tibcop-cli-${TIBCOP_VERSION}-${TARGETOS}-${TARGETARCH}.tar.gz" && \
mkdir -p /usr/local/bin/${CMD_NAME}-${TIBCOP_VERSION} && tar -xzf ${CMD_NAME}.tar.gz -C /usr/local/bin/${CMD_NAME}-${TIBCOP_VERSION} && rm -rf ${CMD_NAME}.tar.gz && \
ln -sfn /usr/local/bin/${CMD_NAME}-${TIBCOP_VERSION}/${CMD_NAME}/bin/${CMD_NAME} /usr/local/bin/${CMD_NAME}
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_133}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.33 && \
ln -sf /usr/local/bin/${CMD_NAME}-1.33 /usr/local/bin/kubectl
35 changes: 13 additions & 22 deletions docker/Dockerfile-tester-on-prem
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# Microsoft artifact is not multi-arch build. see: https://mcr.microsoft.com/en-us/artifact/mar/playwright/tags
#FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/playwright/python:v1.49.1-noble-${TARGETARCH}
# Ubuntu 22.04 playwright release
FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/playwright/python:v1.49.1-jammy-${TARGETARCH}
FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/playwright/python:v1.54.0-jammy-${TARGETARCH}

ARG TARGETOS TARGETARCH

Expand All @@ -23,7 +23,7 @@ RUN apt-get update && apt-get install -y \

# cue for yaml validation https://github.com/cue-lang/cue/releases
ARG CUE_VERSION
ENV CUE_VERSION=${CUE_VERSION:-"v0.12.0"}
ENV CUE_VERSION=${CUE_VERSION:-"v0.14.1"}
RUN CMD_NAME=cue && \
curl --silent --location "https://github.com/cue-lang/cue/releases/download/${CUE_VERSION}/${CMD_NAME}_${CUE_VERSION}_${TARGETOS}_${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${CMD_NAME} && mv /tmp/${CMD_NAME} /usr/local/bin/${CMD_NAME}-${CUE_VERSION} && \
Expand All @@ -32,7 +32,7 @@ RUN CMD_NAME=cue && \

# yq 4 utility https://github.com/mikefarah/yq/releases
ARG YQ_VERSION_440
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.45.1"}
ENV YQ_VERSION_440=${YQ_VERSION_440:-"v4.47.1"}
RUN CMD_NAME=yq && \
curl -sSLo /usr/local/bin/${CMD_NAME}-4.40 "https://github.com/mikefarah/${CMD_NAME}/releases/download/${YQ_VERSION_440}/${CMD_NAME}_${TARGETOS}_${TARGETARCH}" && \
chmod +x /usr/local/bin/${CMD_NAME}-4.40 && \
Expand All @@ -43,26 +43,17 @@ RUN ln -sf /usr/local/bin/yq /usr/local/bin/yq4

# helm https://github.com/helm/helm/releases
# ubuntu bug must add -k for curl or use wget: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/2073448
ARG HELM_VERSION_317
ENV HELM_VERSION_317=${HELM_VERSION_317:-"v3.17.1"}
ARG HELM_VERSION_318
ENV HELM_VERSION_318=${HELM_VERSION_318:-"v3.18.5"}
RUN CMD_NAME=helm && \
curl -k --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_317}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
# wget -q "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_317}-${TARGETOS}-${TARGETARCH}.tar.gz" -O /tmp/helm.tar.gz && \
# tar xz -f /tmp/helm.tar.gz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.17 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.17 /usr/local/bin/helm
curl -k --silent --location "https://get.helm.sh/${CMD_NAME}-${HELM_VERSION_318}-${TARGETOS}-${TARGETARCH}.tar.gz" | tar xz -C /tmp && \
chmod +x /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} && mv -f /tmp/${TARGETOS}-${TARGETARCH}/${CMD_NAME} /usr/local/bin/${CMD_NAME}-3.18 && \
ln -sf /usr/local/bin/${CMD_NAME}-3.18 /usr/local/bin/helm

# kubectl https://kubernetes.io/releases/
ARG KUBECTL_VERSION_132
ENV KUBECTL_VERSION_132=${KUBECTL_VERSION_132:-"v1.32.1"}
ARG KUBECTL_VERSION_133
ENV KUBECTL_VERSION_133=${KUBECTL_VERSION_133:-"v1.33.4"}
RUN CMD_NAME=kubectl && \
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_132}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.32 && \
ln -sf /usr/local/bin/${CMD_NAME}-1.32 /usr/local/bin/kubectl

ARG TIBCOP_VERSION
ENV TIBCOP_VERSION=${TIBCOP_VERSION:-"0.9.0"}
RUN CMD_NAME=tibcop && \
curl -sSLo ${CMD_NAME}.tar.gz "https://github.com/TIBCOSoftware/platform-provisioner/releases/download/tibcop-cli-0.9.0/tibcop-cli-${TIBCOP_VERSION}-${TARGETOS}-${TARGETARCH}.tar.gz" && \
mkdir -p /usr/local/bin/${CMD_NAME}-${TIBCOP_VERSION} && tar -xzf ${CMD_NAME}.tar.gz -C /usr/local/bin/${CMD_NAME}-${TIBCOP_VERSION} && rm -rf ${CMD_NAME}.tar.gz && \
ln -sfn /usr/local/bin/${CMD_NAME}-${TIBCOP_VERSION}/${CMD_NAME}/bin/${CMD_NAME} /usr/local/bin/${CMD_NAME}
curl -sLO https://dl.k8s.io/release/${KUBECTL_VERSION_133}/bin/${TARGETOS}/${TARGETARCH}/${CMD_NAME} && \
chmod +x ./${CMD_NAME} && mv -f ./${CMD_NAME} /usr/local/bin/${CMD_NAME}-1.33 && \
ln -sf /usr/local/bin/${CMD_NAME}-1.33 /usr/local/bin/kubectl
15 changes: 15 additions & 0 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,21 @@ cd docker
```
This will build the Docker image called `<your Docker registry repo>/platform-provisioner:latest` and push to remote Docker registry.

To validate the Docker image, you can run the following command:

```bash
export PIPELINE_INPUT_RECIPE="../docs/recipes/tests/test-container-binaries.yaml"
export PIPELINE_DOCKER_IMAGE="platform-provisioner:latest"
../dev/platform-provisioner.sh
```

To build other docker images, you can set the `DOCKER_IMAGE` environment variable to the desired image name. For example, to build the `platform-provisioner:on-prem` image, run the following command:

```bash
export DOCKERFILE="Dockerfile-on-prem"
export IMAGE_TAG="on-prem"
./build.sh
```
</details>

> [!Note]
Expand Down