From 2fa231b9d74926dbd7a8f63f84070f15123970eb Mon Sep 17 00:00:00 2001 From: "luigi.tortora" Date: Mon, 10 Nov 2025 13:11:30 +0000 Subject: [PATCH] Upload files to "scripts" --- scripts/setup_worker_vm.sh | 76 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 scripts/setup_worker_vm.sh diff --git a/scripts/setup_worker_vm.sh b/scripts/setup_worker_vm.sh new file mode 100644 index 0000000..f34acdd --- /dev/null +++ b/scripts/setup_worker_vm.sh @@ -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 "$@"