From e376ae48735d954d679d9b382b10989cd52f6c54 Mon Sep 17 00:00:00 2001 From: David Kornel Date: Fri, 13 Mar 2026 10:55:45 +0100 Subject: [PATCH 1/5] Fix helm install on non sudo images Signed-off-by: David Kornel --- Containerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Containerfile b/Containerfile index 4d525df..6c23fdf 100644 --- a/Containerfile +++ b/Containerfile @@ -29,9 +29,10 @@ RUN export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} && \ chmod +x operator-sdk_${OS}_${ARCH} && \ mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk && \ - curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && \ - chmod 700 get_helm.sh && \ - ./get_helm.sh + curl -fsSL -o helm.tar.gz "https://get.helm.sh/helm-v3.17.1-${OS}-${ARCH}.tar.gz" && \ + tar -xzf helm.tar.gz && \ + mv "${OS}-${ARCH}/helm" /usr/local/bin/helm && \ + rm -rf helm.tar.gz "${OS}-${ARCH}" RUN mkdir -p /opt/kubeconfig && chown 185:0 /opt/kubeconfig && \ From 6c8f04f444ec1babce57bd4d900c6562ef086484 Mon Sep 17 00:00:00 2001 From: David Kornel Date: Fri, 13 Mar 2026 11:04:16 +0100 Subject: [PATCH 2/5] Fix helm install on non sudo images Signed-off-by: David Kornel --- Containerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Containerfile b/Containerfile index 6c23fdf..3fa414c 100644 --- a/Containerfile +++ b/Containerfile @@ -21,7 +21,7 @@ RUN export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n export OS=$(uname | awk '{print tolower($0)}') && \ export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v${OPERATOR_SDK_VERSION} && \ curl -L "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux-${ARCH}-rhel9.tar.gz" -o openshift-client-linux.tar.gz && \ - tar -xzf openshift-client-linux.tar.gz && \ + tar --no-same-owner -xzf openshift-client-linux.tar.gz && \ chmod +x oc kubectl && \ mv oc /usr/local/bin/ && \ mv kubectl /usr/local/bin/ && \ @@ -30,7 +30,7 @@ RUN export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n chmod +x operator-sdk_${OS}_${ARCH} && \ mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk && \ curl -fsSL -o helm.tar.gz "https://get.helm.sh/helm-v3.17.1-${OS}-${ARCH}.tar.gz" && \ - tar -xzf helm.tar.gz && \ + tar --no-same-owner -xzf helm.tar.gz && \ mv "${OS}-${ARCH}/helm" /usr/local/bin/helm && \ rm -rf helm.tar.gz "${OS}-${ARCH}" From 13db99d92583c930c444efb2c8f8dee32009b358 Mon Sep 17 00:00:00 2001 From: David Kornel Date: Fri, 13 Mar 2026 11:07:18 +0100 Subject: [PATCH 3/5] Fix Signed-off-by: David Kornel --- Containerfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Containerfile b/Containerfile index 3fa414c..5bd44f9 100644 --- a/Containerfile +++ b/Containerfile @@ -29,10 +29,9 @@ RUN export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} && \ chmod +x operator-sdk_${OS}_${ARCH} && \ mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk && \ - curl -fsSL -o helm.tar.gz "https://get.helm.sh/helm-v3.17.1-${OS}-${ARCH}.tar.gz" && \ - tar --no-same-owner -xzf helm.tar.gz && \ - mv "${OS}-${ARCH}/helm" /usr/local/bin/helm && \ - rm -rf helm.tar.gz "${OS}-${ARCH}" + curl -fsSL "https://get.helm.sh/helm-v3.17.1-${OS}-${ARCH}.tar.gz" | tar --no-same-owner -xz -C /tmp && \ + mv "/tmp/${OS}-${ARCH}/helm" /usr/local/bin/helm && \ + rm -rf "/tmp/${OS}-${ARCH}" RUN mkdir -p /opt/kubeconfig && chown 185:0 /opt/kubeconfig && \ From e924041b47c6796614c099ff529320f9d98c1781 Mon Sep 17 00:00:00 2001 From: David Kornel Date: Fri, 13 Mar 2026 11:20:55 +0100 Subject: [PATCH 4/5] Fix Signed-off-by: David Kornel --- Containerfile | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/Containerfile b/Containerfile index 5bd44f9..0d4150b 100644 --- a/Containerfile +++ b/Containerfile @@ -1,3 +1,19 @@ +FROM --platform=$BUILDPLATFORM registry.access.redhat.com/ubi9/ubi-minimal:latest AS tools +ARG TARGETARCH +ARG OPERATOR_SDK_VERSION=1.41.1 + +RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y tar gzip && microdnf clean all + +RUN curl -L "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux-${TARGETARCH}-rhel9.tar.gz" -o oc.tar.gz && \ + tar -xzf oc.tar.gz oc kubectl && \ + chmod +x oc kubectl && \ + curl -LO "https://github.com/operator-framework/operator-sdk/releases/download/v${OPERATOR_SDK_VERSION}/operator-sdk_linux_${TARGETARCH}" && \ + chmod +x operator-sdk_linux_${TARGETARCH} && \ + mv operator-sdk_linux_${TARGETARCH} operator-sdk && \ + curl -fsSL "https://get.helm.sh/helm-v3.17.1-linux-${TARGETARCH}.tar.gz" -o helm.tar.gz && \ + tar -xzf helm.tar.gz "linux-${TARGETARCH}/helm" && \ + mv "linux-${TARGETARCH}/helm" helm + FROM registry.access.redhat.com/ubi9/openjdk-21:latest LABEL org.opencontainers.image.source='https://github.com/streamshub/streams-e2e' @@ -9,30 +25,13 @@ LABEL name='streams-e2e' \ ENV STREAMS_HOME=/opt/streams-e2e ENV KUBECONFIG=/opt/kubeconfig/config -ENV OPERATOR_SDK_VERSION=1.41.1 COPY . /opt/streams-e2e USER root RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y unzip git && microdnf clean all -# Install kubectl, oc, operator-sdk and helm3 clients -RUN export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac) && \ - export OS=$(uname | awk '{print tolower($0)}') && \ - export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v${OPERATOR_SDK_VERSION} && \ - curl -L "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux-${ARCH}-rhel9.tar.gz" -o openshift-client-linux.tar.gz && \ - tar --no-same-owner -xzf openshift-client-linux.tar.gz && \ - chmod +x oc kubectl && \ - mv oc /usr/local/bin/ && \ - mv kubectl /usr/local/bin/ && \ - rm -f openshift-client-linux.tar.gz README.md && \ - curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} && \ - chmod +x operator-sdk_${OS}_${ARCH} && \ - mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk && \ - curl -fsSL "https://get.helm.sh/helm-v3.17.1-${OS}-${ARCH}.tar.gz" | tar --no-same-owner -xz -C /tmp && \ - mv "/tmp/${OS}-${ARCH}/helm" /usr/local/bin/helm && \ - rm -rf "/tmp/${OS}-${ARCH}" - +COPY --from=tools /oc /kubectl /operator-sdk /helm /usr/local/bin/ RUN mkdir -p /opt/kubeconfig && chown 185:0 /opt/kubeconfig && \ chown -R 185:0 /opt/streams-e2e && chmod +x /opt/streams-e2e/mvnw @@ -48,4 +47,4 @@ RUN ./mvnw dependency:go-offline -B -q \ && ./mvnw install -Pget-operator-files \ && ./mvnw compile test-compile -B -q -Dcheckstyle.skip=true -CMD ["./mvnw", "verify", "-Ptest"] +CMD ["./mvnw", "verify", "-Ptest"] \ No newline at end of file From 347e0fa57d5ef69d34bf20307d25620ac470f475 Mon Sep 17 00:00:00 2001 From: David Kornel Date: Fri, 13 Mar 2026 14:07:35 +0100 Subject: [PATCH 5/5] fix Signed-off-by: David Kornel --- Containerfile | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/Containerfile b/Containerfile index 0d4150b..566e1ce 100644 --- a/Containerfile +++ b/Containerfile @@ -1,19 +1,3 @@ -FROM --platform=$BUILDPLATFORM registry.access.redhat.com/ubi9/ubi-minimal:latest AS tools -ARG TARGETARCH -ARG OPERATOR_SDK_VERSION=1.41.1 - -RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y tar gzip && microdnf clean all - -RUN curl -L "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux-${TARGETARCH}-rhel9.tar.gz" -o oc.tar.gz && \ - tar -xzf oc.tar.gz oc kubectl && \ - chmod +x oc kubectl && \ - curl -LO "https://github.com/operator-framework/operator-sdk/releases/download/v${OPERATOR_SDK_VERSION}/operator-sdk_linux_${TARGETARCH}" && \ - chmod +x operator-sdk_linux_${TARGETARCH} && \ - mv operator-sdk_linux_${TARGETARCH} operator-sdk && \ - curl -fsSL "https://get.helm.sh/helm-v3.17.1-linux-${TARGETARCH}.tar.gz" -o helm.tar.gz && \ - tar -xzf helm.tar.gz "linux-${TARGETARCH}/helm" && \ - mv "linux-${TARGETARCH}/helm" helm - FROM registry.access.redhat.com/ubi9/openjdk-21:latest LABEL org.opencontainers.image.source='https://github.com/streamshub/streams-e2e' @@ -25,13 +9,31 @@ LABEL name='streams-e2e' \ ENV STREAMS_HOME=/opt/streams-e2e ENV KUBECONFIG=/opt/kubeconfig/config +ENV OPERATOR_SDK_VERSION=1.41.1 COPY . /opt/streams-e2e USER root -RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y unzip git && microdnf clean all +RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y unzip git libarchive && microdnf clean all + +# Install kubectl, oc, operator-sdk and helm3 clients +RUN export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac) && \ + export OS=$(uname | awk '{print tolower($0)}') && \ + export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v${OPERATOR_SDK_VERSION} && \ + curl -L "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux-${ARCH}-rhel9.tar.gz" -o openshift-client-linux.tar.gz && \ + tar -xzf openshift-client-linux.tar.gz && \ + chmod +x oc kubectl && \ + mv oc /usr/local/bin/ && \ + mv kubectl /usr/local/bin/ && \ + rm -f openshift-client-linux.tar.gz README.md && \ + curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} && \ + chmod +x operator-sdk_${OS}_${ARCH} && \ + mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk && \ + curl -fsSL -o helm.tar.gz "https://get.helm.sh/helm-v3.17.1-${OS}-${ARCH}.tar.gz" && \ + bsdtar -xzf helm.tar.gz "${OS}-${ARCH}/helm" && \ + mv "${OS}-${ARCH}/helm" /usr/local/bin/helm && \ + rm -rf helm.tar.gz "${OS}-${ARCH}" -COPY --from=tools /oc /kubectl /operator-sdk /helm /usr/local/bin/ RUN mkdir -p /opt/kubeconfig && chown 185:0 /opt/kubeconfig && \ chown -R 185:0 /opt/streams-e2e && chmod +x /opt/streams-e2e/mvnw