diff --git a/images/linux/scripts/installers/oras-cli.sh b/images/linux/scripts/installers/oras-cli.sh new file mode 100644 index 000000000..941ccf480 --- /dev/null +++ b/images/linux/scripts/installers/oras-cli.sh @@ -0,0 +1,30 @@ +#!/bin/bash +################################################################################ +## File: oras-cli.sh +## Desc: Installs ORAS Cli +################################################################################ + +# Source the helpers for use with the script +source $HELPER_SCRIPTS/document.sh + +# Determine latest ORAS CLI version +ORAS_CLI_LATEST_VERSION_URL=https://api.github.com/repos/deislabs/oras/releases/latest +ORAS_CLI_VERSION=$(curl $ORAS_CLI_LATEST_VERSION_URL | jq '.name' | tr -d '"' | cut -d 'v' -f 2) + +# Install ORAS CLI +curl -LO https://github.com/deislabs/oras/releases/download/v${ORAS_CLI_VERSION}/oras_${ORAS_CLI_VERSION}_linux_amd64.tar.gz +mkdir -p oras-install/ +tar -xzvf oras_${ORAS_CLI_VERSION}_linux_amd64.tar.gz -C oras-install/ +mv oras-install/oras /usr/local/bin/ +rm -rf oras_${ORAS_CLI_VERSION}_linux_amd64.tar.gz oras-install/ + +# Run tests to determine that the software installed as expected +echo "Testing to make sure that script performed as expected, and basic scenarios work" +if ! oras version; then + echo "ORAS CLI was not installed" + exit 1 +fi + +# Document what was added to the image +echo "Lastly, documenting what we added to the metadata file" +DocumentInstalledItem "ORAS $(oras version | head -1 | awk {'print $2'})" \ No newline at end of file diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index d90ddb166..1f92e3492 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -214,6 +214,7 @@ "{{template_dir}}/scripts/installers/mysql.sh", "{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/bazel.sh", + "{{template_dir}}/scripts/installers/oras-cli.sh", "{{template_dir}}/scripts/installers/phantomjs.sh", "{{template_dir}}/scripts/installers/php.sh", "{{template_dir}}/scripts/installers/pollinate.sh", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 4327b60c9..5a33bf26e 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -218,6 +218,7 @@ "{{template_dir}}/scripts/installers/nvm.sh", "{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/bazel.sh", + "{{template_dir}}/scripts/installers/oras-cli.sh", "{{template_dir}}/scripts/installers/phantomjs.sh", "{{template_dir}}/scripts/installers/php.sh", "{{template_dir}}/scripts/installers/pollinate.sh", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index 344762750..7a07b3e6b 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -216,6 +216,7 @@ "{{template_dir}}/scripts/installers/nvm.sh", "{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/bazel.sh", + "{{template_dir}}/scripts/installers/oras-cli.sh", "{{template_dir}}/scripts/installers/phantomjs.sh", "{{template_dir}}/scripts/installers/php.sh", "{{template_dir}}/scripts/installers/pollinate.sh",