#!/usr/bin/env sh set -e err() { echo "$@" >&2; exit 1; } log() { echo "$@" >&2; } [ "$(id -u)" -ne 0 ] && err "You must run this script as root" # Install minimal packages for provisioning PACKAGES="dropbear openssh-sftp-server python3 py3-yaml py3-kubernetes cloud-utils-growpart e2fsprogs-extra lsblk" apk update && apk upgrade apk add ${PACKAGES} # Enable and start services enable_and_start() { service="$1" rc-update add "${service}" default service "${service}" start } enable_and_start dropbear # increase root partition size root_dev=$(readlink -f /dev/root) disk=$(lsblk -no pkname "$root_dev") part_num=$(echo "$root_dev" | sed 's|.*[^0-9]||') echo "Growing /dev/${disk}${part_num}..." # Grow partition and resize growpart "/dev/$disk" "$part_num" || err "Partition growth failed" resize2fs "$root_dev" || err "Filesystem resize failed"