#!/bin/bash set -eu cd "$(dirname "$0")" VIRTUAL_MACHINE=base LXD_HOSTNAME= SSDATA_VOLUME_NAME= BACKUP_VOLUME_NAME= # grab any modifications from the command line. for i in "$@"; do case $i in --lxd-hostname=*) LXD_HOSTNAME="${i#*=}" shift ;; --vm=*) VIRTUAL_MACHINE="${i#*=}" shift ;; --ss-volume-name=*) SSDATA_VOLUME_NAME="${i#*=}" shift ;; --backup-volume-name=*) BACKUP_VOLUME_NAME="${i#*=}" shift ;; *) echo "Unexpected option: $1" exit 1 ;; esac done # generate the custom cloud-init file. Cloud init installs and configures sshd SSH_AUTHORIZED_KEY=$(<"$SSH_PUBKEY_PATH") eval "$(ssh-agent -s)" ssh-add "$SSH_HOME/id_rsa" export SSH_AUTHORIZED_KEY="$SSH_AUTHORIZED_KEY" export FILENAME="$LXD_HOSTNAME.yml" mkdir -p "$PROJECT_PATH/cloud-init" YAML_PATH="$PROJECT_PATH/cloud-init/$FILENAME" # If we are deploying the www, we attach the vm to the underlay via macvlan. cat > "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <> "$YAML_PATH" <