Upload files to "scripts"

This commit is contained in:
Luigi_Tortora 2025-11-10 13:11:30 +00:00
parent 3096de3464
commit 2fa231b9d7
Signed by: luigi.git.onstackit.cloud
GPG key ID: BC891C192B4785B3

View file

@ -0,0 +1,76 @@
#!/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 "$@"