#!/bin/bash set -Eeuo pipefail if [[ -d /opt/debian-bash ]]; then local_release=$(cat /opt/debian-bash/.semver_git_tag) fi echo -n "debian-bash: collecting latest release from server url ... " remote_release=$(wget_semver artcode pvincent/debian-bash) echo -n "$remote_release" if [[ $local_release != $remote_release ]]; then echo " , upgrading from <$local_release> to <$remote_release> ..." curl https://git.artcode.re/pvincent/debian-bash/raw/branch/master/install.sh | sudo bash -s -- --full else echo " up-to-date!" # install inside active LXC containers if [[ -f '/snap/bin/lxc' ]]; then echo "debian-bash: refreshing containers ..." for container in $(lxc list --format=json | yq '.[] | select(.state.status == "Running") | .name' -); do container_release=$(lxc exec $container -- cat /opt/debian-bash/.semver_git_tag) if [[ $container_release != $remote_release ]]; then echo "upgrade container <$container> from <$container_release> to <$remote_release>" /snap/bin/lxc file push /opt/debian-bash "${container}/opt/" -r else echo -e "\\tcontainer <$container> already up-to-date!" fi done echo DONE fi fi