107 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# SPDX-License-Identifier: Apache-2.0
 | 
						|
 | 
						|
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
 |