justfile changed

This commit is contained in:
humocs-man
2026-09-27 13:40:56 +02:00
parent d657dca512
commit ad23a62417
+35
View File
@@ -202,6 +202,41 @@ rebuild-raw $target_image=("localhost/" + image_name) $tag=default_tag: && (_reb
[group('Build Virtual Machine Image')] [group('Build Virtual Machine Image')]
rebuild-iso $target_image=("localhost/" + image_name) $tag=default_tag: && (_rebuild-bib target_image tag "iso" "iso/iso.toml") rebuild-iso $target_image=("localhost/" + image_name) $tag=default_tag: && (_rebuild-bib target_image tag "iso" "iso/iso.toml")
# ==============================================================================
# TEST TARGETS (nur lokale Test-Disks, Image bleibt sauber)
# ==============================================================================
# Injiziert einen Test-User in ein gebautes Plattenabbild (qcow2/raw).
# Das Container-Image wird NICHT veraendert - nur die lokale Test-Disk.
# ISO braucht das nicht (Anaconda legt den User bei Installation an).
# Passwort: keine ':' und keine Shell-Sonderzeichen ($, `, !, \).
[group('Test')]
seed-testuser type="qcow2" user="test" password="test123":
#!/usr/bin/env bash
set -euo pipefail
if [[ "{{ type }}" == "iso" ]]; then
echo "FEHLER: Bei ISO den User im Anaconda-Installer anlegen, kein Seed noetig."
exit 1
fi
if [[ "{{ password }}" == *:* ]]; then
echo "FEHLER: Passwort darf kein ':' enthalten (chpasswd-Format)."
exit 1
fi
image_file="output/{{ type }}/disk.{{ type }}"
if [[ ! -f "${image_file}" ]]; then
echo "FEHLER: ${image_file} nicht gefunden. Erst 'just build-{{ type }} ...' ausfuehren."
exit 1
fi
if ! command -v virt-customize >/dev/null; then
echo "FEHLER: virt-customize fehlt. Installieren mit: sudo dnf install -y guestfs-tools"
exit 1
fi
echo "==> Injiziere Test-User '{{ user }}' in ${image_file} (nur Test-Disk)"
sudo virt-customize -a "${image_file}" \
--selinux-relabel \
--run-command "useradd -m -G wheel '{{ user }}' && echo '{{ user }}:{{ password }}' | chpasswd"
echo "==> Fertig. Login als '{{ user }}', sudo via wheel-Gruppe."
# ============================================================================== # ==============================================================================
# RUN TARGETS # RUN TARGETS
# ============================================================================== # ==============================================================================