provisioning/taskservs/oras/default/install-oras.sh

46 lines
1.5 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# Info: Script to install oras
# Author: JesusPerezLorenzo
# Release: 1.0
# Date: 11-01-2024
USAGE="install-oras-os.sh "
[ "$1" == "-h" ] && echo "$USAGE" && exit 1
ORG=$(dirname "$0")
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')"
OS="$(uname | tr '[:upper:]' '[:lower:]')"
_install_oras() {
local curr_version
[ -z "$VERSION" ] && echo "VERSION not found" && exit 1
if [ -x "/usr/local/bin/oras" ] ; then
cur_version=$(/usr/local/bin/oras version | grep "Version" | cut -f2 -d":" | sed "s/ //g")
else
curr_version=0
fi
if [ "$curr_version" != "$VERSION" ] ; then
curl -fsSLO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_${OS}_${ARCH}.tar.gz"
mkdir -p oras-install/
tar -zxf "oras_${VERSION}_${OS}_${ARCH}.tar.gz" -C oras-install/
sudo mv oras-install/oras /usr/local/bin/
rm -rf "oras_${VERSION}_${OS}_${ARCH}.tar.gz" oras-install/
fi
}
_config_oras() {
if [ -r "$ORG/docker-config" ] ; then
[ ! -d "$HOME/.docker" ] && mkdir $HOME/.docker
base64 -d < "$ORG/docker-config" | sudo tee $HOME/.docker/config.json >/dev/null
fi
if [ -r "$ORG/zli-cfg" ] ; then
cp "$ORG/zli-cfg" "$HOME/.zot"
fi
}
[ -r "./env-oras" ] && . ./env-oras
# Update and add packages to installation
[ -z "$1" ] || [ "$1" == "install" ] && _install_oras
[ -z "$1" ] || [ "$1" == "config" ] && _config_oras