diff --git a/cluster.sh b/cluster.sh index f7aec91..e7e5e20 100755 --- a/cluster.sh +++ b/cluster.sh @@ -8,7 +8,7 @@ cd "$(dirname "$0")" # to use LXD. DATA_PLANE_MACVLAN_INTERFACE= -DISK_TO_USE=loop +DISK_TO_USE= # override the cluster name. CLUSTER_NAME="${1:-}" @@ -82,29 +82,29 @@ if ! lxc remote list | grep -q "$CLUSTER_NAME"; then esac done - # if [ -z "$DATA_PLANE_MACVLAN_INTERFACE" ]; then - # echo "INFO: It looks like you didn't provide input on the command line for the data plane macvlan interface." - # echo " We need to know which interface that is! Enter it here now." - # echo "" + if [ -z "$DATA_PLANE_MACVLAN_INTERFACE" ]; then + echo "INFO: It looks like you didn't provide input on the command line for the data plane macvlan interface." + echo " We need to know which interface that is! Enter it here now." + echo "" - # ssh "ubuntu@$FQDN" ip link + ssh "ubuntu@$FQDN" ip link - # echo "Please enter the network interface that's dedicated to the Sovereign Stack data plane: " - # read -r DATA_PLANE_MACVLAN_INTERFACE + echo "Please enter the network interface that's dedicated to the Sovereign Stack data plane: " + read -r DATA_PLANE_MACVLAN_INTERFACE - # fi + fi - # if [ -z "$DISK_TO_USE" ]; then - # echo "INFO: It looks like the DISK_TO_USE has not been set. Enter it now." - # echo "" + if [ -z "$DISK_TO_USE" ]; then + echo "INFO: It looks like the DISK_TO_USE has not been set. Enter it now." + echo "" - # ssh "ubuntu@$FQDN" lsblk + ssh "ubuntu@$FQDN" lsblk - # USER_DISK= - # echo "Please enter the disk or partition that Sovereign Stack will use to store data (default: loop): " - # read -r USER_DISK - - # fi + echo "Please enter the disk or partition that Sovereign Stack will use to store data (default: loop): " + read -r DISK_TO_USE + else + DISK_TO_USE=loop + fi else echo "ERROR: the cluster already exists! You need to go delete your lxd remote if you want to re-create your cluster." @@ -112,23 +112,15 @@ else exit 1 fi -# ensure we actually have that interface on the system. -echo "DATA_PLANE_MACVLAN_INTERFACE: $DATA_PLANE_MACVLAN_INTERFACE" -if ! ssh "ubuntu@$FQDN" ip link | grep "$DATA_PLANE_MACVLAN_INTERFACE" | grep -q ",UP"; then - echo "ERROR: We could not find your interface in our list of available interfaces. Please run this command again." - echo "NOTE: You can always specify on the command line by adding the '--data-plane-interface=eth0', for example." - exit 1 -fi - -# if the disk is loop-based, then we assume the / path exists. -if [ "$DISK_TO_USE" != loop ]; then - # ensure we actually have that disk/partition on the system. - if ssh "ubuntu@$FQDN" lsblk | grep -q "$DISK_TO_USE"; then - echo "ERROR: We could not the disk you specified. Please run this command again and supply a different disk." - echo "NOTE: You can always specify on the command line by adding the '--disk=/dev/sdd', for example." - exit 1 - fi -fi +# # if the disk is loop-based, then we assume the / path exists. +# if [ "$DISK_TO_USE" != loop ]; then +# # ensure we actually have that disk/partition on the system. +# if ssh "ubuntu@$FQDN" lsblk | grep -q "$DISK_TO_USE"; then +# echo "ERROR: We could not the disk you specified. Please run this command again and supply a different disk." +# echo "NOTE: You can always specify on the command line by adding the '--disk=/dev/sdd', for example." +# exit 1 +# fi +# fi # The MGMT Plane IP is the IP address that the LXD API binds to, which happens # to be the same as whichever SSH connection you're coming in on. diff --git a/deployment/www/generate_certs.sh b/deployment/www/generate_certs.sh index 5dbde7d..d75ec49 100755 --- a/deployment/www/generate_certs.sh +++ b/deployment/www/generate_certs.sh @@ -54,6 +54,5 @@ elif [ "$VPS_HOSTING_TARGET" = lxd ]; then -v "$REMOTE_HOME/letsencrypt/$DOMAIN_NAME/_logs":/var/log/letsencrypt \ certbot/certbot certonly -v --noninteractive --agree-tos --key-type ecdsa --standalone --expand -d "$DOMAIN_NAME" -d "$WWW_FQDN" -d "$BTCPAY_USER_FQDN" -d "$NEXTCLOUD_FQDN" -d "$GITEA_FQDN" -d "$NOSTR_FQDN" --email "$CERTIFICATE_EMAIL_ADDRESS" - sleep 3 done fi diff --git a/deployment/www/go.sh b/deployment/www/go.sh index 49ccd63..091f83d 100755 --- a/deployment/www/go.sh +++ b/deployment/www/go.sh @@ -124,12 +124,13 @@ fi # # start a browser session; point it to port 80 to ensure HTTPS redirect. -# wait-for-it -t 320 "$PRIMARY_WWW_FQDN:80" -# wait-for-it -t 320 "$PRIMARY_WWW_FQDN:443" +# # WWW_FQDN is in our certificate, so we resolve to that. +# wait-for-it -t 320 "$WWW_FQDN:80" +# wait-for-it -t 320 "$WWW_FQDN:443" # # open bowser tabs. # if [ "$DEPLOY_GHOST" = true ]; then -# xdg-open "http://$PRIMARY_WWW_FQDN" > /dev/null 2>&1 +# xdg-open "http://$WWW_FQDN" > /dev/null 2>&1 # fi # if [ "$DEPLOY_NEXTCLOUD" = true ]; then @@ -139,4 +140,7 @@ fi # if [ "$DEPLOY_GITEA" = true ]; then # xdg-open "http://$GITEA_FQDN" > /dev/null 2>&1 # fi -# #fi + +# if [ "$DEPLOY_BTCPAY_SERVER" = true ]; then +# xdg-open "http://$BTCPAY_USER_FQDN" > /dev/null 2>&1 +# fi diff --git a/deployment/www/stop_docker_stacks.sh b/deployment/www/stop_docker_stacks.sh index a4dae82..8dd6f61 100755 --- a/deployment/www/stop_docker_stacks.sh +++ b/deployment/www/stop_docker_stacks.sh @@ -59,7 +59,7 @@ if docker stack list --format "{{.Name}}" | grep -q reverse-proxy; then # wait for all docker containers to stop. # TODO see if there's a way to check for this. - sleep 7 + sleep 10 fi # generate the certs and grab a backup diff --git a/migrate.sh b/migrate.sh new file mode 100644 index 0000000..bdd4cb5 --- /dev/null +++ b/migrate.sh @@ -0,0 +1,12 @@ +# move all migration logic into this script. + +if machine exists, then + +get backup. +don't restart services. + +Then + +delete machine. + +Then re-run script with --restor option. \ No newline at end of file