Remove container updater
This commit is contained in:
parent
858a93e20c
commit
f8827f3da3
5 changed files with 0 additions and 366 deletions
|
|
@ -1,120 +0,0 @@
|
|||
# Container update script
|
||||
# Updates all podman containers to latest images
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Configuration from environment (set by systemd service)
|
||||
EXCLUDE_CONTAINERS="${EXCLUDE_CONTAINERS:-}"
|
||||
|
||||
# Convert excluded containers to array
|
||||
IFS=',' read -ra EXCLUDED <<< "$EXCLUDE_CONTAINERS"
|
||||
|
||||
# Get all running containers
|
||||
echo "Getting list of running containers..."
|
||||
containers=$(podman ps --format "{{.Names}}")
|
||||
|
||||
if [[ -z "$containers" ]]; then
|
||||
echo "No running containers found"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Arrays to track updates
|
||||
updated_containers=()
|
||||
failed_containers=()
|
||||
skipped_containers=()
|
||||
|
||||
# Update each container
|
||||
for container in $containers; do
|
||||
# Check if container is in exclude list
|
||||
skip=false
|
||||
for excluded in "${EXCLUDED[@]}"; do
|
||||
if [[ "$container" == "$excluded" ]]; then
|
||||
echo "Skipping excluded container: $container"
|
||||
skipped_containers+=("$container")
|
||||
skip=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$skip" == true ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "Processing container: $container"
|
||||
|
||||
# Get current image
|
||||
image=$(podman inspect "$container" --format '{{.ImageName}}')
|
||||
|
||||
if [[ -z "$image" ]]; then
|
||||
echo "ERROR: Could not get image for container $container"
|
||||
failed_containers+=("$container (no image)")
|
||||
continue
|
||||
fi
|
||||
|
||||
echo " Current image: $image"
|
||||
|
||||
# Get current image ID before pull
|
||||
old_image_id=$(podman inspect "$container" --format '{{.Image}}')
|
||||
|
||||
# Pull latest image
|
||||
echo " Pulling latest image..."
|
||||
if podman pull "$image" 2>&1; then
|
||||
echo " Image pulled successfully"
|
||||
|
||||
# Get new image ID after pull
|
||||
new_image_id=$(podman inspect "$image" --format '{{.Id}}')
|
||||
|
||||
# Check if image actually changed
|
||||
if [[ "$old_image_id" != "$new_image_id" ]]; then
|
||||
echo " New image detected, restarting container..."
|
||||
|
||||
# Restart container
|
||||
if podman restart "$container" 2>&1; then
|
||||
echo " Container updated successfully"
|
||||
updated_containers+=("$container")
|
||||
else
|
||||
echo " ERROR: Failed to restart container"
|
||||
failed_containers+=("$container (restart failed)")
|
||||
fi
|
||||
else
|
||||
echo " Image unchanged, skipping restart"
|
||||
skipped_containers+=("$container (no update)")
|
||||
fi
|
||||
else
|
||||
echo " ERROR: Failed to pull image"
|
||||
failed_containers+=("$container (pull failed)")
|
||||
fi
|
||||
|
||||
echo ""
|
||||
done
|
||||
|
||||
# Print summary
|
||||
echo "=== Update Summary ==="
|
||||
if [[ ${#updated_containers[@]} -gt 0 ]]; then
|
||||
echo "✅ Updated (${#updated_containers[@]}):"
|
||||
for container in "${updated_containers[@]}"; do
|
||||
echo " • $container"
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ ${#failed_containers[@]} -gt 0 ]]; then
|
||||
echo "❌ Failed (${#failed_containers[@]}):"
|
||||
for container in "${failed_containers[@]}"; do
|
||||
echo " • $container"
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ ${#skipped_containers[@]} -gt 0 ]]; then
|
||||
echo "⏭️ No updates (${#skipped_containers[@]}):"
|
||||
for container in "${skipped_containers[@]}"; do
|
||||
echo " • $container"
|
||||
done
|
||||
fi
|
||||
|
||||
# Exit with error if any containers failed
|
||||
if [[ ${#failed_containers[@]} -gt 0 ]]; then
|
||||
echo "ERROR: Some containers failed to update"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Container update completed successfully"
|
||||
Loading…
Add table
Add a link
Reference in a new issue