Coriolis/scripts/setup_worker_vm.sh

76 lines
2.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -euo pipefail
log() {
printf '[worker-setup] %s\n' "$*"
}
require_root() {
if [[ $EUID -ne 0 ]]; then
echo "Bitte als root (oder via sudo) ausführen." >&2
exit 1
fi
}
install_packages() {
log "Aktualisiere Paketquellen …"
apt-get update
log "Installiere Basis-Python-Umgebung …"
apt-get install -y --no-install-recommends \
python3 python3-pip python3-venv
log "Installiere Datentransfer-Tools …"
apt-get install -y --no-install-recommends \
qemu-utils curl wget python3-boto3 zip unzip tar s3cmd
log "Installiere Windows-OS-Morphing-Werkzeuge …"
apt-get install -y --no-install-recommends \
ntfs-3g chntpw parted kpartx
log "Installiere Linux-OS-Morphing-Werkzeuge …"
apt-get install -y --no-install-recommends \
lvm2 dracut
log "Bereinige APT-Caches …"
apt-get clean
}
# install_stackit_agent() {
# local agent_pkg_url="${STACKIT_AGENT_URL:-}"
# if [[ -z $agent_pkg_url ]]; then
# log "STACKIT_AGENT_URL nicht gesetzt überspringe Agent-Installation (bitte manuell nachziehen)."
# return
# fi
# # Der STACKIT Agent ist Voraussetzung für Run-Command v2 ohne ihn kann der Provider keine Skripte auf der Worker-VM starten.
# log "Lade STACKIT Agent von ${agent_pkg_url} …"
# local tmpdir
# tmpdir=$(mktemp -d)
# trap 'rm -rf "$tmpdir"' EXIT
# curl -fsSL "$agent_pkg_url" -o "$tmpdir/stackit-agent.deb"
# log "Installiere STACKIT Agent …"
# apt-get install -y "$tmpdir/stackit-agent.deb"
# log "Aktiviere und starte Stackit-Agent-Dienst …"
# systemctl enable --now stackit-agent.service
# systemctl status stackit-agent.service --no-pager
# }
configure_cloud_init() {
log "Stelle sicher, dass cloud-init aktiviert ist …"
systemctl enable cloud-init.service || true
systemctl enable cloud-init-local.service || true
}
main() {
require_root
install_packages
# install_stackit_agent
configure_cloud_init
log "Worker-VM-Grundkonfiguration abgeschlossen."
log "Bitte VM herunterfahren und als Image/Snapshot speichern."
}
main "$@"