Files
homelab-infrastructure/infra/bootstrap.sh
T
2026-06-17 22:31:40 +01:00

33 lines
868 B
Bash

#!/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"