46 lines
1.5 KiB
Bash
46 lines
1.5 KiB
Bash
![]() |
#!/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
|