detee-cli/scripts/install.sh

108 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: Unlicense
cd -- "$( dirname -- "${BASH_SOURCE[0]}" )"
scriptdir="$(pwd)"
echo_cyan() {
echo -e "\033[0;36m$1\033[0m"
}
echo_blue() {
echo -e "\033[0;34m$1\033[0m"
}
echo_yellow() {
echo -e "\033[0;33m$1\033[0m"
}
echo_red() {
echo -e "\033[0;31m$1\033[0m"
}
mkdir -p ${HOME}/.detee/bin
mkdir -p ${HOME}/.detee/tmp
mkdir -p ${HOME}/.detee/deps
mkdir -p ${HOME}/.detee/certs/
echo_blue "Make sure you add ${HOME}/.detee/bin to your path!"
install_certs() {
[[ -f "${HOME}/.detee/certs/root_ca.pem" ]] || {
wget -O "${HOME}/.detee/certs/root_ca.pem" https://registry.detee.ltd/root_ca.pem
}
}
install_sev-snp-measure() {
[[ -e "${HOME}/.detee/bin/sev-snp-measure.py" ]] && {
echo_yellow "${HOME}/.detee/bin/sev-snp-measure.py already found. Delete the file to reinstall."
return
}
cd ${HOME}/.detee/deps
git clone https://github.com/virtee/sev-snp-measure.git
cd sev-snp-measure
git pull
ln -s ../deps/sev-snp-measure/sev-snp-measure.py ${HOME}/.detee/bin/sev-snp-measure.py
}
install_snpguest() {
[[ -f "${HOME}/.detee/bin/snpguest" ]] && {
echo_yellow "${HOME}/.detee/bin/snpguest already found. Delete the file to reinstall."
return
}
cd ${HOME}/.detee/tmp
git clone https://github.com/virtee/snpguest.git
cd snpguest
git pull
cargo build --release
cp target/release/snpguest ${HOME}/.detee/bin
}
install_detee-cli() {
cd "${scriptdir}/.."
[[ -f "${HOME}/.detee/bin/detee-cli" ]] && {
echo_yellow "${HOME}/.detee/bin/detee-cli already found. Delete the file to reinstall."
return
}
cargo build --release
cp ./target/release/detee-cli ${HOME}/.detee/bin
}
install_super-detee-cli() {
cd "${scriptdir}/.."
[[ -f "${HOME}/.detee/bin/super-detee-cli" ]] && {
echo_yellow "${HOME}/.detee/bin/super-detee-cli already found. Delete the file to reinstall."
return
}
cargo build --release --bin super-detee-cli
cp ./target/release/super-detee-cli ${HOME}/.detee/bin/
}
install_injector() {
cd "${scriptdir}"
[[ -f "${HOME}/.detee/bin/detee-cli_injector.sh" ]] && {
echo_yellow "${HOME}/.detee/bin/detee-cli_injector.sh already found. Delete the file to reinstall."
return
}
cp ./detee-cli_injector.sh ${HOME}/.detee/bin/
}
copy_vm_samples() {
cd $scriptdir
cp -r ../samples "${HOME}/.detee/"
}
install_fish_completion() {
detee-cli completion fish > ${HOME}/.config/fish/completions/detee-cli.fish
super-detee-cli completion fish > ${HOME}/.config/fish/completions/super-detee-cli.fish
}
install_certs
install_sev-snp-measure
install_snpguest
install_detee-cli
install_super-detee-cli
install_injector
copy_vm_samples
install_fish_completion