X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Finstsoft.DEFAULT;h=36c0cafd507ac6d1a35ccf3f2bb0a0e62e87f9e0;hb=1728af7e3060c8608c622f210d6e16f7d085d8f9;hp=d2a8f760244d1399caf0c662c858a71f26fa7e86;hpb=eae06d9028e4e70a211afef4a73b971067203da1;p=automated-distro-installer diff --git a/fai/config/hooks/instsoft.DEFAULT b/fai/config/hooks/instsoft.DEFAULT index d2a8f76..36c0caf 100755 --- a/fai/config/hooks/instsoft.DEFAULT +++ b/fai/config/hooks/instsoft.DEFAULT @@ -1,16 +1,44 @@ #!/bin/bash # exit for any vm which is not our test vm -if ifclass VM && ! ifclass demohost; then +if ifclass VM && ! ifclass demohost || ifclass STABLE_BOOTSTRAP; then exit 0 fi +keyfile=/var/lib/fai/config/distro-install-common/luks/host-$HOSTNAME f=$target/root/keyscript cat > $f <$f <<'EOF' +#!/bin/sh +if ! [ -e /tmp/key ]; then + stty -echo + read pass + printf '%s' "$pass" > /tmp/key +fi +cat /tmp/key +EOF chmod +x $f + + +# for hosts which don't have these data volumes, copy the specific +# files we need. +if ifclass demohost; then + files=(/var/lib/fai/config/distro-install-common/luks/host-demohost) +elif ifclass tp; then + files=(/var/lib/fai/config/distro-install-common/luks/host-{tp,demohost}) +fi +if [[ ${files[0]} ]]; then + d=$target/q/root/luks + mkdir -p $d + cp ${files[@]} $d + chmod -R o-rwx $d +fi