Add configure.sh wizard, server checks, KS profile selection, and install improvements #16
@@ -103,6 +103,34 @@ while true; do
|
||||
continue
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Select Kickstart Profile ==="
|
||||
KS_DIR="${SCRIPTDIR}/../ks_base_profiles"
|
||||
KS_DEST="${SCRIPTDIR}/../ks.cfg"
|
||||
|
||||
mapfile -t KS_FILES < <(find "$KS_DIR" -maxdepth 1 -name "*.cfg" | sort)
|
||||
if [[ ${#KS_FILES[@]} -eq 0 ]]; then
|
||||
echo "No kickstart profiles found in ${KS_DIR}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
for i in "${!KS_FILES[@]}"; do
|
||||
desc=$(awk '/^$/{exit} {print}' "${KS_FILES[$i]}" \
|
||||
| sed 's/^#[[:space:]]*//' | tr '\n' ' ' | xargs)
|
||||
printf " %d) %-36s %s\n" "$((i+1))" "$(basename "${KS_FILES[$i]}")" "$desc"
|
||||
done
|
||||
echo ""
|
||||
|
||||
while true; do
|
||||
read -rp "Select profile [1-${#KS_FILES[@]}]: " sel
|
||||
[[ "$sel" =~ ^[0-9]+$ ]] && (( sel >= 1 && sel <= ${#KS_FILES[@]} )) && break
|
||||
echo " Invalid selection, please enter a number between 1 and ${#KS_FILES[@]}."
|
||||
done
|
||||
|
||||
cp "${KS_FILES[$((sel-1))]}" "$KS_DEST"
|
||||
echo "Copied '$(basename "${KS_FILES[$((sel-1))]}")' to ${KS_DEST}."
|
||||
|
||||
echo ""
|
||||
echo "=== Configuration complete ==="
|
||||
echo "All values have been configured and verified successfully."
|
||||
|
||||
Reference in New Issue
Block a user