#!/usr/bin/env bash
set -euo pipefail
for i in $(lxc list --format csv -c n); do
lxc snapshot "$i"
if lxc exec "$i" -- which apt >/dev/null 2>&1; then
echo "Upgrading Debian/Ubuntu $i"
lxc exec "$i" -- apt update
lxc exec "$i" -- apt upgrade -y
fi
if lxc exec "$i" -- which pacman >/dev/null 2>&1; then
echo "Upgrading ArchLinux $i"
lxc exec "$i" -- sudo -u benpro yay -Sc --noconfirm
lxc exec "$i" -- sudo -u benpro yay -Syu --noconfirm
if lxc exec "$i" -- which apk >/dev/null 2>&1; then
echo "Upgrading Alpine $i"
lxc exec "$i" -- apk update
lxc exec "$i" -- apk add --upgrade apk-tools
lxc exec "$i" -- apk upgrade
lxc exec "$i" -- sync
lxc exec "$i" -- reboot
done