+SITE_REPO=${SITE_REPO:-"https://gerrit.akraino.org/r/icn"}
+SITE_BRANCH=${SITE_BRANCH:-"master"}
+SITE_PATH=${SITE_PATH:-"deploy/site/vm"}
+
+FLUX_SOPS_KEY_NAME=${FLUX_SOPS_KEY_NAME:-"icn-site-vm"}
+
+# !!!NOTE!!! THE KEYS USED BELOW ARE FOR TEST PURPOSES ONLY. DO NOT
+# USE THESE OUTSIDE OF THIS ICN VIRTUAL TEST ENVIRONMENT.
+function build_source {
+ # First decrypt the existing site YAML, otherwise we'll be
+ # attempting to encrypt it twice below
+ if [[ -f ${SCRIPTDIR}/sops.asc ]]; then
+ gpg --import ${SCRIPTDIR}/sops.asc
+ sops_decrypt_site ${SCRIPTDIR}/site.yaml
+ fi
+
+ # Generate user password and authorized key in site YAML
+ # To login to guest, ssh -i ${SCRIPTDIR}/id_rsa
+ HASHED_PASSWORD=$(mkpasswd --method=SHA-512 --rounds 10000 "mypasswd")
+ sed -i -e 's!hashedPassword: .*!hashedPassword: '"${HASHED_PASSWORD}"'!' ${SCRIPTDIR}/site.yaml
+ ssh-keygen -t rsa -N "" -f ${SCRIPTDIR}/id_rsa <<<y
+ SSH_AUTHORIZED_KEY=$(cat ${SCRIPTDIR}/id_rsa.pub)