#!/usr/bin/env bash dir="$PWD" scripts_dir="scripts" if [ "$(basename $PWD)" == "$scripts_dir" ]; then cd .. fi . ./$scripts_dir/demo-magic TYPE_SPEED=20 EXEC_WAIT=1 DEMO_PROMPT="${CYAN}➜ ${CYAN}\W " clear IMAGE="./images/workstation.qcow2" PROMPT_TIMEOUT=1 print_prompt wait pei "# Let's create a virtual machine from a Dockerfile" wait DOCKERFILE="examples/full/Dockerfile" pei "cat $DOCKERFILE" cp scripts/demo-magic examples/full cp scripts/inside examples/full cat <> $DOCKERFILE COPY demo-magic /home/adphi/demo-magic COPY inside /home/adphi/inside RUN sudo chmod +x /home/adphi/inside && echo /home/adphi/inside >> /home/adphi/.zshrc && sudo apt install -y pv EOF PROMPT_TIMEOUT=5 wait PROMPT_TIMEOUT=0 EXEC_WAIT=2 pei "export PASSWORD=\"Don'tThinkTh4tIReallyUseThisPassword:)\"" pei "sudo d2vm build -s 10G -o $IMAGE --force --build-arg USER=adphi --build-arg PASSWORD=\$PASSWORD -p \$PASSWORD -v --time=relative examples/full" rm examples/full/{demo-magic,inside} git checkout examples/ &> /dev/null PROMPT_TIMEOUT=1 wait PROMPT_TIMEOUT=2 EXEC_WAIT=1 pei "# Now let's run this image" wait EXEC_WAIT=2 pei "sudo d2vm run qemu --cpus 4 --mem 4096 --networking default $IMAGE" # demo continues inside the vm is soon as the boot completes wait EXEC_WAIT=1 pei "# Let's try to run it on a cloud provider: Hetzner..." EXEC_WAIT=2 pei "sudo -E d2vm run hetzner --rm -v --time=relative -u adphi -i ~/.ssh/id_rsa $IMAGE" # demo continues inside the vm is soon as the boot completes pei "# Pretty cool rigth ? :)" wait cd $dir