50 lines
1.2 KiB
Bash
Executable File
50 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
exec > /4server/data/log/nukeContainer.log 2>&1
|
|
|
|
_self="$(realpath "${BASH_SOURCE[0]:-$0}")"; SBIN="$(dirname "$_self")"
|
|
source "$SBIN/helpers"
|
|
|
|
BIN_PATH="$SBIN"
|
|
CONTAINER_ID="$1"
|
|
|
|
[ -z "$CONTAINER_ID" ] && die "Usage: $0 <uuid>"
|
|
log "Nuke container $CONTAINER_ID"
|
|
|
|
|
|
get_container_status() {
|
|
local container_id="$1"
|
|
# Get the Docker container ID or name matching the container_id
|
|
DOCKER_ID=$(docker ps -a --filter "name=$container_id" --format "{{.ID}}")
|
|
if [[ -z "$DOCKER_ID" ]]; then
|
|
echo "not_found"
|
|
return
|
|
fi
|
|
|
|
STATUS=$(docker inspect -f '{{.State.Status}}' "$DOCKER_ID")
|
|
echo "$STATUS"
|
|
}
|
|
|
|
STATUS=$(get_container_status "$CONTAINER_ID")
|
|
[ "$STATUS" = "running" ] && die "Container $CONTAINER_ID is still running — stop it first"
|
|
|
|
|
|
|
|
|
|
load_container_config "$CONTAINER_ID"
|
|
get_contract_info
|
|
|
|
case "$SOFTWARE" in
|
|
n8n)
|
|
"$BIN_PATH/nuke/n8n"
|
|
;;
|
|
ODOO_17|ODOO_18|ODOO_19)
|
|
"$BIN_PATH/nuke/odoo"
|
|
;;
|
|
*)
|
|
die "Unknown SOFTWARE type '${SOFTWARE}' for container_id $CONTAINER_ID — run: initContainer $CONTAINER_ID <n8n|ODOO_17|ODOO_18|ODOO_19>"
|
|
;;
|
|
esac
|
|
|
|
log "Container $CONTAINER_ID successfully nuked."
|
|
|