From 5858b4e0482cb2b5e59f5829e951c0b3a050a64e Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 30 Aug 2025 18:30:35 +1200 Subject: [PATCH] Add 4 and update 16 files --- caddy/_volumes.sh | 7 +++++++ caddy/backup.sh | 4 +++- caddy/destroy.sh | 4 +++- caddy/install.sh | 7 +++++-- caddy/restore.sh | 5 +++-- simple-object-server/_volumes.sh | 7 +++++++ simple-object-server/backup.sh | 7 ++++--- simple-object-server/destroy.sh | 5 ++++- simple-object-server/install.sh | 7 +++++-- simple-object-server/restore.sh | 5 ++++- squashkiwi/_paths.sh | 7 +++++++ squashkiwi/backup.sh | 5 ++++- squashkiwi/destroy.sh | 7 +++++-- squashkiwi/install.sh | 7 +++++-- squashkiwi/restore.sh | 5 ++++- static-website/_paths.sh | 7 +++++++ static-website/backup.sh | 5 ++++- static-website/destroy.sh | 7 +++++-- static-website/install.sh | 7 +++++-- static-website/restore.sh | 5 ++++- 20 files changed, 95 insertions(+), 25 deletions(-) create mode 100644 caddy/_volumes.sh create mode 100644 simple-object-server/_volumes.sh create mode 100644 squashkiwi/_paths.sh create mode 100644 static-website/_paths.sh diff --git a/caddy/_volumes.sh b/caddy/_volumes.sh new file mode 100644 index 0000000..ce87fcc --- /dev/null +++ b/caddy/_volumes.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Define volume items for caddy container +# These are used across backup, restore, create, and destroy operations + +get_caddy_volumes() { + echo "volume:datavolume:${DATA_VOLUME}" "volume:configvolume:${CONFIG_VOLUME}" +} \ No newline at end of file diff --git a/caddy/backup.sh b/caddy/backup.sh index 1c3027c..9a00b96 100755 --- a/caddy/backup.sh +++ b/caddy/backup.sh @@ -1,10 +1,12 @@ #!/bin/bash source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars _stop_container "$CONTAINER_NAME" -databackup "$1" "$2" "volume=$DATA_VOLUME" "volume=$CONFIG_VOLUME" || _die "Failed to create backup" +# shellcheck disable=SC2046 +backup_items $(get_caddy_volumes) || _die "Failed to create backup" _start_container "$CONTAINER_NAME" diff --git a/caddy/destroy.sh b/caddy/destroy.sh index 4839b54..9754067 100755 --- a/caddy/destroy.sh +++ b/caddy/destroy.sh @@ -1,9 +1,11 @@ #!/bin/bash source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars ./uninstall.sh -datadestroy "volume=$DATA_VOLUME" "volume=$CONFIG_VOLUME" || _die "Failed to Destroy" +# shellcheck disable=SC2046 +destroy_items $(get_caddy_volumes) || _die "Failed to destroy docker Volumes" echo "Destroyed ${CONTAINER_NAME}." diff --git a/caddy/install.sh b/caddy/install.sh index 6d31e47..2f13796 100755 --- a/caddy/install.sh +++ b/caddy/install.sh @@ -1,8 +1,11 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "DATA_VOLUME" "CONFIG_VOLUME" "CONFIG_PATH" -datacreate "volume=$DATA_VOLUME" "volume=$CONFIG_VOLUME" || _die "Failed to create volumes $DATA_VOLUME and $CONFIG_VOLUME" +# shellcheck disable=SC2046 +create_items $(get_caddy_volumes) || _die "Failed to create volumes $DATA_VOLUME and $CONFIG_VOLUME" _check_docker_installed || _die "Docker test failed, aborting installation..." @@ -11,7 +14,7 @@ docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || _die "Failed to pull ima [ -f "${CONFIG_PATH}/caddyfile/Caddyfile" ] || _die "Caddyfile not found in ${CONFIG_PATH}/caddyfile/Caddyfile!" bash ./stop.sh || _die "Failed to stop container ${CONTAINER_NAME}" -_remove_container $CONTAINER_NAME || _die "Failed to remove container ${CONTAINER_NAME}" +_remove_container "$CONTAINER_NAME" || _die "Failed to remove container ${CONTAINER_NAME}" bash ./start.sh || _die "Failed to start container ${CONTAINER_NAME}" echo "Installation of ${CONTAINER_NAME} complete" diff --git a/caddy/restore.sh b/caddy/restore.sh index ffa3f09..f4ad9fa 100755 --- a/caddy/restore.sh +++ b/caddy/restore.sh @@ -1,15 +1,16 @@ #!/bin/bash source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars # RESTORE SCRIPT - # uninstall container before restore ./uninstall.sh || _die "Failed to uninstall service before restore" # restore data from backup file -datarestore "$1" "$2" "volume=$DATA_VOLUME" "volume=$CONFIG_VOLUME" || _die "Failed to restore data from backup file" +# shellcheck disable=SC2046 +restore_items $(get_caddy_volumes) || _die "Failed to restore data from backup file" # reinstall service ./install.sh || _die "Failed to reinstall service after restore" diff --git a/simple-object-server/_volumes.sh b/simple-object-server/_volumes.sh new file mode 100644 index 0000000..fe774c3 --- /dev/null +++ b/simple-object-server/_volumes.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Define volume items for simple-object-server container +# These are used across backup, restore, create, and destroy operations + +get_simple_object_server_volumes() { + echo "volume:datavolume:${VOLUME_NAME}" +} \ No newline at end of file diff --git a/simple-object-server/backup.sh b/simple-object-server/backup.sh index e3ed395..fd29c23 100755 --- a/simple-object-server/backup.sh +++ b/simple-object-server/backup.sh @@ -1,13 +1,14 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars "VOLUME_NAME" "BACKUP_FILE" "TEMP_DIR" # Simple Object Storage Backup Script # Creates a backup tarball of the volume contents. - - # HOT backup is fine for simple-object-storage -databackup "volume=${VOLUME_NAME}" || _die "Failed to create backup" +# shellcheck disable=SC2046 +backup_items $(get_simple_object_server_volumes) || _die "Failed to create backup" echo "Backup complete: ${BACKUP_FILE}" diff --git a/simple-object-server/destroy.sh b/simple-object-server/destroy.sh index 208d9cd..1243c99 100755 --- a/simple-object-server/destroy.sh +++ b/simple-object-server/destroy.sh @@ -1,5 +1,7 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars # Simple Object Storage Destroy Script @@ -7,6 +9,7 @@ _check_required_env_vars ./uninstall.sh -datadestroy "volume=${VOLUME_NAME}" || _die "Failed to Destroy volume ${VOLUME_NAME}" +# shellcheck disable=SC2046 +destroy_items $(get_simple_object_server_volumes) || _die "Failed to Destroy volume ${VOLUME_NAME}" echo "Destroyed ${CONTAINER_NAME}." diff --git a/simple-object-server/install.sh b/simple-object-server/install.sh index 2c7a9ef..982b78a 100755 --- a/simple-object-server/install.sh +++ b/simple-object-server/install.sh @@ -1,11 +1,14 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars # Simple Object Storage Install Script # Pulls image, creates volume/config, starts container. -datacreate "volume=${VOLUME_NAME}" +# shellcheck disable=SC2046 +create_items $(get_simple_object_server_volumes) # check can pull image on remote host and exit if fails echo "Pulling image ${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}..." @@ -13,7 +16,7 @@ docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || _die "Failed to pull ima echo "Stopping and removing any existing container..." bash ./stop.sh || _die "Failed to stop container ${CONTAINER_NAME}" -_remove_container $CONTAINER_NAME || _die "Failed to remove container ${CONTAINER_NAME}" +_remove_container "$CONTAINER_NAME" || _die "Failed to remove container ${CONTAINER_NAME}" bash ./start.sh || _die "Failed to start container ${CONTAINER_NAME}" echo "Installation complete for service ${CONTAINER_NAME}." diff --git a/simple-object-server/restore.sh b/simple-object-server/restore.sh index 3608f4e..bffd647 100755 --- a/simple-object-server/restore.sh +++ b/simple-object-server/restore.sh @@ -1,5 +1,7 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" || _die "Failed to source common.sh" +source "$(dirname "$0")/_volumes.sh" _check_required_env_vars "BACKUP_FILE" "TEMP_DIR" "VOLUME_NAME" "CONTAINER_NAME" # Simple Object Storage Restore Script @@ -12,7 +14,8 @@ bash ./uninstall.sh || _die "Failed to uninstall service before restore" echo "Restoring data for ${CONTAINER_NAME} from ${BACKUP_FILE}..." -datarestore "volume=${VOLUME_NAME}" || _die "Failed to restore data from backup file" +# shellcheck disable=SC2046 +restore_items $(get_simple_object_server_volumes) || _die "Failed to restore data from backup file" echo "Restore complete. Reinstalling service..." diff --git a/squashkiwi/_paths.sh b/squashkiwi/_paths.sh new file mode 100644 index 0000000..332541e --- /dev/null +++ b/squashkiwi/_paths.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Define path items for squashkiwi container +# These are used across backup, restore, create, and destroy operations + +get_squashkiwi_paths() { + echo "path:localpath:${LOCAL_DATA_FOLDER}" +} \ No newline at end of file diff --git a/squashkiwi/backup.sh b/squashkiwi/backup.sh index d276ea2..5dc1e48 100755 --- a/squashkiwi/backup.sh +++ b/squashkiwi/backup.sh @@ -1,11 +1,14 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER" "BACKUP_FILE" "TEMP_DIR" # Stop container before backup _stop_container "$CONTAINER_NAME" -databackup "path=${LOCAL_DATA_FOLDER}" || _die "Failed to create backup" +# shellcheck disable=SC2046 +backup_items $(get_squashkiwi_paths) || _die "Failed to create backup" # Start container after backup _start_container "$CONTAINER_NAME" diff --git a/squashkiwi/destroy.sh b/squashkiwi/destroy.sh index 143d69f..90c87bf 100755 --- a/squashkiwi/destroy.sh +++ b/squashkiwi/destroy.sh @@ -1,10 +1,13 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "LOCAL_DATA_FOLDER" ./uninstall.sh -datadestroy "path=${LOCAL_DATA_FOLDER}" || _die "Failed to destroy ${LOCAL_DATA_FOLDER}" +# shellcheck disable=SC2046 +destroy_items $(get_squashkiwi_paths) || _die "Failed to destroy ${LOCAL_DATA_FOLDER}" -echo "Drestroyed ${CONTAINER_NAME}" +echo "Destroyed ${CONTAINER_NAME}" diff --git a/squashkiwi/install.sh b/squashkiwi/install.sh index 54c7fe3..3cb8a1c 100755 --- a/squashkiwi/install.sh +++ b/squashkiwi/install.sh @@ -1,8 +1,11 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "CONTAINER_NAME" "LOCAL_DATA_FOLDER" -datacreate path=$LOCAL_DATA_FOLDER || _die "Failed to create local data folder" +# shellcheck disable=SC2046 +create_items $(get_squashkiwi_paths) || _die "Failed to create local data folder" # Test Docker _check_docker_installed || _die "Docker test failed, aborting installation..." @@ -12,7 +15,7 @@ docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || _die "Failed to pull ima # remove and restart, as the env may have changed. bash ./stop.sh || _die "Failed to stop container ${CONTAINER_NAME}" -_remove_container $CONTAINER_NAME || _die "Failed to remove container ${CONTAINER_NAME}" +_remove_container "$CONTAINER_NAME" || _die "Failed to remove container ${CONTAINER_NAME}" bash ./start.sh || _die "Failed to start container ${CONTAINER_NAME}" echo "Installation of ${CONTAINER_NAME} complete" diff --git a/squashkiwi/restore.sh b/squashkiwi/restore.sh index 2ec38ea..e3932d4 100755 --- a/squashkiwi/restore.sh +++ b/squashkiwi/restore.sh @@ -1,5 +1,7 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER" "BACKUP_FILE" "TEMP_DIR" # RESTORE SCRIPT @@ -10,7 +12,8 @@ _check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER" "BACKUP_FILE" "TEM # # Stop container before backup bash ./uninstall.sh || _die "Failed to uninstall service before restore" -datarestore "path=${LOCAL_DATA_FOLDER}" || _die "Failed to restore data folder from backup" +# shellcheck disable=SC2046 +restore_items $(get_squashkiwi_paths) || _die "Failed to restore data folder from backup" # reinstall service bash ./install.sh || _die "Failed to reinstall service after restore" diff --git a/static-website/_paths.sh b/static-website/_paths.sh new file mode 100644 index 0000000..828305e --- /dev/null +++ b/static-website/_paths.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Define path items for static-website container +# These are used across backup, restore, create, and destroy operations + +get_static_website_paths() { + echo "path:localpath:${LOCAL_DATA_FOLDER}" +} \ No newline at end of file diff --git a/static-website/backup.sh b/static-website/backup.sh index 3d41f3d..4506fb6 100755 --- a/static-website/backup.sh +++ b/static-website/backup.sh @@ -1,10 +1,13 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "LOCAL_DATA_FOLDER" "BACKUP_FILE" "TEMP_DIR" "CONTAINER_NAME" # Nginx Example Backup Script # hot backup is fine for nginx website content. -databackup "path=${LOCAL_DATA_FOLDER}" || _die "Failed to create backup" +# shellcheck disable=SC2046 +backup_items $(get_static_website_paths) || _die "Failed to create backup" echo "Backup complete for ${CONTAINER_NAME}" diff --git a/static-website/destroy.sh b/static-website/destroy.sh index 7162504..cfcd819 100755 --- a/static-website/destroy.sh +++ b/static-website/destroy.sh @@ -1,5 +1,7 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "LOCAL_DATA_FOLDER" "CONTAINER_NAME" # Removes container and local data folder. @@ -7,10 +9,11 @@ _check_required_env_vars "LOCAL_DATA_FOLDER" "CONTAINER_NAME" # Call uninstall script first ./uninstall.sh -datadestroy "path=${LOCAL_DATA_FOLDER}" || _die "Failed to Destroy ${LOCAL_DATA_FOLDER}" +# shellcheck disable=SC2046 +destroy_items $(get_static_website_paths) || _die "Failed to Destroy ${LOCAL_DATA_FOLDER}" if [ -d "${LOCAL_DATA_FOLDER}" ]; then - echo "datadestroy failed to remove ${LOCAL_DATA_FOLDER}" + echo "destroy_items failed to remove ${LOCAL_DATA_FOLDER}" exit 1 fi diff --git a/static-website/install.sh b/static-website/install.sh index 968e9b9..5efb18c 100755 --- a/static-website/install.sh +++ b/static-website/install.sh @@ -1,11 +1,14 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "LOCAL_DATA_FOLDER" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "CONTAINER_NAME" # Nginx Example Install Script # Ensure local data folder exists -datacreate "path=${LOCAL_DATA_FOLDER}" +# shellcheck disable=SC2046 +create_items $(get_static_website_paths) if [ -z "$( ls -A "${LOCAL_DATA_FOLDER}" )" ]; then echo "Creating default index.html file..." @@ -20,7 +23,7 @@ docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || _die "Failed to pull ima echo "Stopping and removing any existing container..." ./stop.sh || _die "Failed to stop container ${CONTAINER_NAME}" -_remove_container $CONTAINER_NAME || _die "Failed to remove container ${CONTAINER_NAME}" +_remove_container "$CONTAINER_NAME" || _die "Failed to remove container ${CONTAINER_NAME}" echo "Starting container..." ./start.sh || _die "Failed to start container ${CONTAINER_NAME}" diff --git a/static-website/restore.sh b/static-website/restore.sh index f1d4b9d..0f0ab9f 100755 --- a/static-website/restore.sh +++ b/static-website/restore.sh @@ -1,5 +1,7 @@ #!/bin/bash +# shellcheck disable=SC1091 source "${AGENT_PATH}/common.sh" +source "$(dirname "$0")/_paths.sh" _check_required_env_vars "LOCAL_DATA_FOLDER" "BACKUP_FILE" "TEMP_DIR" "CONTAINER_NAME" # Nginx Example Restore Script @@ -7,7 +9,8 @@ _check_required_env_vars "LOCAL_DATA_FOLDER" "BACKUP_FILE" "TEMP_DIR" "CONTAINER echo "Uninstalling service before restore..." bash ./uninstall.sh || _die "Failed to uninstall service before restore" -datarestore "path=${LOCAL_DATA_FOLDER}" || _die "Failed to restore data folder from backup" +# shellcheck disable=SC2046 +restore_items $(get_static_website_paths) || _die "Failed to restore data folder from backup" echo "Restore complete. Reinstalling service..." bash ./install.sh || _die "Failed to reinstall service after restore"