58 lines
No EOL
2.4 KiB
Bash
Executable file
58 lines
No EOL
2.4 KiB
Bash
Executable file
#!/bin/bash
|
|
set -exo pipefail
|
|
|
|
function main() {
|
|
{
|
|
upgradeSystem
|
|
|
|
apt-get -qqy install curl git openjdk-17-jre-headless leiningen build-essential libz-dev zlib1g-dev
|
|
|
|
|
|
# download kubeconform & graalvm
|
|
kubeconform_version="0.6.4"
|
|
graalvm_jdk_version="17.0.9"
|
|
|
|
curl -SsLo /tmp/kubeconform.tar.gz https://github.com/yannh/kubeconform/releases/download/v${kubeconform_version}/kubeconform-linux-amd64.tar.gz
|
|
curl -SsLo /tmp/CHECKSUMS https://github.com/yannh/kubeconform/releases/download/v${kubeconform_version}/CHECKSUMS
|
|
curl -SsLo /tmp/graalvm-community-jdk.tar.gz https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${graalvm_jdk_version}/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz
|
|
curl -SsLo /tmp/graalvm-checksum https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${graalvm_jdk_version}/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256
|
|
|
|
# checksum kubeconform & graalvm-jdk
|
|
checksum
|
|
|
|
# install kubeconform
|
|
tar -C /usr/local/bin -xf /tmp/kubeconform.tar.gz --exclude=LICENSE
|
|
|
|
# install graalvm
|
|
tar -C /usr/lib/jvm/ -xf /tmp/graalvm-community-jdk.tar.gz
|
|
dirname_graalvm=$(ls /usr/lib/jvm/|grep -e graa)
|
|
ln -s /usr/lib/jvm/$dirname_graalvm /usr/lib/jvm/graalvm
|
|
ln -s /usr/lib/jvm/graalvm/bin/gu /usr/local/bin
|
|
update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm/bin/java 2
|
|
gu install native-image
|
|
ln -s /usr/lib/jvm/graalvm/bin/native-image /usr/local/bin
|
|
|
|
#install pyb
|
|
apt-get -qqy install python3 python3-pip
|
|
pip3 install pybuilder 'ddadevops>=4.7.0' deprecation dda-python-terraform boto3 pyyaml inflection --break-system-packages
|
|
|
|
cleanupDocker
|
|
} > /dev/null
|
|
}
|
|
|
|
function checksum() {
|
|
checksum_kubeconform=$(awk '{print $1}' /tmp/CHECKSUMS|sed -n '2p')
|
|
sha256sum_kubeconform=$(sha256sum /tmp/kubeconform.tar.gz|awk '{print $1}')
|
|
checksum_graalvm_jdk=$(awk '{print $1}' /tmp/graalvm-checksum)
|
|
sha256sum_graalvm_jdk=$(sha256sum /tmp/graalvm-community-jdk.tar.gz|awk '{print $1}')
|
|
|
|
if [ $checksum_kubeconform == $sha256sum_kubeconform -a $checksum_graalvm_jdk == $sha256sum_graalvm_jdk ]; then
|
|
echo "Kubeconform & graalvm_jdk checksum verification succesful"
|
|
else
|
|
echo "Failure in kubeconform|graalvm_jdk checksum verification"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
source /tmp/install_functions.sh
|
|
DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes main |