Compare commits
5 Commits
9d7d08b0ed
...
f3ec53521d
Author | SHA1 | Date |
---|---|---|
Derek Smith | f3ec53521d | |
Derek Smith | 042cdb5b7e | |
Derek Smith | 882b5c6bf0 | |
Derek Smith | 60efc0a6fc | |
Derek Smith | 50d65ebe7c |
|
@ -31,66 +31,56 @@ if ! incus list --format csv | grep -q "$INCUS_VM_NAME"; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TODO ensure we are only GROWING the volume--never shrinking per zfs volume docs.
|
# TODO ensure we are only GROWING the volume--never shrinking per zfs volume docs.
|
||||||
VM_ID=
|
|
||||||
BACKUP_DISK_SIZE_GB=
|
BACKUP_DISK_SIZE_GB=
|
||||||
SSDATA_DISK_SIZE_GB=
|
SSDATA_DISK_SIZE_GB=
|
||||||
DOCKER_DISK_SIZE_GB=
|
DOCKER_DISK_SIZE_GB=
|
||||||
if [ "$VIRTUAL_MACHINE" = www ]; then
|
if [ "$VIRTUAL_MACHINE" = www ]; then
|
||||||
if [ "$SKIP_WWW" = true ]; then
|
if [ "$SKIP_WWW_SERVER" = true ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VM_ID="w"
|
|
||||||
BACKUP_DISK_SIZE_GB="$WWW_BACKUP_DISK_SIZE_GB"
|
BACKUP_DISK_SIZE_GB="$WWW_BACKUP_DISK_SIZE_GB"
|
||||||
SSDATA_DISK_SIZE_GB="$WWW_SSDATA_DISK_SIZE_GB"
|
SSDATA_DISK_SIZE_GB="$WWW_SSDATA_DISK_SIZE_GB"
|
||||||
DOCKER_DISK_SIZE_GB="$WWW_DOCKER_DISK_SIZE_GB"
|
DOCKER_DISK_SIZE_GB="$WWW_DOCKER_DISK_SIZE_GB"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$VIRTUAL_MACHINE" = btcpayserver ]; then
|
if [ "$VIRTUAL_MACHINE" = btcpayserver ]; then
|
||||||
if [ "$SKIP_BTCPAYSERVER" = true ]; then
|
if [ "$SKIP_BTCPAY_SERVER" = true ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VM_ID="b"
|
|
||||||
BACKUP_DISK_SIZE_GB="$BTCPAYSERVER_BACKUP_DISK_SIZE_GB"
|
BACKUP_DISK_SIZE_GB="$BTCPAYSERVER_BACKUP_DISK_SIZE_GB"
|
||||||
SSDATA_DISK_SIZE_GB="$BTCPAYSERVER_SSDATA_DISK_SIZE_GB"
|
SSDATA_DISK_SIZE_GB="$BTCPAYSERVER_SSDATA_DISK_SIZE_GB"
|
||||||
DOCKER_DISK_SIZE_GB="$BTCPAYSERVER_DOCKER_DISK_SIZE_GB"
|
DOCKER_DISK_SIZE_GB="$BTCPAYSERVER_DOCKER_DISK_SIZE_GB"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$VIRTUAL_MACHINE" = lnplayserver ]; then
|
SSDATA_VOLUME_NAME=
|
||||||
if [ "$SKIP_LNPLAY_SERVER" = true ]; then
|
BACKUP_VOLUME_NAME=
|
||||||
exit 0
|
if [ "$VIRTUAL_MACHINE" != lnplayserver ]; then
|
||||||
|
DOCKER_VOLUME_NAME="$VIRTUAL_MACHINE-docker"
|
||||||
|
if ! incus storage volume list ss-base | grep -q "$DOCKER_VOLUME_NAME"; then
|
||||||
|
incus storage volume create ss-base "$DOCKER_VOLUME_NAME" --type=block
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VM_ID="c"
|
# TODO ensure we are only GROWING the volume--never shrinking
|
||||||
BACKUP_DISK_SIZE_GB="$BTCPAYSERVER_BACKUP_DISK_SIZE_GB"
|
incus storage volume set ss-base "$DOCKER_VOLUME_NAME" size="${DOCKER_DISK_SIZE_GB}GB"
|
||||||
SSDATA_DISK_SIZE_GB="$BTCPAYSERVER_SSDATA_DISK_SIZE_GB"
|
|
||||||
DOCKER_DISK_SIZE_GB="$BTCPAYSERVER_DOCKER_DISK_SIZE_GB"
|
SSDATA_VOLUME_NAME="$VIRTUAL_MACHINE-ss-data"
|
||||||
|
if ! incus storage volume list ss-base | grep -q "$SSDATA_VOLUME_NAME"; then
|
||||||
|
incus storage volume create ss-base "$SSDATA_VOLUME_NAME" --type=filesystem
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TODO ensure we are only GROWING the volume--never shrinking per zfs volume docs.
|
||||||
|
incus storage volume set ss-base "$SSDATA_VOLUME_NAME" size="${SSDATA_DISK_SIZE_GB}GB"
|
||||||
|
|
||||||
|
BACKUP_VOLUME_NAME="$VIRTUAL_MACHINE-backup"
|
||||||
|
if ! incus storage volume list ss-base | grep -q "$BACKUP_VOLUME_NAME"; then
|
||||||
|
incus storage volume create ss-base "$BACKUP_VOLUME_NAME" --type=filesystem
|
||||||
|
fi
|
||||||
|
|
||||||
|
incus storage volume set ss-base "$BACKUP_VOLUME_NAME" size="${BACKUP_DISK_SIZE_GB}GB"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DOCKER_VOLUME_NAME="$VIRTUAL_MACHINE-docker"
|
|
||||||
if ! incus storage volume list ss-base | grep -q "$DOCKER_VOLUME_NAME"; then
|
|
||||||
incus storage volume create ss-base "$DOCKER_VOLUME_NAME" --type=block
|
|
||||||
fi
|
|
||||||
|
|
||||||
# TODO ensure we are only GROWING the volume--never shrinking
|
|
||||||
incus storage volume set ss-base "$DOCKER_VOLUME_NAME" size="${DOCKER_DISK_SIZE_GB}GB"
|
|
||||||
|
|
||||||
SSDATA_VOLUME_NAME="$VIRTUAL_MACHINE-ss-data"
|
|
||||||
if ! incus storage volume list ss-base | grep -q "$SSDATA_VOLUME_NAME"; then
|
|
||||||
incus storage volume create ss-base "$SSDATA_VOLUME_NAME" --type=filesystem
|
|
||||||
fi
|
|
||||||
|
|
||||||
# TODO ensure we are only GROWING the volume--never shrinking per zfs volume docs.
|
|
||||||
incus storage volume set ss-base "$SSDATA_VOLUME_NAME" size="${SSDATA_DISK_SIZE_GB}GB"
|
|
||||||
|
|
||||||
|
|
||||||
BACKUP_VOLUME_NAME="$VIRTUAL_MACHINE-backup"
|
|
||||||
if ! incus storage volume list ss-base | grep -q "$BACKUP_VOLUME_NAME"; then
|
|
||||||
incus storage volume create ss-base "$BACKUP_VOLUME_NAME" --type=filesystem
|
|
||||||
fi
|
|
||||||
|
|
||||||
incus storage volume set ss-base "$BACKUP_VOLUME_NAME" size="${BACKUP_DISK_SIZE_GB}GB"
|
|
||||||
|
|
||||||
|
|
||||||
bash -c "./stub_profile.sh --vm=$VIRTUAL_MACHINE --incus-hostname=$INCUS_VM_NAME --ss-volume-name=$SSDATA_VOLUME_NAME --backup-volume-name=$BACKUP_VOLUME_NAME"
|
bash -c "./stub_profile.sh --vm=$VIRTUAL_MACHINE --incus-hostname=$INCUS_VM_NAME --ss-volume-name=$SSDATA_VOLUME_NAME --backup-volume-name=$BACKUP_VOLUME_NAME"
|
||||||
|
@ -103,8 +93,10 @@ if ! incus list --format csv | grep -q "$INCUS_VM_NAME"; then
|
||||||
# and so we can set DNS internally.
|
# and so we can set DNS internally.
|
||||||
incus config set "$INCUS_VM_NAME" "volatile.enp5s0.hwaddr=$MAC_ADDRESS_TO_PROVISION"
|
incus config set "$INCUS_VM_NAME" "volatile.enp5s0.hwaddr=$MAC_ADDRESS_TO_PROVISION"
|
||||||
|
|
||||||
# attack the docker block device.
|
if [ "$VIRTUAL_MACHINE" != lnplayserver ]; then
|
||||||
incus storage volume attach ss-base "$DOCKER_VOLUME_NAME" "$INCUS_VM_NAME"
|
# attack the docker block device.
|
||||||
|
incus storage volume attach ss-base "$DOCKER_VOLUME_NAME" "$INCUS_VM_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
# if [ "$VIRTUAL_MACHINE" = btcpayserver ]; then
|
# if [ "$VIRTUAL_MACHINE" = btcpayserver ]; then
|
||||||
# # attach any volumes
|
# # attach any volumes
|
||||||
|
@ -124,7 +116,9 @@ if ! incus list --format csv | grep -q "$INCUS_VM_NAME"; then
|
||||||
# scan the remote machine and install it's identity in our SSH known_hosts file.
|
# scan the remote machine and install it's identity in our SSH known_hosts file.
|
||||||
ssh-keyscan -H "$FQDN" >> "$SSH_HOME/known_hosts"
|
ssh-keyscan -H "$FQDN" >> "$SSH_HOME/known_hosts"
|
||||||
|
|
||||||
ssh "$FQDN" "sudo chown ubuntu:ubuntu $REMOTE_DATA_PATH"
|
if [ "$VIRTUAL_MACHINE" != lnplayserver ]; then
|
||||||
ssh "$FQDN" "sudo chown -R ubuntu:ubuntu $REMOTE_BACKUP_PATH"
|
ssh "$FQDN" "sudo chown ubuntu:ubuntu $REMOTE_DATA_PATH"
|
||||||
|
ssh "$FQDN" "sudo chown -R ubuntu:ubuntu $REMOTE_BACKUP_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
|
@ -32,10 +32,6 @@ export BTCPAYSERVER_SSDATA_DISK_SIZE_GB=20
|
||||||
export BTCPAYSERVER_BACKUP_DISK_SIZE_GB=20
|
export BTCPAYSERVER_BACKUP_DISK_SIZE_GB=20
|
||||||
export BTCPAYSERVER_DOCKER_DISK_SIZE_GB=30
|
export BTCPAYSERVER_DOCKER_DISK_SIZE_GB=30
|
||||||
|
|
||||||
export LNPLAY_SERVER_SSDATA_DISK_SIZE_GB=20
|
|
||||||
export LNPLAY_SERVER_BACKUP_DISK_SIZE_GB=20
|
|
||||||
export LNPLAY_SSERVER_DOCKER_DISK_SIZE_GB=100
|
|
||||||
|
|
||||||
export WWW_HOSTNAME="www"
|
export WWW_HOSTNAME="www"
|
||||||
export BTCPAY_SERVER_HOSTNAME="btcpayserver"
|
export BTCPAY_SERVER_HOSTNAME="btcpayserver"
|
||||||
export LNPLAY_SERVER_HOSTNAME="lnplayserver"
|
export LNPLAY_SERVER_HOSTNAME="lnplayserver"
|
||||||
|
@ -46,7 +42,6 @@ export NOSTR_HOSTNAME="relay"
|
||||||
|
|
||||||
export REGISTRY_URL="https://index.docker.io/v1"
|
export REGISTRY_URL="https://index.docker.io/v1"
|
||||||
|
|
||||||
|
|
||||||
export BTCPAY_SERVER_CPU_COUNT="4"
|
export BTCPAY_SERVER_CPU_COUNT="4"
|
||||||
export BTCPAY_SERVER_MEMORY_MB="4096"
|
export BTCPAY_SERVER_MEMORY_MB="4096"
|
||||||
export WWW_SERVER_CPU_COUNT="4"
|
export WWW_SERVER_CPU_COUNT="4"
|
||||||
|
@ -54,4 +49,3 @@ export WWW_SERVER_MEMORY_MB="4096"
|
||||||
export LNPLAY_SERVER_CPU_COUNT="4"
|
export LNPLAY_SERVER_CPU_COUNT="4"
|
||||||
export LNPLAY_SERVER_MEMORY_MB="4096"
|
export LNPLAY_SERVER_MEMORY_MB="4096"
|
||||||
export DOCKER_IMAGE_CACHE_FQDN="registry-1.docker.io"
|
export DOCKER_IMAGE_CACHE_FQDN="registry-1.docker.io"
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,8 @@ fi
|
||||||
|
|
||||||
KEEP_DOCKER_VOLUME=true
|
KEEP_DOCKER_VOLUME=true
|
||||||
OTHER_SITES_LIST=
|
OTHER_SITES_LIST=
|
||||||
SKIP_BTCPAYSERVER=false
|
SKIP_BTCPAY_SERVER=false
|
||||||
SKIP_WWW=false
|
SKIP_WWW_SERVER=false
|
||||||
SKIP_LNPLAY_SERVER=false
|
SKIP_LNPLAY_SERVER=false
|
||||||
BACKUP_WWW_APPS=true
|
BACKUP_WWW_APPS=true
|
||||||
|
|
||||||
|
@ -25,11 +25,11 @@ for i in "$@"; do
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-btcpayserver)
|
--skip-btcpayserver)
|
||||||
SKIP_BTCPAYSERVER=true
|
SKIP_BTCPAY_SERVER=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-wwwserver)
|
--skip-wwwserver)
|
||||||
SKIP_WWW=true
|
SKIP_WWW_SERVER=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-lnplayserver)
|
--skip-lnplayserver)
|
||||||
|
@ -44,11 +44,11 @@ for i in "$@"; do
|
||||||
done
|
done
|
||||||
|
|
||||||
SERVERS=
|
SERVERS=
|
||||||
if [ "$SKIP_BTCPAYSERVER" = false ]; then
|
if [ "$SKIP_BTCPAY_SERVER" = false ]; then
|
||||||
SERVERS="btcpayserver"
|
SERVERS="btcpayserver"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$SKIP_WWW" = false ]; then
|
if [ "$SKIP_WWW_SERVER" = false ]; then
|
||||||
SERVERS="www $SERVERS"
|
SERVERS="www $SERVERS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 318e89afe5d6ba506cf97c719537d1ecb3583c46
|
Subproject commit 76b480a0535e228d8e8fd96abf606bf997ccacf6
|
|
@ -32,14 +32,34 @@ fi
|
||||||
SHASUM_OF_PRIMARY_DOMAIN="$(echo -n "$PRIMARY_DOMAIN" | sha256sum | awk '{print $1;}' )"
|
SHASUM_OF_PRIMARY_DOMAIN="$(echo -n "$PRIMARY_DOMAIN" | sha256sum | awk '{print $1;}' )"
|
||||||
export PRIMARY_DOMAIN_IDENTIFIER="${SHASUM_OF_PRIMARY_DOMAIN: -6}"
|
export PRIMARY_DOMAIN_IDENTIFIER="${SHASUM_OF_PRIMARY_DOMAIN: -6}"
|
||||||
|
|
||||||
|
|
||||||
|
# default values are already at regtest mode.
|
||||||
|
if [ "$BITCOIN_CHAIN" = testnet ]; then
|
||||||
|
|
||||||
|
WWW_SSDATA_DISK_SIZE_GB=30
|
||||||
|
WWW_BACKUP_DISK_SIZE_GB=30
|
||||||
|
WWW_DOCKER_DISK_SIZE_GB=50
|
||||||
|
|
||||||
|
BTCPAYSERVER_SSDATA_DISK_SIZE_GB=30
|
||||||
|
BTCPAYSERVER_BACKUP_DISK_SIZE_GB=30
|
||||||
|
BTCPAYSERVER_DOCKER_DISK_SIZE_GB=100
|
||||||
|
|
||||||
|
elif [ "$BITCOIN_CHAIN" = mainnet ]; then
|
||||||
|
|
||||||
|
WWW_SSDATA_DISK_SIZE_GB=40
|
||||||
|
WWW_BACKUP_DISK_SIZE_GB=40
|
||||||
|
WWW_DOCKER_DISK_SIZE_GB=1000
|
||||||
|
|
||||||
|
BTCPAYSERVER_SSDATA_DISK_SIZE_GB=30
|
||||||
|
BTCPAYSERVER_BACKUP_DISK_SIZE_GB=30
|
||||||
|
BTCPAYSERVER_DOCKER_DISK_SIZE_GB=250
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
export WWW_SSDATA_DISK_SIZE_GB="$WWW_SSDATA_DISK_SIZE_GB"
|
export WWW_SSDATA_DISK_SIZE_GB="$WWW_SSDATA_DISK_SIZE_GB"
|
||||||
export WWW_BACKUP_DISK_SIZE_GB="$WWW_BACKUP_DISK_SIZE_GB"
|
export WWW_BACKUP_DISK_SIZE_GB="$WWW_BACKUP_DISK_SIZE_GB"
|
||||||
export WWW_DOCKER_DISK_SIZE_GB="$WWW_DOCKER_DISK_SIZE_GB"
|
export WWW_DOCKER_DISK_SIZE_GB="$WWW_DOCKER_DISK_SIZE_GB"
|
||||||
|
|
||||||
export BTCPAYSERVER_SSDATA_DISK_SIZE_GB="$BTCPAYSERVER_SSDATA_DISK_SIZE_GB"
|
export BTCPAYSERVER_SSDATA_DISK_SIZE_GB="$BTCPAYSERVER_SSDATA_DISK_SIZE_GB"
|
||||||
export BTCPAYSERVER_BACKUP_DISK_SIZE_GB="$BTCPAYSERVER_BACKUP_DISK_SIZE_GB"
|
export BTCPAYSERVER_BACKUP_DISK_SIZE_GB="$BTCPAYSERVER_BACKUP_DISK_SIZE_GB"
|
||||||
export BTCPAYSERVER_DOCKER_DISK_SIZE_GB="$BTCPAYSERVER_DOCKER_DISK_SIZE_GB"
|
export BTCPAYSERVER_DOCKER_DISK_SIZE_GB="$BTCPAYSERVER_DOCKER_DISK_SIZE_GB"
|
||||||
|
|
||||||
export LNPLAY_SERVER_SSDATA_DISK_SIZE_GB="$LNPLAY_SERVER_SSDATA_DISK_SIZE_GB"
|
|
||||||
export LNPLAY_SERVER_BACKUP_DISK_SIZE_GB="$LNPLAY_SERVER_BACKUP_DISK_SIZE_GB"
|
|
||||||
export LNPLAY_SSERVER_DOCKER_DISK_SIZE_GB="$LNPLAY_SSERVER_DOCKER_DISK_SIZE_GB"
|
|
|
@ -51,42 +51,3 @@ fi
|
||||||
|
|
||||||
source "$REMOTE_DEFINITION"
|
source "$REMOTE_DEFINITION"
|
||||||
|
|
||||||
|
|
||||||
# default values are already at regtest mode.
|
|
||||||
if [ "$BITCOIN_CHAIN" = testnet ]; then
|
|
||||||
|
|
||||||
WWW_SSDATA_DISK_SIZE_GB=30
|
|
||||||
WWW_BACKUP_DISK_SIZE_GB=30
|
|
||||||
WWW_DOCKER_DISK_SIZE_GB=50
|
|
||||||
|
|
||||||
BTCPAYSERVER_SSDATA_DISK_SIZE_GB=30
|
|
||||||
BTCPAYSERVER_BACKUP_DISK_SIZE_GB=30
|
|
||||||
BTCPAYSERVER_DOCKER_DISK_SIZE_GB=100
|
|
||||||
|
|
||||||
LNPLAY_SERVER_SSDATA_DISK_SIZE_GB=20
|
|
||||||
LNPLAY_SERVER_BACKUP_DISK_SIZE_GB=20
|
|
||||||
LNPLAY_SSERVER_DOCKER_DISK_SIZE_GB=20
|
|
||||||
|
|
||||||
elif [ "$BITCOIN_CHAIN" = mainnet ]; then
|
|
||||||
|
|
||||||
WWW_SSDATA_DISK_SIZE_GB=40
|
|
||||||
WWW_BACKUP_DISK_SIZE_GB=40
|
|
||||||
WWW_DOCKER_DISK_SIZE_GB=1000
|
|
||||||
|
|
||||||
BTCPAYSERVER_SSDATA_DISK_SIZE_GB=30
|
|
||||||
BTCPAYSERVER_BACKUP_DISK_SIZE_GB=30
|
|
||||||
BTCPAYSERVER_DOCKER_DISK_SIZE_GB=500
|
|
||||||
|
|
||||||
LNPLAY_SERVER_SSDATA_DISK_SIZE_GB=20
|
|
||||||
LNPLAY_SERVER_BACKUP_DISK_SIZE_GB=20
|
|
||||||
LNPLAY_SSERVER_DOCKER_DISK_SIZE_GB=400
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
export WWW_SSDATA_DISK_SIZE_GB="$WWW_SSDATA_DISK_SIZE_GB"
|
|
||||||
export WWW_BACKUP_DISK_SIZE_GB="$WWW_BACKUP_DISK_SIZE_GB"
|
|
||||||
export WWW_DOCKER_DISK_SIZE_GB="$WWW_DOCKER_DISK_SIZE_GB"
|
|
||||||
|
|
||||||
export BTCPAYSERVER_SSDATA_DISK_SIZE_GB="$BTCPAYSERVER_SSDATA_DISK_SIZE_GB"
|
|
||||||
export BTCPAYSERVER_BACKUP_DISK_SIZE_GB="$BTCPAYSERVER_BACKUP_DISK_SIZE_GB"
|
|
||||||
export BTCPAYSERVER_DOCKER_DISK_SIZE_GB="$BTCPAYSERVER_DOCKER_DISK_SIZE_GB"
|
|
||||||
|
|
|
@ -182,8 +182,13 @@ if [ "$VIRTUAL_MACHINE" != base ]; then
|
||||||
preserve_hostname: true
|
preserve_hostname: true
|
||||||
fqdn: ${FQDN}
|
fqdn: ${FQDN}
|
||||||
|
|
||||||
resize_rootfs: false
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$VIRTUAL_MACHINE" = www ] || [ "$VIRTUAL_MACHINE" = btcpayserver ]; then
|
||||||
|
# all other machines that are not the base image
|
||||||
|
cat >> "$YAML_PATH" <<EOF
|
||||||
|
resize_rootfs: false
|
||||||
disk_setup:
|
disk_setup:
|
||||||
/dev/sdb:
|
/dev/sdb:
|
||||||
table_type: 'gpt'
|
table_type: 'gpt'
|
||||||
|
@ -238,21 +243,40 @@ if [ "$VIRTUAL_MACHINE" = www ]; then
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# All profiles get a root disk and cloud-init config.
|
# All profiles get a root disk and cloud-init config.
|
||||||
cat >> "$YAML_PATH" <<EOF
|
cat >> "$YAML_PATH" <<EOF
|
||||||
description: Default incus profile for ${FILENAME}
|
description: Default incus profile for ${FILENAME}
|
||||||
devices:
|
devices:
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ "$VIRTUAL_MACHINE" = lnplayserver ]; then
|
||||||
|
# All profiles get a root disk and cloud-init config.
|
||||||
|
cat >> "$YAML_PATH" <<EOF
|
||||||
root:
|
root:
|
||||||
path: /
|
path: /
|
||||||
pool: ss-base
|
pool: ss-base
|
||||||
type: disk
|
type: disk
|
||||||
|
size: 20GiB
|
||||||
|
EOF
|
||||||
|
else
|
||||||
|
# All profiles get a root disk and cloud-init config.
|
||||||
|
cat >> "$YAML_PATH" <<EOF
|
||||||
|
root:
|
||||||
|
path: /
|
||||||
|
pool: ss-base
|
||||||
|
type: disk
|
||||||
|
EOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat >> "$YAML_PATH" <<EOF
|
||||||
config:
|
config:
|
||||||
source: cloud-init:config
|
source: cloud-init:config
|
||||||
type: disk
|
type: disk
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ "$VIRTUAL_MACHINE" != base ]; then
|
if [ "$VIRTUAL_MACHINE" = www ] || [ "$VIRTUAL_MACHINE" = btcpayserver ]; then
|
||||||
cat >> "$YAML_PATH" <<EOF
|
cat >> "$YAML_PATH" <<EOF
|
||||||
ss-data:
|
ss-data:
|
||||||
path: ${REMOTE_DATA_PATH}
|
path: ${REMOTE_DATA_PATH}
|
||||||
|
@ -278,7 +302,8 @@ name: ${FILENAME}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
else
|
else
|
||||||
# If we are deploying a VM that attaches to the network underlay.
|
|
||||||
|
# all other vms attach to the network underlay
|
||||||
cat >> "$YAML_PATH" <<EOF
|
cat >> "$YAML_PATH" <<EOF
|
||||||
enp5s0:
|
enp5s0:
|
||||||
nictype: macvlan
|
nictype: macvlan
|
||||||
|
@ -316,4 +341,3 @@ else
|
||||||
# configure the profile with our generated cloud-init.yml file.
|
# configure the profile with our generated cloud-init.yml file.
|
||||||
incus profile edit "$INCUS_HOSTNAME" < "$YAML_PATH"
|
incus profile edit "$INCUS_HOSTNAME" < "$YAML_PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -42,8 +42,8 @@ RESTORE_WWW=false
|
||||||
RESTORE_CERTS=false
|
RESTORE_CERTS=false
|
||||||
BACKUP_CERTS=true
|
BACKUP_CERTS=true
|
||||||
BACKUP_BTCPAY=true
|
BACKUP_BTCPAY=true
|
||||||
SKIP_BTCPAYSERVER=false
|
SKIP_BTCPAY_SERVER=false
|
||||||
SKIP_WWW=false
|
SKIP_WWW_SERVER=false
|
||||||
SKIP_LNPLAY_SERVER=false
|
SKIP_LNPLAY_SERVER=false
|
||||||
BACKUP_BTCPAY_ARCHIVE_PATH=
|
BACKUP_BTCPAY_ARCHIVE_PATH=
|
||||||
RESTORE_BTCPAY=false
|
RESTORE_BTCPAY=false
|
||||||
|
@ -71,11 +71,11 @@ for i in "$@"; do
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-btcpayserver)
|
--skip-btcpayserver)
|
||||||
SKIP_BTCPAYSERVER=true
|
SKIP_BTCPAY_SERVER=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-wwwserver)
|
--skip-wwwserver)
|
||||||
SKIP_WWW=true
|
SKIP_WWW_SERVER=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-lnplayserver)
|
--skip-lnplayserver)
|
||||||
|
@ -214,8 +214,8 @@ EOL
|
||||||
PROJECT_NAME="$(incus info | grep "project:" | awk '{print $2}')"
|
PROJECT_NAME="$(incus info | grep "project:" | awk '{print $2}')"
|
||||||
export PROJECT_NAME="$PROJECT_NAME"
|
export PROJECT_NAME="$PROJECT_NAME"
|
||||||
export PROJECT_PATH="$PROJECTS_PATH/$PROJECT_NAME"
|
export PROJECT_PATH="$PROJECTS_PATH/$PROJECT_NAME"
|
||||||
export SKIP_BTCPAYSERVER="$SKIP_BTCPAYSERVER"
|
export SKIP_BTCPAY_SERVER="$SKIP_BTCPAY_SERVER"
|
||||||
export SKIP_WWW="$SKIP_WWW"
|
export SKIP_WWW_SERVER="$SKIP_WWW_SERVER"
|
||||||
export SKIP_LNPLAY_SERVER="$SKIP_LNPLAY_SERVER"
|
export SKIP_LNPLAY_SERVER="$SKIP_LNPLAY_SERVER"
|
||||||
|
|
||||||
|
|
||||||
|
@ -251,6 +251,7 @@ LNPLAY_SERVER_MAC_ADDRESS=
|
||||||
# LNPLAY_SERVER_CPU_COUNT="4"
|
# LNPLAY_SERVER_CPU_COUNT="4"
|
||||||
# LNPLAY_SERVER_MEMORY_MB="4096"
|
# LNPLAY_SERVER_MEMORY_MB="4096"
|
||||||
|
|
||||||
|
# BITCOIN_CHAIN=mainnet
|
||||||
|
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
|
@ -273,6 +274,7 @@ source ./domain_list.sh
|
||||||
# let's provision our primary domain first.
|
# let's provision our primary domain first.
|
||||||
export DOMAIN_NAME="$PRIMARY_DOMAIN"
|
export DOMAIN_NAME="$PRIMARY_DOMAIN"
|
||||||
export PRIMARY_DOMAIN="$PRIMARY_DOMAIN"
|
export PRIMARY_DOMAIN="$PRIMARY_DOMAIN"
|
||||||
|
export BITCOIN_CHAIN="$BITCOIN_CHAIN"
|
||||||
export SITE_PATH="$SITES_PATH/$DOMAIN_NAME"
|
export SITE_PATH="$SITES_PATH/$DOMAIN_NAME"
|
||||||
|
|
||||||
stub_site_definition
|
stub_site_definition
|
||||||
|
@ -293,21 +295,24 @@ if ! incus image list --format csv | grep -q "$DOCKER_BASE_IMAGE_NAME"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for VIRTUAL_MACHINE in www btcpayserver lnplayserver; do
|
|
||||||
|
|
||||||
if [ "$VIRTUAL_MACHINE" = btcpayserver ] && [ -z "$BTCPAY_SERVER_MAC_ADDRESS" ]; then
|
VMS_TO_PROVISION=""
|
||||||
continue
|
if [ -n "$WWW_SERVER_MAC_ADDRESS" ] && [ "$SKIP_WWW_SERVER" = false ]; then
|
||||||
fi
|
VMS_TO_PROVISION="www"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$VIRTUAL_MACHINE" = lnplayserver ] && [ -z "$LNPLAY_SERVER_MAC_ADDRESS" ]; then
|
if [ -n "$BTCPAY_SERVER_MAC_ADDRESS" ] && [ "$SKIP_BTCPAY_SERVER" = false ]; then
|
||||||
continue
|
VMS_TO_PROVISION="$VMS_TO_PROVISION btcpayserver"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$VIRTUAL_MACHINE" = www ] && [ -z "$WWW_SERVER_MAC_ADDRESS" ]; then
|
if [ -n "$LNPLAY_SERVER_MAC_ADDRESS" ] || [ "$SKIP_LNPLAY_SERVER" = false ]; then
|
||||||
continue
|
VMS_TO_PROVISION="$VMS_TO_PROVISION lnplayserver"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for VIRTUAL_MACHINE in $VMS_TO_PROVISION; do
|
||||||
|
|
||||||
export VIRTUAL_MACHINE="$VIRTUAL_MACHINE"
|
export VIRTUAL_MACHINE="$VIRTUAL_MACHINE"
|
||||||
FQDN=
|
FQDN=
|
||||||
|
|
||||||
|
@ -368,7 +373,7 @@ for VIRTUAL_MACHINE in www btcpayserver lnplayserver; do
|
||||||
MAC_ADDRESS_TO_PROVISION="$LNPLAY_SERVER_MAC_ADDRESS"
|
MAC_ADDRESS_TO_PROVISION="$LNPLAY_SERVER_MAC_ADDRESS"
|
||||||
|
|
||||||
elif [ "$VIRTUAL_MACHINE" = "$BASE_IMAGE_VM_NAME" ]; then
|
elif [ "$VIRTUAL_MACHINE" = "$BASE_IMAGE_VM_NAME" ]; then
|
||||||
export FQDN="$BASE_IMAGE_VM_NAME"
|
FQDN="$BASE_IMAGE_VM_NAME"
|
||||||
else
|
else
|
||||||
echo "ERROR: VIRTUAL_MACHINE not within allowable bounds."
|
echo "ERROR: VIRTUAL_MACHINE not within allowable bounds."
|
||||||
exit
|
exit
|
||||||
|
@ -392,14 +397,14 @@ for DOMAIN_NAME in ${OTHER_SITES_LIST//,/ }; do
|
||||||
stub_site_definition
|
stub_site_definition
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$SKIP_BTCPAYSERVER" = false ]; then
|
if [ "$SKIP_BTCPAY_SERVER" = false ]; then
|
||||||
if [ -n "$BTCPAY_SERVER_MAC_ADDRESS" ]; then
|
if [ -n "$BTCPAY_SERVER_MAC_ADDRESS" ]; then
|
||||||
export DOCKER_HOST="ssh://ubuntu@$BTCPAY_SERVER_FQDN"
|
export DOCKER_HOST="ssh://ubuntu@$BTCPAY_SERVER_FQDN"
|
||||||
./project/btcpayserver/go.sh
|
./project/btcpayserver/go.sh
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$SKIP_WWW" = false ]; then
|
if [ "$SKIP_WWW_SERVER" = false ]; then
|
||||||
# now let's run the www and btcpay-specific provisioning scripts.
|
# now let's run the www and btcpay-specific provisioning scripts.
|
||||||
if [ -n "$WWW_SERVER_MAC_ADDRESS" ]; then
|
if [ -n "$WWW_SERVER_MAC_ADDRESS" ]; then
|
||||||
export DOCKER_HOST="ssh://ubuntu@$WWW_FQDN"
|
export DOCKER_HOST="ssh://ubuntu@$WWW_FQDN"
|
||||||
|
@ -436,6 +441,19 @@ CHANNEL_SETUP=none
|
||||||
LNPLAY_SERVER_PATH=${SITES_PATH}/${PRIMARY_DOMAIN}/lnplayserver
|
LNPLAY_SERVER_PATH=${SITES_PATH}/${PRIMARY_DOMAIN}/lnplayserver
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
|
INCUS_VM_NAME="${LNPLAY_SERVER_FQDN//./-}"
|
||||||
|
if ! incus image list -q --format csv | grep -q "$INCUS_VM_NAME"; then
|
||||||
|
# do all the docker image creation steps, but don't run services.
|
||||||
|
bash -c "./project/lnplay/up.sh -y --no-services"
|
||||||
|
|
||||||
|
# stop the instance so we can get an image yo
|
||||||
|
incus stop "$INCUS_VM_NAME"
|
||||||
|
|
||||||
|
# create the incus image.
|
||||||
|
incus publish -q --public "$INCUS_VM_NAME" --alias="$INCUS_VM_NAME" --compression none
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bring up lnplay services.
|
||||||
bash -c "./project/lnplay/up.sh -y"
|
bash -c "./project/lnplay/up.sh -y"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -67,4 +67,3 @@ Signed-By: /etc/apt/keyrings/zabbly.asc
|
||||||
EOF'
|
EOF'
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install incus -y --no-install-recommends
|
apt-get install incus -y --no-install-recommends
|
||||||
|
|
||||||
|
|
22
publish.sh
22
publish.sh
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
cd "$(dirname "$0")"
|
|
||||||
|
|
||||||
# this script will tag the repo then push it to origin
|
|
||||||
TAG_NAME="$(head -n 1 ./version.txt)"
|
|
||||||
TAG_MESSAGE="Creating tag $TAG_NAME on $(date)."
|
|
||||||
|
|
||||||
# create the git tag.
|
|
||||||
if ! git tag | grep -q "$TAG_NAME"; then
|
|
||||||
git tag -a "$TAG_NAME" -m "$TAG_MESSAGE" -s
|
|
||||||
fi
|
|
||||||
|
|
||||||
## note this will only work if you have permissions to update HEAD on https://git.sovereign-stack.org/ss/sovereign-stack.git
|
|
||||||
RESPONSE=
|
|
||||||
read -r -p " Would you like to push this to the main Sovereign Stack repo? (y) ": RESPONSE
|
|
||||||
if [ "$RESPONSE" = "y" ]; then
|
|
||||||
# optional; push to remote
|
|
||||||
git push --set-upstream origin --all
|
|
||||||
git push --set-upstream origin --tags
|
|
||||||
fi
|
|
|
@ -1 +0,0 @@
|
||||||
23.08
|
|
Loading…
Reference in New Issue