This commit is contained in:
2026-03-02 16:35:14 +01:00
parent d182532b34
commit a8cd22d113
17 changed files with 694 additions and 52 deletions

42
dist/make-seed.sh vendored Executable file
View File

@@ -0,0 +1,42 @@
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "Usage: make-seed.sh <output.iso> <pubkey-file>..."
echo "Creates a seed ISO with the given SSH public keys."
exit 1
}
[ "${1:-}" ] || usage
[ "${2:-}" ] || usage
OUTPUT="$1"
shift
TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT
: > "$TMPDIR/authorized_keys"
for PUBKEY_FILE in "$@"; do
if [ ! -f "$PUBKEY_FILE" ]; then
echo "error: public key file not found: $PUBKEY_FILE"
exit 1
fi
cat "$PUBKEY_FILE" >> "$TMPDIR/authorized_keys"
done
if command -v mkisofs >/dev/null 2>&1; then
ISO_CMD="mkisofs"
elif command -v genisoimage >/dev/null 2>&1; then
ISO_CMD="genisoimage"
else
echo "error: mkisofs or genisoimage required"
echo " linux: sudo apt install genisoimage"
echo " macos: brew install cdrtools"
echo " nix: nix shell nixpkgs#cdrtools"
exit 1
fi
"$ISO_CMD" -quiet -V SEEDCONFIG -J -R -o "$OUTPUT" "$TMPDIR"
echo "seed ISO created: $OUTPUT"