108 lines
2.7 KiB
Bash
Executable File
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
|