66 lines
2.6 KiB
Docker
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;
|