Add 4 and update 16 files
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 20s

This commit is contained in:
Your Name
2025-08-30 18:30:35 +12:00
parent 292c336f08
commit 5858b4e048
20 changed files with 95 additions and 25 deletions

7
caddy/_volumes.sh Normal file
View File

@@ -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}"
}

View File

@@ -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"

View File

@@ -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}."

View File

@@ -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"

View File

@@ -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"

View File

@@ -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}"
}

View File

@@ -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}"

View File

@@ -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}."

View File

@@ -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}."

View File

@@ -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..."

7
squashkiwi/_paths.sh Normal file
View File

@@ -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}"
}

View File

@@ -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"

View File

@@ -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}"

View File

@@ -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"

View File

@@ -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"

7
static-website/_paths.sh Normal file
View File

@@ -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}"
}

View File

@@ -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}"

View File

@@ -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

View File

@@ -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}"

View File

@@ -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"