Upload files to "scripts"
This commit is contained in:
parent
3096de3464
commit
2fa231b9d7
1 changed files with 76 additions and 0 deletions
76
scripts/setup_worker_vm.sh
Normal file
76
scripts/setup_worker_vm.sh
Normal 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 "$@"
|
||||||
Loading…
Reference in a new issue