shdsbilling/on-premise/main/rancher_v2.9.1/source/rancher-2.9.1/tests/validation/Dockerfile.v3api

66 lines
2.6 KiB
Docker

FROM python:3.11
ARG KUBECTL_VERSION=v1.27.10
ENV WORKSPACE /src/rancher-validation
WORKDIR $WORKSPACE
ENV PYTHONPATH /src/rancher-validation
ARG RKE_VERSION=v1.0.2
ARG CLI_VERSION=v2.3.2
ARG RANCHER_HELM_VERSION=v3.9.0
ARG SONOBUOY_VERSION=0.18.2
ARG TERRAFORM_VERSION=0.12.10
ARG EXTERNAL_ENCODED_VPN
ARG VPN_ENCODED_LOGIN
COPY [".", "$WORKSPACE"]
RUN wget https://storage.googleapis.com/kubernetes-release/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl && \
mv kubectl /bin/kubectl && \
chmod +x /bin/kubectl && \
wget https://github.com/rancher/rke/releases/download/$RKE_VERSION/rke_linux-amd64 && \
mv rke_linux-amd64 /bin/rke && \
chmod +x /bin/rke && \
wget https://github.com/rancher/cli/releases/download/$CLI_VERSION/rancher-linux-amd64-$CLI_VERSION.tar.gz && \
tar -x -f rancher-linux-amd64-$CLI_VERSION.tar.gz && \
mv rancher-$CLI_VERSION/rancher /bin/rancherctl && \
chmod +x /bin/rancherctl && \
wget https://get.helm.sh/helm-$RANCHER_HELM_VERSION-linux-amd64.tar.gz && \
tar -x -f helm-$RANCHER_HELM_VERSION-linux-amd64.tar.gz && \
mv linux-amd64/helm /bin/helm_v3 && \
chmod +x /bin/helm_v3 && \
wget https://releases.hashicorp.com/terraform/$TERRAFORM_VERSION/terraform_"$TERRAFORM_VERSION"_linux_amd64.zip && \
apt-get update && \
apt-get install unzip && \
unzip terraform_"$TERRAFORM_VERSION"_linux_amd64.zip && \
chmod u+x terraform && \
mv terraform /usr/local/bin && \
wget "https://github.com/vmware-tanzu/sonobuoy/releases/download/v$SONOBUOY_VERSION/sonobuoy_$SONOBUOY_VERSION"_linux_amd64.tar.gz && \
tar -xzf "sonobuoy_$SONOBUOY_VERSION"_linux_amd64.tar.gz -C /tmp && \
mv /tmp/sonobuoy /usr/local/bin && \
chmod +x /usr/local/bin/sonobuoy && \
wget https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip && \
unzip awscli-exe-linux-x86_64.zip && \
./aws/install && \
# curl -sL https://aka.ms/InstallAzureCLIDeb | bash && \
cd $WORKSPACE && \
pip install --upgrade pip && \
pip install -r requirements_v3api.txt
# necessary to run if statements using [[ ]]
SHELL ["/bin/bash", "-c"]
RUN if [[ -z '$EXTERNAL_ENCODED_VPN' ]] ; then \
echo 'no vpn provided' ; \
else \
apt-get update && apt-get -y install openvpn net-tools && \
echo $EXTERNAL_ENCODED_VPN | base64 -d > external.ovpn && \
if [[ -z '$VPN_ENCODED_LOGIN' ]] ; then \
echo 'no passcode provided' ; \
else \
echo 'adding passfile' && echo $VPN_ENCODED_LOGIN | base64 -d > passfile && \
sed -i 's/auth-user-pass/auth-user-pass passfile/g' external.ovpn; \
fi; \
fi;